<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>포도빛잇(IT)</title>
    <link>https://phodobit.kr/</link>
    <description>포도빛의 잇(IT)생활을 담은 블로그입니다~!</description>
    <language>ko</language>
    <pubDate>Wed, 8 Apr 2026 05:11:34 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>포도빛</managingEditor>
    <image>
      <title>포도빛잇(IT)</title>
      <url>https://tistory1.daumcdn.net/tistory/439827/attach/3667711ab0e94071b01335cf6dac23d3</url>
      <link>https://phodobit.kr</link>
    </image>
    <item>
      <title>Miniflux - Self-hosted RSS Reader</title>
      <link>https://phodobit.kr/82</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;개인적으로 RSS 피드를 뭉쳐서 보려고 찾아본 것&lt;/p&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;a href=&quot;https://miniflux.app/index.html&quot;&gt;https://miniflux.app/index.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1656769650597&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;Miniflux - Minimalist and Opinionated Feed Reader&quot; data-og-description=&quot;Miniflux Miniflux is a minimalist and opinionated feed reader.&quot; data-og-host=&quot;miniflux.app&quot; data-og-source-url=&quot;https://miniflux.app/index.html&quot; data-og-url=&quot;https://miniflux.app/index.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/q8ZzJ/hyOW5rx9oM/Q9I5pFEqIb7Uaaw0uFL5Ek/img.png?width=756&amp;amp;height=483&amp;amp;face=0_0_756_483&quot;&gt;&lt;a href=&quot;https://miniflux.app/index.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://miniflux.app/index.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/q8ZzJ/hyOW5rx9oM/Q9I5pFEqIb7Uaaw0uFL5Ek/img.png?width=756&amp;amp;height=483&amp;amp;face=0_0_756_483');&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;Miniflux - Minimalist and Opinionated Feed Reader&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Miniflux Miniflux is a minimalist and opinionated feed reader.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;miniflux.app&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>정보</category>
      <category>RSS</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/82</guid>
      <comments>https://phodobit.kr/82#entry82comment</comments>
      <pubDate>Sat, 2 Jul 2022 22:47:38 +0900</pubDate>
    </item>
    <item>
      <title>[ML.NET] CLI 설치하고 감정 분석 튜토리얼 따라하기</title>
      <link>https://phodobit.kr/81</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이번에는 마이크로소프트 ML.NET을 사용해보고자 공식 문서에 있는 튜토리얼을 따라해보고자 한다.&lt;/p&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;s&gt;참고로 나는 인공지능, 머신러닝에 대해 아무것도 모른다...&lt;/s&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;사전 요구사항&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. dotNET 6 SDK&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dotnet.microsoft.com/en-us/download/dotnet/6.0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://dotnet.microsoft.com/en-us/download/dotnet/6.0&lt;/a&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. Visual Studio 2022 이상&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CLI를 사용할 것이기 때문에 Visual Studio는 설치하지 않을 것이다.&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;.NET 6 SDK를 설치했다면 아래 명령을 입력해본다.&lt;/p&gt;
&lt;pre id=&quot;code_1655212133200&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;dotnet --info&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;pre id=&quot;code_1655212182969&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;.NET SDK(global.json 반영):
 Version:   6.0.201
 Commit:    ef40e6aa06

런타임 환경:
 OS Name:     Windows
 OS Version:  10.0.22000
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\6.0.201\

... 생략 ...&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;ML.NET CLI 설치&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ML.NET CLI를 설치하기 위해 아래 명령중 PC에 해당하는 아키텍처의 설치 명령어를 입력한다.&lt;/p&gt;
&lt;pre id=&quot;code_1655212318474&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 윈도우 64비트
dotnet tool install --global mlnet-win-x64

# 윈도우 ARM 64비트
dotnet tool install --global mlnet-win-arm64

# 맥 64비트
dotnet tool install --global mlnet-osx-x64

# 맥 ARM 64비트
dotnet tool install --global mlnet-osx-arm64

# 리눅스 64비트
dotnet tool install --global mlnet-linux-x64

# 리눅스 ARM 64비트
dotnet tool install --global mlnet-linux-arm64&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;pre id=&quot;code_1655212466590&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;.NET 6.0을(를) 시작합니다.
---------------------
SDK 버전: 6.0.201

... 중략 ...
... 설치하는데 시간이 다소 걸린다 ...

다음 명령을 사용하여 도구를 호출할 수 있습니다. mlnet
'mlnet-win-x64' 도구('16.13.6' 버전)가 설치되었습니다.&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;위 메시지대로 mlnet 명령이 환경변수에 등록된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 명령어를 입력해본다. 잘 설치되었다면 설치된 ML.NET의 버전이 아래와 같이 표시된다.&lt;/p&gt;
&lt;pre id=&quot;code_1655212660157&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt; 명령어 &amp;gt;
mlnet --version

&amp;lt; 출력 &amp;gt;
16.13.6+705076eb10e594cfe27d1539a1c3f9aaae712a25&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;감정 분석 튜토리얼&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;데이터세트 준비&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 데이터세트(DataSet)을 다운로드 받아 압축을 해제한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;http://archive.ics.uci.edu/ml/machine-learning-databases/00331/sentiment%20labelled%20sentences.zip&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;http://archive.ics.uci.edu/ml/machine-learning-databases/00331/sentiment%20labelled%20sentences.zip&lt;/a&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;The UCI Sentiment Labeled Sentences dataset zip file&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;압축을 해제하면 여러가지 텍스트 파일이 있는데 이 중 &lt;i&gt;&quot;yelp_labelled.txt&quot;&lt;/i&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-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;439&quot; data-origin-height=&quot;86&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmFO3I/btrELkM19FM/Fxv6EHkzS0tqzJl6HN8qk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmFO3I/btrELkM19FM/Fxv6EHkzS0tqzJl6HN8qk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmFO3I/btrELkM19FM/Fxv6EHkzS0tqzJl6HN8qk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmFO3I%2FbtrELkM19FM%2FFxv6EHkzS0tqzJl6HN8qk0%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;439&quot; height=&quot;86&quot; data-origin-width=&quot;439&quot; data-origin-height=&quot;86&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 라인별로 &quot;문장{\t}숫자&quot;로 구성되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;숫자 중 1은 긍정, 0은 부정을 의미하고 앞의 문장이 긍정인지 부정인지 나타내는 데이터세트이다.&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;h4 data-ke-size=&quot;size20&quot;&gt;분류 학습&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&quot;yelp_labelled.txt&quot;&lt;/i&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;파일이 있는 디렉토리로 이동하고, 분류 학습을 진행한다. 다음과 같이 명령어를 입력한다.&lt;/p&gt;
&lt;pre id=&quot;code_1655213344257&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mlnet classification --dataset &quot;yelp_labelled.txt&quot; --label-col 1 --has-header false --train-time 60&lt;/code&gt;&lt;/pre&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;60초동안 학습이 진행된 후 아래와 같이 출력된다.&lt;/p&gt;
&lt;pre id=&quot;code_1655213512026&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Start Training
start nni training
Experiment output folder: C:\Users\js\AppData\Local\Temp\AutoML-NNI\Experiment-20PGAU
|     Trainer                              MicroAccuracy  MacroAccuracy  Duration #Iteration                     |
|0    SdcaMaximumEntropyMulti                     0.5153         0.5000       1.2          0                     |
|1    FastTreeOva                                 0.6654         0.6655       2.1          1                     |
|2    FastForestOva                               0.7263         0.7261       2.7          2                     |
... 중략 ...
------------------------------------------------------------------------------------------------------------------
|                                              Top 5 models explored                                             |
------------------------------------------------------------------------------------------------------------------
|     Trainer                              MicroAccuracy  MacroAccuracy  Duration #Iteration                     |
|9    LbfgsMaximumEntropyMulti                    0.8274         0.8267       0.5          9                     |
... 중략 ...
------------------------------------------------------------------------------------------------------------------

save SampleClassification.mbconfig to C:\Temp\sentiment labelled sentences\SampleClassification
해당 위치의 최적 파이프라인에 대한 콘솔 프로젝트를 생성하는 중 : C:\Temp\sentiment labelled sentences\SampleClassification&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 프로젝트가 생성되었다는 메시지와 함께 mlnet이 종료된다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;생성된 프로젝트 사용&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로젝트가 생성된 디렉토리로 이동해보면 아래와 같은 파일이 준비되어 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;273&quot; data-origin-height=&quot;222&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rQRuH/btrELTWxNgP/T6qcYEpkulB4SwOLYxze9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rQRuH/btrELTWxNgP/T6qcYEpkulB4SwOLYxze9k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rQRuH/btrELTWxNgP/T6qcYEpkulB4SwOLYxze9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrQRuH%2FbtrELTWxNgP%2FT6qcYEpkulB4SwOLYxze9k%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;273&quot; height=&quot;222&quot; data-origin-width=&quot;273&quot; data-origin-height=&quot;222&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;이중 &quot;.csproj&quot;의 이름을 변경해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;파일 이름이 없기 때문에 이름을 넣어주면 된다. 이름은 자유롭게 지정한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;- dotnet에서는 프로젝트 파일이 이름이 곧 프로젝트 이름이다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1655213846294&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 윈도우
ren .csproj first.csproj

# 리눅스
mv .csproj first.csproj&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 복원 과정에서 필요한 의존성을 설치하게 된다. (Microsoft.ML)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 빌드 과정에서 restore를 먼저 해줄 때도 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1655213955689&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;dotnet restore
dotnet build&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;/p&gt;
&lt;pre id=&quot;code_1655214078799&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;C:\Temp\sentiment labelled sentences\SampleClassification&amp;gt;dotnet restore
  복원할 프로젝트를 확인하는 중...
  C:\Temp\sentiment labelled sentences\SampleClassification\first.csproj을(를) 10.02 sec 동안 복원했습니다.

C:\Temp\sentiment labelled sentences\SampleClassification&amp;gt;dotnet build
.NET용 Microsoft (R) Build Engine 버전 17.1.0+ae57d105c
Copyright (C) Microsoft Corporation. All rights reserved.

  복원할 프로젝트를 확인하는 중...
  복원할 모든 프로젝트가 최신 상태입니다.
  first -&amp;gt; C:\Temp\sentiment labelled sentences\SampleClassification\bin\Debug\net6.0\first.dll

빌드했습니다.
    경고 0개
    오류 0개

경과 시간: 00:00:03.49&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;pre id=&quot;code_1655214170066&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;C:\Temp\sentiment labelled sentences\SampleClassification&amp;gt;.\bin\Debug\net6.0\first.exe
Using model to make single prediction -- Comparing actual Col1 with predicted Col1 from sample data...

Col0: Wow... Loved this place.
Col1: 1

Predicted Col1: 1

=============== End of process, hit any key to finish ===============&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;i&gt;&quot;Predicted Col1: 1&quot;&lt;/i&gt;만 보면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;샘플 문장 &quot;Wow... Loved this place.&quot;는 긍정적인 문장으로 분류된 것이다.&lt;/p&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;프로젝트 폴더의 &quot;Program.cs&quot;를 열어준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;895&quot; data-origin-height=&quot;517&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvz8zf/btrEPPq3AmV/9tq7t2sP9TUROqYJrjYgAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvz8zf/btrEPPq3AmV/9tq7t2sP9TUROqYJrjYgAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvz8zf/btrEPPq3AmV/9tq7t2sP9TUROqYJrjYgAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcvz8zf%2FbtrEPPq3AmV%2F9tq7t2sP9TUROqYJrjYgAk%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;895&quot; height=&quot;517&quot; data-origin-width=&quot;895&quot; data-origin-height=&quot;517&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소스코드 중 위와 같이 ModelInput 객체에 예문을 직접 입력해주고, 아래 불필요한 출력은 주석처리 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 사진의 예문은 &lt;i&gt;&quot;I am working hard.&quot;&lt;/i&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;pre id=&quot;code_1655214524264&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;C:\Temp\sentiment labelled sentences\SampleClassification&amp;gt;dotnet build
.NET용 Microsoft (R) Build Engine 버전 17.1.0+ae57d105c
Copyright (C) Microsoft Corporation. All rights reserved.

  복원할 프로젝트를 확인하는 중...
  복원할 모든 프로젝트가 최신 상태입니다.
  first -&amp;gt; C:\Temp\sentiment labelled sentences\SampleClassification\bin\Debug\net6.0\first.dll

빌드했습니다.
    경고 0개
    오류 0개

경과 시간: 00:00:00.90

C:\Temp\sentiment labelled sentences\SampleClassification&amp;gt;.\bin\Debug\net6.0\first.exe
Using model to make single prediction -- Comparing actual Col1 with predicted Col1 from sample data...

Predicted Col1: 0

=============== End of process, hit any key to finish ===============&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;i&gt;&quot;I am working hard.&quot;&lt;/i&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;table style=&quot;border-collapse: collapse; width: 100%; height: 91px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;I'm&amp;nbsp;interested&amp;nbsp;in&amp;nbsp;ML.NET.&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;부정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;I&amp;nbsp;bought&amp;nbsp;iPhone&amp;nbsp;13&amp;nbsp;yesterday.&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;긍정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;I&amp;nbsp;lost&amp;nbsp;mobile&amp;nbsp;phone.&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;부정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;I did it.&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;부정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;I&amp;nbsp;did&amp;nbsp;it!&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;긍정&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래에 공식 문서 링크를 남겨두었으니 자세한 정보와 활용 방법에 대해서는 공식 문서를 참고해보자.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;참고 자료&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마이크로소프트 공식 문서 - ML.NET CLI 설치&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/install-ml-net-cli?tabs=windows&quot;&gt;https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/install-ml-net-cli?tabs=windows&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1655211933403&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;How to install the ML.NET Command-Line Interface (CLI) tool - ML.NET&quot; data-og-description=&quot;Learn how to install, upgrade, downgrade, and uninstall the ML.NET Command-Line Interface (CLI) tool.&quot; data-og-host=&quot;docs.microsoft.com&quot; data-og-source-url=&quot;https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/install-ml-net-cli?tabs=windows&quot; data-og-url=&quot;https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/install-ml-net-cli&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/sihwM/hyOLbLL3Q0/FtgVV7gKa354jNyEvCPfz0/img.png?width=271&amp;amp;height=208&amp;amp;face=0_0_271_208&quot;&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/install-ml-net-cli?tabs=windows&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/install-ml-net-cli?tabs=windows&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/sihwM/hyOLbLL3Q0/FtgVV7gKa354jNyEvCPfz0/img.png?width=271&amp;amp;height=208&amp;amp;face=0_0_271_208');&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;How to install the ML.NET Command-Line Interface (CLI) tool - ML.NET&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Learn how to install, upgrade, downgrade, and uninstall the ML.NET Command-Line Interface (CLI) tool.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;docs.microsoft.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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마이크로소프트 공식 문서 - ML.NET CLI를 사용한 감정 분석 튜토리얼&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/dotnet/machine-learning/tutorials/sentiment-analysis-cli&quot;&gt;https://docs.microsoft.com/en-us/dotnet/machine-learning/tutorials/sentiment-analysis-cli&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1655212523919&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;Analyze sentiment using the ML.NET CLI - ML.NET&quot; data-og-description=&quot;Automatically generate an ML model and related C# code from a sample dataset&quot; data-og-host=&quot;docs.microsoft.com&quot; data-og-source-url=&quot;https://docs.microsoft.com/en-us/dotnet/machine-learning/tutorials/sentiment-analysis-cli&quot; data-og-url=&quot;https://docs.microsoft.com/en-us/dotnet/machine-learning/tutorials/sentiment-analysis-cli&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cQwDvr/hyOK7vLPZe/NBz5vWynVju0KE0K3M1ht1/img.png?width=271&amp;amp;height=208&amp;amp;face=0_0_271_208,https://scrap.kakaocdn.net/dn/bAxBFj/hyOK5EKyFX/QjIkoopkxgjmNlIYaKVJo0/img.png?width=904&amp;amp;height=484&amp;amp;face=0_0_904_484,https://scrap.kakaocdn.net/dn/oSXuA/hyOLg7ngPh/tl6pHHnPFqluu8wxEKZtQk/img.png?width=1165&amp;amp;height=320&amp;amp;face=0_0_1165_320&quot;&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/dotnet/machine-learning/tutorials/sentiment-analysis-cli&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.microsoft.com/en-us/dotnet/machine-learning/tutorials/sentiment-analysis-cli&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cQwDvr/hyOK7vLPZe/NBz5vWynVju0KE0K3M1ht1/img.png?width=271&amp;amp;height=208&amp;amp;face=0_0_271_208,https://scrap.kakaocdn.net/dn/bAxBFj/hyOK5EKyFX/QjIkoopkxgjmNlIYaKVJo0/img.png?width=904&amp;amp;height=484&amp;amp;face=0_0_904_484,https://scrap.kakaocdn.net/dn/oSXuA/hyOLg7ngPh/tl6pHHnPFqluu8wxEKZtQk/img.png?width=1165&amp;amp;height=320&amp;amp;face=0_0_1165_320');&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;Analyze sentiment using the ML.NET CLI - ML.NET&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Automatically generate an ML model and related C# code from a sample dataset&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;docs.microsoft.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>기술/기타</category>
      <category>ML.NET</category>
      <category>머신러닝</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/81</guid>
      <comments>https://phodobit.kr/81#entry81comment</comments>
      <pubDate>Tue, 14 Jun 2022 22:57:28 +0900</pubDate>
    </item>
    <item>
      <title>Google Code Jam 2022 Qualification Round 결과</title>
      <link>https://phodobit.kr/80</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1460&quot; data-origin-height=&quot;385&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ciEaVM/btrysCrJl4r/MJasMjcAQrE1U0Mk76Ng6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ciEaVM/btrysCrJl4r/MJasMjcAQrE1U0Mk76Ng6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ciEaVM/btrysCrJl4r/MJasMjcAQrE1U0Mk76Ng6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FciEaVM%2FbtrysCrJl4r%2FMJasMjcAQrE1U0Mk76Ng6k%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;1460&quot; height=&quot;385&quot; data-origin-width=&quot;1460&quot; data-origin-height=&quot;385&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;올해도 어김없이 Google Code Jam(구글 코드잼) 2022에 참여하였다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예선전이 이루어졌고 30점을 넘었기에 Round 1로 진출할 수 있게되었다.&lt;/p&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번부터 3번까지는 쉬웠지만, 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;이번 Code Jam 2022 QR을 진행하며 제출한 코드는 아래에서 확인해볼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(4번문제에서 엄청난 시도를....)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://codingcompetitions.withgoogle.com/codejam/submissions/0000000000876ff1/000000000053873c&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://codingcompetitions.withgoogle.com/codejam/submissions/0000000000876ff1/000000000053873c&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649081140943&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;Code Jam - Google&amp;rsquo;s Coding Competitions&quot; data-og-description=&quot;Put your coding skills to the test as you work your way through multiple rounds of algorithmic coding puzzles for the title of Code Jam Champ and 15,000 USD.&quot; data-og-host=&quot;codingcompetitions.withgoogle.com&quot; data-og-source-url=&quot;https://codingcompetitions.withgoogle.com/codejam/submissions/0000000000876ff1/000000000053873c&quot; data-og-url=&quot;https://codingcompetitions.withgoogle.com/codejam/submissions/0000000000876ff1/000000000053873c&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/m5JMs/hyNUvEL6Xs/bvKmcMvzJrR7sxo1K7u1Tk/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://codingcompetitions.withgoogle.com/codejam/submissions/0000000000876ff1/000000000053873c&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://codingcompetitions.withgoogle.com/codejam/submissions/0000000000876ff1/000000000053873c&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/m5JMs/hyNUvEL6Xs/bvKmcMvzJrR7sxo1K7u1Tk/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&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;Code Jam - Google&amp;rsquo;s Coding Competitions&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Put your coding skills to the test as you work your way through multiple rounds of algorithmic coding puzzles for the title of Code Jam Champ and 15,000 USD.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;codingcompetitions.withgoogle.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;또한 Github에도 코드를 올려두었다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/smartse0k/GoogleCodeJam/tree/main/2022&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/smartse0k/GoogleCodeJam/tree/main/2022&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649081230672&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - smartse0k/GoogleCodeJam: Google Code Jam&quot; data-og-description=&quot;Google Code Jam. Contribute to smartse0k/GoogleCodeJam development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/smartse0k/GoogleCodeJam/tree/main/2022&quot; data-og-url=&quot;https://github.com/smartse0k/GoogleCodeJam&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/woOwI/hyNUxWTi2C/bz5rlNqKfXRkJN9fIckyxK/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/smartse0k/GoogleCodeJam/tree/main/2022&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/smartse0k/GoogleCodeJam/tree/main/2022&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/woOwI/hyNUxWTi2C/bz5rlNqKfXRkJN9fIckyxK/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&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;GitHub - smartse0k/GoogleCodeJam: Google Code Jam&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Google Code Jam. Contribute to smartse0k/GoogleCodeJam development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.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>활동</category>
      <category>2022</category>
      <category>codejam</category>
      <category>Google</category>
      <category>구글</category>
      <category>대회</category>
      <category>알고리즘</category>
      <category>코드잼</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/80</guid>
      <comments>https://phodobit.kr/80#entry80comment</comments>
      <pubDate>Mon, 4 Apr 2022 23:08:38 +0900</pubDate>
    </item>
    <item>
      <title>[React] Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.</title>
      <link>https://phodobit.kr/79</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;943&quot; data-origin-height=&quot;553&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wP3dl/btrwk5D5dDi/yU73AS4922Lx7PqEsAkOO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wP3dl/btrwk5D5dDi/yU73AS4922Lx7PqEsAkOO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wP3dl/btrwk5D5dDi/yU73AS4922Lx7PqEsAkOO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwP3dl%2Fbtrwk5D5dDi%2FyU73AS4922Lx7PqEsAkOO0%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;943&quot; height=&quot;553&quot; data-origin-width=&quot;943&quot; data-origin-height=&quot;553&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;React를 하다 이런 에러가 발생했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원인은 컴포넌트 중 어떤 것은 ESM 문법을, 어떤 것은 CJS 문법을 사용해서 그랬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1647611664714&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// ESM(ECMAScript Module)
import X from &quot;x&quot;;

// CJS(CommonJS)
const X = require(&quot;x&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;모든 컴포넌트를 ESM 또는 CJS 문법으로 통일하여 해결하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기술/JavaScript &amp;amp; TypeScript</category>
      <category>react</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/79</guid>
      <comments>https://phodobit.kr/79#entry79comment</comments>
      <pubDate>Fri, 18 Mar 2022 22:56:37 +0900</pubDate>
    </item>
    <item>
      <title>npm으로 code-server 설치</title>
      <link>https://phodobit.kr/78</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;웹 환경에서 VS Code를 사용할 수 있는 code-server를 설치하는 스크립트를 정리하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;환경:&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장치: 라즈베리파이(Raspberry Pi) / Model 3B&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OS: Raspberry Pi OS (64 bit) Lite / Debian 계열&lt;/p&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;[1] 개발환경 설치&lt;/p&gt;
&lt;pre id=&quot;code_1644624616201&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;## 루트 권한이 필요하므로 앞에 sudo를 붙이거나, 루트로 전환 후에 입력한다.

apt update
apt install build-essential pkg-config python3 gcc g++ make libx11-dev libxkbfile-dev libsecret-1-dev python-is-python3&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[2] Node.JS 설치&lt;/p&gt;
&lt;pre id=&quot;code_1644624337955&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;## !!모든 명령어에 sudo가 붙어있으므로 주의!!

## code-server는 Node.js v14 이상을 권장
## nodesource repo를 사용하여 Node.js v14를 설치하도록 한다.
## https://github.com/nodesource/distributions#deb

curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt install nodejs


## 이후 npm 업그레이드.

sudo npm install -g npm&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[3] Dependency 설치&lt;/p&gt;
&lt;pre id=&quot;code_1644624921246&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;## global로 설치하기 때문에 루트 권한이 필요하다. (sudo 붙이거나, 루트에서 작업)

npm install -g yauzl \
               yazl \
               minimist \
               semver-umd \
               applicationinsights \
               @coder/node-browser \
               spdlog \
               xterm \
               xterm-headless \
               native-watchdog \
               vscode-proxy-agent \
               vscode-ripgrep \
               vscode-regexpp&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[4] code-server 설치&lt;/p&gt;
&lt;pre id=&quot;code_1644625048402&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;## 마찬가지로 global로 설치하기 때문에 루트 권한이 필요하다.

npm install -g code-server --unsafe-perm&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[5] 첫 실행.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이어서 6을 진행하기 위해 메시지만 확인하고, 컨트롤 + C를 눌러 종료하도록 한다.&lt;/p&gt;
&lt;pre id=&quot;code_1644625309026&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;code-server

## 실행이 완료되면 아래와 같은 메시지가 출력된다.

[2022-02-12T00:20:52.756Z] info  code-server 4.0.1 735c6da829535969ff7193c79379299e4a1cb9bc
[2022-02-12T00:20:52.768Z] info  Using user-data-dir ~/.local/share/code-server
[2022-02-12T00:20:52.919Z] info  Using config file ~/.config/code-server/config.yaml
[2022-02-12T00:20:52.920Z] info  HTTP server listening on http://127.0.0.1:8080/
[2022-02-12T00:20:52.921Z] info    - Authentication is enabled
[2022-02-12T00:20:52.922Z] info      - Using password from ~/.config/code-server/config.yaml
[2022-02-12T00:20:52.922Z] info    - Not serving HTTPS&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[6] config 수정&lt;/p&gt;
&lt;pre id=&quot;code_1644625892017&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;## [5]에서 출력된 메시지 중 &quot;Using config file&quot; 뒤에 이어서 config 파일의 경로가 나온다.
## vi를 사용하던, nano를 사용하던 본인이 편한 것을 사용하면 된다.

nano ~/.config/code-server/config.yaml


## 기본 내용은 다음과 같다.

bind-addr: 127.0.0.1:8080
auth: password
password: ~~~~~~~~~~~~~~~~~~
cert: false&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1644625909736&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;## 다른 PC에서 접근해야한다면 bind-addr를 수정한다.
bind-addr: 0.0.0.0:8080


## password가 복잡하므로 적절히 변경한다.
password: myvscode


## 다른 옵션은 공식 문서를 참고하여 바꾸도록 한다.
## 최종 config

bind-addr: 0.0.0.0:8080
auth: password
password: myvscode
cert: 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;&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;[7] 다시 code-server를 실행&lt;/p&gt;
&lt;pre id=&quot;code_1644625975984&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;code-server

## 이후 출력 메시지

[2022-02-12T00:32:44.749Z] info  code-server 4.0.1 735c6da829535969ff7193c79379299e4a1cb9bc
[2022-02-12T00:32:44.761Z] info  Using user-data-dir ~/.local/share/code-server
[2022-02-12T00:32:44.907Z] info  Using config file ~/.config/code-server/config.yaml
[2022-02-12T00:32:44.908Z] info  HTTP server listening on http://0.0.0.0:8080/
[2022-02-12T00:32:44.910Z] info    - Authentication is enabled
[2022-02-12T00:32:44.910Z] info      - Using password from ~/.config/code-server/config.yaml
[2022-02-12T00:32:44.911Z] info    - Not serving HTTPS&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[8]&amp;nbsp;브라우저 주소 입력 란에 http://IP주소:8080 을 입력하여 접속 및 로그인&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- config에서 bind-addr에 명시된 포트 번호(기본 8080)를 바꾼 경우 맞춰서 접속해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- config에서 password에 명시된 비밀번호를 입력한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;639&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5WcmK/btrs9LfYCAN/yCiTK4D7Wx64XZWP9sWTKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5WcmK/btrs9LfYCAN/yCiTK4D7Wx64XZWP9sWTKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5WcmK/btrs9LfYCAN/yCiTK4D7Wx64XZWP9sWTKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5WcmK%2Fbtrs9LfYCAN%2FyCiTK4D7Wx64XZWP9sWTKk%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;990&quot; height=&quot;639&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;639&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;[9] 첫 화면 등장!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;639&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2snsi/btrs9iyizRY/N82ithR9nNXInWJvas2Vs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2snsi/btrs9iyizRY/N82ithR9nNXInWJvas2Vs1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2snsi/btrs9iyizRY/N82ithR9nNXInWJvas2Vs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2snsi%2Fbtrs9iyizRY%2FN82ithR9nNXInWJvas2Vs1%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;990&quot; height=&quot;639&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;639&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;[10] 코딩을 해보고 결과를 본다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;513&quot; data-origin-height=&quot;77&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BJKLR/btrtakvSxmj/K5pJlkQXNsCkm7bUzjHGO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BJKLR/btrtakvSxmj/K5pJlkQXNsCkm7bUzjHGO0/img.png&quot; data-alt=&quot;새 파일 만들기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BJKLR/btrtakvSxmj/K5pJlkQXNsCkm7bUzjHGO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBJKLR%2FbtrtakvSxmj%2FK5pJlkQXNsCkm7bUzjHGO0%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;513&quot; height=&quot;77&quot; data-origin-width=&quot;513&quot; data-origin-height=&quot;77&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;517&quot; data-origin-height=&quot;208&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIyZUu/btrs71DPhUa/8V5Kad6UK59Tg5uYXnR3g1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIyZUu/btrs71DPhUa/8V5Kad6UK59Tg5uYXnR3g1/img.png&quot; data-alt=&quot;터미널 열기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIyZUu/btrs71DPhUa/8V5Kad6UK59Tg5uYXnR3g1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIyZUu%2Fbtrs71DPhUa%2F8V5Kad6UK59Tg5uYXnR3g1%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;517&quot; height=&quot;208&quot; data-origin-width=&quot;517&quot; data-origin-height=&quot;208&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;639&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Fl3FB/btrs9irxgHB/i50Hk139IPFKYnCg3jlCH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Fl3FB/btrs9irxgHB/i50Hk139IPFKYnCg3jlCH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Fl3FB/btrs9irxgHB/i50Hk139IPFKYnCg3jlCH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFl3FB%2Fbtrs9irxgHB%2Fi50Hk139IPFKYnCg3jlCH0%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;990&quot; height=&quot;639&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;639&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;끝!&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;h4 data-ke-size=&quot;size20&quot;&gt;참고자료&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;code-server github 저장소&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/coder/code-server&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/coder/code-server&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1644624135866&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - coder/code-server: VS Code in the browser&quot; data-og-description=&quot;VS Code in the browser. Contribute to coder/code-server development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/coder/code-server&quot; data-og-url=&quot;https://github.com/coder/code-server&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/7kWDh/hyNn5MHJZr/NkaKmVZQkP6378H8fQNTHk/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/coder/code-server&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/coder/code-server&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/7kWDh/hyNn5MHJZr/NkaKmVZQkP6378H8fQNTHk/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&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;GitHub - coder/code-server: VS Code in the browser&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;VS Code in the browser. Contribute to coder/code-server development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.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;code-server 공식 설치 문서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://coder.com/docs/code-server/latest/install#yarn-npm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://coder.com/docs/code-server/latest/install#yarn-npm&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1644624215378&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;Install - code-server v4.0.2 docs&quot; data-og-description=&quot;How to install code-server.&quot; data-og-host=&quot;coder.com&quot; data-og-source-url=&quot;https://coder.com/docs/code-server/latest/install#yarn-npm&quot; data-og-url=&quot;https://coder.com/docs/code-server/latest/install&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/khAzM/hyNnSfwZzo/mTPnoKKWJLlx0XGjQQLzoK/img.png?width=990&amp;amp;height=520&amp;amp;face=0_0_990_520&quot;&gt;&lt;a href=&quot;https://coder.com/docs/code-server/latest/install#yarn-npm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://coder.com/docs/code-server/latest/install#yarn-npm&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/khAzM/hyNnSfwZzo/mTPnoKKWJLlx0XGjQQLzoK/img.png?width=990&amp;amp;height=520&amp;amp;face=0_0_990_520');&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;Install - code-server v4.0.2 docs&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;How to install code-server.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;coder.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;</description>
      <category>기술/기타</category>
      <category>code-server</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/78</guid>
      <comments>https://phodobit.kr/78#entry78comment</comments>
      <pubDate>Sat, 12 Feb 2022 09:55:56 +0900</pubDate>
    </item>
    <item>
      <title>프론트앤드 컴포넌트 라이브러리</title>
      <link>https://phodobit.kr/77</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;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://getbootstrap.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://getbootstrap.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1643736212769&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;Bootstrap&quot; data-og-description=&quot;The most popular HTML, CSS, and JS library in the world.&quot; data-og-host=&quot;getbootstrap.com&quot; data-og-source-url=&quot;https://getbootstrap.com/&quot; data-og-url=&quot;https://getbootstrap.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bD7gdg/hyNhWBcvMy/Pd96hEoqrBSPVSxLd42mK1/img.png?width=1000&amp;amp;height=500&amp;amp;face=0_0_1000_500,https://scrap.kakaocdn.net/dn/bGpbla/hyNhSS6isy/M1kIT1wbXRO2kQ6VZcuUw1/img.png?width=600&amp;amp;height=600&amp;amp;face=0_0_600_600,https://scrap.kakaocdn.net/dn/bZ7hCb/hyNgbtd8Y6/UnX4SPrAPy06b4RMT0QLkK/img.png?width=700&amp;amp;height=500&amp;amp;face=0_0_700_500&quot;&gt;&lt;a href=&quot;https://getbootstrap.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://getbootstrap.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bD7gdg/hyNhWBcvMy/Pd96hEoqrBSPVSxLd42mK1/img.png?width=1000&amp;amp;height=500&amp;amp;face=0_0_1000_500,https://scrap.kakaocdn.net/dn/bGpbla/hyNhSS6isy/M1kIT1wbXRO2kQ6VZcuUw1/img.png?width=600&amp;amp;height=600&amp;amp;face=0_0_600_600,https://scrap.kakaocdn.net/dn/bZ7hCb/hyNgbtd8Y6/UnX4SPrAPy06b4RMT0QLkK/img.png?width=700&amp;amp;height=500&amp;amp;face=0_0_700_500');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Bootstrap&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The most popular HTML, CSS, and JS library in the world.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;getbootstrap.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;&lt;a href=&quot;https://github.com/mui-org/material-ui&quot;&gt;https://github.com/mui-org/material-ui&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1643736079302&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - mui-org/material-ui: MUI (formerly Material-UI) is the React UI library you always wanted. Follow your own design syste&quot; data-og-description=&quot;MUI (formerly Material-UI) is the React UI library you always wanted. Follow your own design system, or start with Material Design. - GitHub - mui-org/material-ui: MUI (formerly Material-UI) is the...&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/mui-org/material-ui&quot; data-og-url=&quot;https://github.com/mui-org/material-ui&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/nJZXJ/hyNf9oD756/S2xXvL3J2bo0ATiAivV5h0/img.jpg?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640&quot;&gt;&lt;a href=&quot;https://github.com/mui-org/material-ui&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/mui-org/material-ui&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/nJZXJ/hyNf9oD756/S2xXvL3J2bo0ATiAivV5h0/img.jpg?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640');&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;GitHub - mui-org/material-ui: MUI (formerly Material-UI) is the React UI library you always wanted. Follow your own design syste&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;MUI (formerly Material-UI) is the React UI library you always wanted. Follow your own design system, or start with Material Design. - GitHub - mui-org/material-ui: MUI (formerly Material-UI) is the...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://framework7.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://framework7.io/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1643736112710&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;Framework7 - Full Featured Framework For Building iOS, Android &amp;amp; Desktop Apps&quot; data-og-description=&quot;Build full featured iOS, Android &amp;amp; Desktop apps&quot; data-og-host=&quot;framework7.io&quot; data-og-source-url=&quot;https://framework7.io/&quot; data-og-url=&quot;https://framework7.io/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wqgIf/hyNgh1g34r/EZLeiBF7RA0kRDK4wCuNvk/img.jpg?width=1400&amp;amp;height=800&amp;amp;face=0_0_1400_800,https://scrap.kakaocdn.net/dn/yvIig/hyNggBjMXs/XOoZRrkOdbQnoyHNGvmhoK/img.jpg?width=1400&amp;amp;height=800&amp;amp;face=0_0_1400_800&quot;&gt;&lt;a href=&quot;https://framework7.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://framework7.io/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wqgIf/hyNgh1g34r/EZLeiBF7RA0kRDK4wCuNvk/img.jpg?width=1400&amp;amp;height=800&amp;amp;face=0_0_1400_800,https://scrap.kakaocdn.net/dn/yvIig/hyNggBjMXs/XOoZRrkOdbQnoyHNGvmhoK/img.jpg?width=1400&amp;amp;height=800&amp;amp;face=0_0_1400_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;Framework7 - Full Featured Framework For Building iOS, Android &amp;amp; Desktop Apps&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Build full featured iOS, Android &amp;amp; Desktop apps&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;framework7.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기술/FE (HTML &amp;amp; CSS)</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/77</guid>
      <comments>https://phodobit.kr/77#entry77comment</comments>
      <pubDate>Wed, 2 Feb 2022 02:23:37 +0900</pubDate>
    </item>
    <item>
      <title>비주얼 스튜디오 인풋렉을 줄이고 싶다.</title>
      <link>https://phodobit.kr/76</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Visual Studio IDE의 에디터는 키보드를 누르는 순간부터 화면에 텍스트가 뿌려지는데까지 미세한 지연이 있어보인다. (10ms 아래겠지만)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하도 Visual Studio Code를 많이 써서 그런지 오랜만에 VS를 사용하면 심하게 체감되는데 강력한것도 좋지만... 너무 강력한 나머지 불평불만을 늘여놓게 되었다...&lt;/p&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>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/76</guid>
      <comments>https://phodobit.kr/76#entry76comment</comments>
      <pubDate>Wed, 2 Feb 2022 01:59:53 +0900</pubDate>
    </item>
    <item>
      <title>2021년 구글 알고리즘 대회(Code Jam, Hash Code) 참가!</title>
      <link>https://phodobit.kr/74</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;Code Jam과 Hash Code 모두 예선에서 떨어져버렸습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내년에는 반드시 Code Jam Round 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;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;1060&quot; data-origin-height=&quot;679&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XJUUQ/btreHSPbRxS/5RQ6Hz6Zkrk0haF12HKJ4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XJUUQ/btreHSPbRxS/5RQ6Hz6Zkrk0haF12HKJ4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XJUUQ/btreHSPbRxS/5RQ6Hz6Zkrk0haF12HKJ4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXJUUQ%2FbtreHSPbRxS%2F5RQ6Hz6Zkrk0haF12HKJ4k%2Fimg.png&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;679&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1111&quot; data-origin-height=&quot;674&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qW9mw/btreHShmxtu/MxeqCXrBJ7CVBaPvhigPh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qW9mw/btreHShmxtu/MxeqCXrBJ7CVBaPvhigPh1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qW9mw/btreHShmxtu/MxeqCXrBJ7CVBaPvhigPh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqW9mw%2FbtreHShmxtu%2FMxeqCXrBJ7CVBaPvhigPh1%2Fimg.png&quot; data-origin-width=&quot;1111&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;</description>
      <category>활동</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/74</guid>
      <comments>https://phodobit.kr/74#entry74comment</comments>
      <pubDate>Fri, 10 Sep 2021 18:48:25 +0900</pubDate>
    </item>
    <item>
      <title>[짧은 게임 평가] 월즈 엔드 클럽</title>
      <link>https://phodobit.kr/73</link>
      <description>&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/UkOmd/btq9jvjMqmh/PQWGznj7pIr2oGnnHPRgEk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UkOmd/btq9jvjMqmh/PQWGznj7pIr2oGnnHPRgEk/img.jpg&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;640&quot; style=&quot;width: 51.3498%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UkOmd/btq9jvjMqmh/PQWGznj7pIr2oGnnHPRgEk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUkOmd%2Fbtq9jvjMqmh%2FPQWGznj7pIr2oGnnHPRgEk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;640&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0p8jQ/btq9juLYqqm/FB1l0KjiCSoybkUSpo83m1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0p8jQ/btq9juLYqqm/FB1l0KjiCSoybkUSpo83m1/img.jpg&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;811&quot; style=&quot;width: 47.4874%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0p8jQ/btq9juLYqqm/FB1l0KjiCSoybkUSpo83m1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0p8jQ%2Fbtq9juLYqqm%2FFB1l0KjiCSoybkUSpo83m1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;750&quot; height=&quot;811&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;바닐라는 프로그래머다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;장르&lt;/h3&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;h3 data-ke-size=&quot;size23&quot;&gt;플랫폼&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;NS&lt;/p&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;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://deathmarchclub.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://deathmarchclub.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1626042376558&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;ワールズエンドクラブ公式サイト&quot; data-og-description=&quot;ワールズエンドクラブ公式サイトです。&quot; data-og-host=&quot;deathmarchclub.com&quot; data-og-source-url=&quot;https://deathmarchclub.com/&quot; data-og-url=&quot;https://deathmarchclub.com&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bfoeWN/hyKQm5irOM/JS8vNgrMjIpKJ5Mru5SMN0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/fn2ye/hyKRPLxdNi/QGaR9jNjGcUCxIKklI7TVK/img.png?width=1600&amp;amp;height=600&amp;amp;face=0_0_1600_600,https://scrap.kakaocdn.net/dn/cHd4W3/hyKRJLkm93/iIFZSVleecODYoeuFBGQIk/img.jpg?width=1012&amp;amp;height=506&amp;amp;face=0_0_1012_506&quot;&gt;&lt;a href=&quot;https://deathmarchclub.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://deathmarchclub.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bfoeWN/hyKQm5irOM/JS8vNgrMjIpKJ5Mru5SMN0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/fn2ye/hyKRPLxdNi/QGaR9jNjGcUCxIKklI7TVK/img.png?width=1600&amp;amp;height=600&amp;amp;face=0_0_1600_600,https://scrap.kakaocdn.net/dn/cHd4W3/hyKRJLkm93/iIFZSVleecODYoeuFBGQIk/img.jpg?width=1012&amp;amp;height=506&amp;amp;face=0_0_1012_506');&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;ワールズエンドクラブ公式サイト&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;deathmarchclub.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;h3 data-ke-size=&quot;size23&quot;&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;br /&gt;- 어린이용 단간론파 또는 그냥 어린이용 게임이라고 평가 하시는 분들이 많다.&lt;br /&gt;- 나는 단간론파를 안 해보았다. 스팀으로 1, 2, 3 모두 구매는 했는데...&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;br /&gt;- 물론 자막도 품질이 나쁘진 않지만, 때때로 직역이 되었으면 더 좋지 않았을까 하는 생각이 있음&lt;/li&gt;
&lt;li&gt;3D 그래픽은 깔끔하지만 동작(모션)의 퀄리티가 높지 않음&lt;/li&gt;
&lt;li&gt;유치함 (유치한거 좋아함)&lt;/li&gt;
&lt;li&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;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;652&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mOgHg/btq9iA7mdyi/AUG15rLy8csk2JGFXge1Y0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mOgHg/btq9iA7mdyi/AUG15rLy8csk2JGFXge1Y0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mOgHg/btq9iA7mdyi/AUG15rLy8csk2JGFXge1Y0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmOgHg%2Fbtq9iA7mdyi%2FAUG15rLy8csk2JGFXge1Y0%2Fimg.png&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;652&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;</description>
      <category>게임</category>
      <category>월즈 엔드 클럽</category>
      <category>짧은 게임 평가</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/73</guid>
      <comments>https://phodobit.kr/73#entry73comment</comments>
      <pubDate>Mon, 12 Jul 2021 07:45:34 +0900</pubDate>
    </item>
    <item>
      <title>라즈베리파이 OS에서 무선랜 지역을 변경하는 방법 (Wi-Fi/무선 인터넷/와이파이)가 검색되지 않는 경우)</title>
      <link>https://phodobit.kr/70</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;지난 시간에 라즈베리파이 OS를 설치하면서 Wi-Fi AP 목록이 나타나지 않는 현상이 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;원인은 바로 지역 설정을 한국으로 했기 때문에 라즈베리파이가 올바른 주파수 대역을 찾지 못하는 것이다.&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;size18&quot;&gt;먼저 라즈베리파이의 터미널을 열고(Terminal),&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래의 명령어를 입력해준다. (라즈베리파이 설정)&lt;/p&gt;
&lt;pre id=&quot;code_1626026181070&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sudo raspi-config&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래와 같은 화면을 볼 수 있을 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clyJQA/btq9gznHE4A/izxzbpEGBdunhYFTIA6b61/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clyJQA/btq9gznHE4A/izxzbpEGBdunhYFTIA6b61/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clyJQA/btq9gznHE4A/izxzbpEGBdunhYFTIA6b61/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclyJQA%2Fbtq9gznHE4A%2FizxzbpEGBdunhYFTIA6b61%2Fimg.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;키보드 방향키를 사용하여 [Localisation Options]로 이동한 다음 엔터를 누른다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;677&quot; data-origin-height=&quot;469&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnfIKU/btq9gAtmTEg/flwDV4oxqWhsskIWY817m0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnfIKU/btq9gAtmTEg/flwDV4oxqWhsskIWY817m0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnfIKU/btq9gAtmTEg/flwDV4oxqWhsskIWY817m0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnfIKU%2Fbtq9gAtmTEg%2FflwDV4oxqWhsskIWY817m0%2Fimg.png&quot; data-origin-width=&quot;677&quot; data-origin-height=&quot;469&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 다음은 [WLAN Country]로 이동하고 엔터를 누른다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;673&quot; data-origin-height=&quot;461&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IUjyp/btq9iA7hM8x/jIo7HfCKh4P7phCOUxbPV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IUjyp/btq9iA7hM8x/jIo7HfCKh4P7phCOUxbPV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IUjyp/btq9iA7hM8x/jIo7HfCKh4P7phCOUxbPV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIUjyp%2Fbtq9iA7hM8x%2FjIo7HfCKh4P7phCOUxbPV1%2Fimg.png&quot; data-origin-width=&quot;673&quot; data-origin-height=&quot;461&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;수 많은 지역 중 [US / United States]까지 이동 후 키보드의 [탭 / Tab]키를 눌러 커서를 아래의 [확인]에 두고 엔터를 누른다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;464&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PMd2L/btq9nDV0Mlo/LmYDJpBSf9aIUvV9PZuUK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PMd2L/btq9nDV0Mlo/LmYDJpBSf9aIUvV9PZuUK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PMd2L/btq9nDV0Mlo/LmYDJpBSf9aIUvV9PZuUK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPMd2L%2Fbtq9nDV0Mlo%2FLmYDJpBSf9aIUvV9PZuUK0%2Fimg.png&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;464&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설정을 마치면 초기 화면으로 돌아가는데 터미널을 닫아준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 다시 네트워크 아이콘을 클릭해보면...&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;정상적으로 나타나는 것을 확인할 수 있다.&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/x9cem/btq9gBlxGI2/BBKNXxk0bC0EoEuh0zLr70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x9cem/btq9gBlxGI2/BBKNXxk0bC0EoEuh0zLr70/img.png&quot; data-origin-width=&quot;340&quot; data-origin-height=&quot;227&quot; style=&quot;width: 42.0113%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x9cem/btq9gBlxGI2/BBKNXxk0bC0EoEuh0zLr70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx9cem%2Fbtq9gBlxGI2%2FBBKNXxk0bC0EoEuh0zLr70%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;340&quot; height=&quot;227&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/D45Mx/btq9kQBLrnL/9p4WirmcxVbhhdKUkCv7kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/D45Mx/btq9kQBLrnL/9p4WirmcxVbhhdKUkCv7kk/img.png&quot; data-origin-width=&quot;312&quot; data-origin-height=&quot;154&quot; style=&quot;width: 56.8259%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/D45Mx/btq9kQBLrnL/9p4WirmcxVbhhdKUkCv7kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FD45Mx%2Fbtq9kQBLrnL%2F9p4WirmcxVbhhdKUkCv7kk%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;312&quot; height=&quot;154&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;185&quot; data-origin-height=&quot;43&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nGgRB/btq9kQV8v8z/DETwrUboG1Q3ff0JlXRAEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nGgRB/btq9kQV8v8z/DETwrUboG1Q3ff0JlXRAEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nGgRB/btq9kQV8v8z/DETwrUboG1Q3ff0JlXRAEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnGgRB%2Fbtq9kQV8v8z%2FDETwrUboG1Q3ff0JlXRAEK%2Fimg.png&quot; data-origin-width=&quot;185&quot; data-origin-height=&quot;43&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약, 이 작업을 하여도 AP 목록이 나타나지 않는다면 공유기 설정에서도 국가와 채널을 라즈베리파이가 지원하는 주파수에 맞게 변경해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기술/기타</category>
      <category>Raspberry Pi</category>
      <category>WiFi</category>
      <category>Wireless</category>
      <category>라즈베리파이</category>
      <category>무선 인터넷</category>
      <category>와이파이</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/70</guid>
      <comments>https://phodobit.kr/70#entry70comment</comments>
      <pubDate>Mon, 12 Jul 2021 03:03:50 +0900</pubDate>
    </item>
    <item>
      <title>라즈베리파이 OS에 한글 폰트 설치 (글자가 사각형/네모/ㅁ로 나올 때)</title>
      <link>https://phodobit.kr/69</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjnfSr/btq9iBymE1R/GalcGVX1aOGE6VRj2WggE0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjnfSr/btq9iBymE1R/GalcGVX1aOGE6VRj2WggE0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjnfSr/btq9iBymE1R/GalcGVX1aOGE6VRj2WggE0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjnfSr%2Fbtq9iBymE1R%2FGalcGVX1aOGE6VRj2WggE0%2Fimg.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;지난 시간에 라즈베리파이에 라즈베리파이 OS를 설치한 다음 한국어로 설정 후 재부팅을 하게 되면 사진처럼 한글이 표시되지 않는 현상이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 문제는 라즈베리파이 OS에는 기본적으로 한글 폰트가 존재하지 않기 때문에 사각형에 글자 코드가 나타나게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그렇기 때문에 한글 폰트만 설치해준다면 한글이 잘 표시될 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&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;size18&quot;&gt;라즈베리파이에서 터미널(Termial)을 열고&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;41&quot; data-origin-height=&quot;36&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/F7aw7/btq9iAGdvHD/7xlbiwzrNCSaIoIjeov3pK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/F7aw7/btq9iAGdvHD/7xlbiwzrNCSaIoIjeov3pK/img.png&quot; data-alt=&quot;터미널 아이콘&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/F7aw7/btq9iAGdvHD/7xlbiwzrNCSaIoIjeov3pK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FF7aw7%2Fbtq9iAGdvHD%2F7xlbiwzrNCSaIoIjeov3pK%2Fimg.png&quot; data-origin-width=&quot;41&quot; data-origin-height=&quot;36&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래의 명령어를 입력하고 엔터를 누른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이 명령어는 fonts-unfonts-core를 설치하는 명령어로 패키지를 설치하면 한국어 공용 폰트를 설치하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;자세한 내용은 &lt;a href=&quot;https://packages.debian.org/sid/fonts/fonts-unfonts-core&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;여기(Debian 패키지 정보, &lt;/a&gt;&lt;a href=&quot;https://packages.debian.org/sid/fonts/fonts-unfonts-core&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://packages.debian.org/sid/fonts/fonts-unfonts-core&lt;/a&gt;&lt;a href=&quot;https://packages.debian.org/sid/fonts/fonts-unfonts-core&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;)&lt;/a&gt;를 클릭하여 알아보면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1626025541619&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sudo apt install fonts-unfonts-core&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;438&quot; data-origin-height=&quot;18&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/K4tlV/btq9qltTKBp/WhK5PHKsByVBRFB206Dktk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/K4tlV/btq9qltTKBp/WhK5PHKsByVBRFB206Dktk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/K4tlV/btq9qltTKBp/WhK5PHKsByVBRFB206Dktk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FK4tlV%2Fbtq9qltTKBp%2FWhK5PHKsByVBRFB206Dktk%2Fimg.png&quot; data-origin-width=&quot;438&quot; data-origin-height=&quot;18&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그렇다면 사진처럼 설치가 될 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;642&quot; data-origin-height=&quot;313&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byOF2A/btq9ml2nEFc/UyNpmH406gG6N3Upn3d130/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byOF2A/btq9ml2nEFc/UyNpmH406gG6N3Upn3d130/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byOF2A/btq9ml2nEFc/UyNpmH406gG6N3Upn3d130/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyOF2A%2Fbtq9ml2nEFc%2FUyNpmH406gG6N3Upn3d130%2Fimg.png&quot; data-origin-width=&quot;642&quot; data-origin-height=&quot;313&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 후 재부팅을 해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;명령어로 재부팅 하려면 아래와 같이 입력한다.&lt;/p&gt;
&lt;pre id=&quot;code_1626025733779&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sudo reboot&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 한국어가 잘 표시되는 것을 볼 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bu3Hc7/btq9gSGwVAZ/pk8fFPRJmlypHo7gEYMXC1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bu3Hc7/btq9gSGwVAZ/pk8fFPRJmlypHo7gEYMXC1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bu3Hc7/btq9gSGwVAZ/pk8fFPRJmlypHo7gEYMXC1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbu3Hc7%2Fbtq9gSGwVAZ%2Fpk8fFPRJmlypHo7gEYMXC1%2Fimg.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기술/기타</category>
      <category>font</category>
      <category>Korean</category>
      <category>Raspberry Pi</category>
      <category>라즈베리파이</category>
      <category>폰트</category>
      <category>한글</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/69</guid>
      <comments>https://phodobit.kr/69#entry69comment</comments>
      <pubDate>Mon, 12 Jul 2021 02:49:57 +0900</pubDate>
    </item>
    <item>
      <title>라즈베리파이에 OS(Raspberry Pi OS) 설치하기</title>
      <link>https://phodobit.kr/68</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;오늘은 내가 가지고 있는 라즈베리파이3에 라즈베리파이 OS를 설치해볼 것이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;# 준비물&lt;/h2&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;microSD 카드 (Lite 사용시 4 GB 이상, Desktop 또는 Recommned S/W 사용시 8 GB 이상, 모든 S/W 설치시 16 GB 이상)&lt;/li&gt;
&lt;li&gt;microSD 리더기 (PC와 연결을 위함)&lt;/li&gt;
&lt;li&gt;Micro USB 5 Pin 케이블과 어댑터 (5V 1A 이상, 스마트폰 충전기로 대체 가능)&lt;/li&gt;
&lt;li&gt;HDMI 케이블&lt;/li&gt;
&lt;li&gt;HDMI 지원 모니터&lt;/li&gt;
&lt;li&gt;USB 키보드, 마우스&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;523&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDqChe/btq9eEvn99m/VRZRqqET3Nb2Jx7H6eAR6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDqChe/btq9eEvn99m/VRZRqqET3Nb2Jx7H6eAR6K/img.png&quot; data-alt=&quot;왼쪽부터 충전기, 라즈베리파이, microSD카드, 멀티 리더기, HDMI 케이블&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDqChe/btq9eEvn99m/VRZRqqET3Nb2Jx7H6eAR6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDqChe%2Fbtq9eEvn99m%2FVRZRqqET3Nb2Jx7H6eAR6K%2Fimg.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;523&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;왼쪽부터 충전기, 라즈베리파이, microSD카드, 멀티 리더기, HDMI 케이블&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;# microSD 카드에 OS를 설치하기 위한 Raspberry Pi Imager 설치&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;과거엔 Win32DiskImager라는 툴로 구웠는데 이제는 자체적으로 소프트웨어를 제공한다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://www.raspberrypi.org/software/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.raspberrypi.org/software/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1625871337334&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;Raspberry Pi OS &amp;ndash; Raspberry Pi&quot; data-og-description=&quot;The Raspberry Pi is a tiny and affordable computer that you can use to learn programming through fun, practical projects. Join the global Raspberry Pi community.&quot; data-og-host=&quot;www.raspberrypi.org&quot; data-og-source-url=&quot;https://www.raspberrypi.org/software/&quot; data-og-url=&quot;https://www.raspberrypi.org/software/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/hzpik/hyKPtcl4CO/5bxuaqo7R8BwpYp5FGfIdK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/b15ox4/hyKQxc8u00/wzB3TS9TxGRyjYa5qR3UBK/img.png?width=1500&amp;amp;height=1200&amp;amp;face=0_0_1500_1200,https://scrap.kakaocdn.net/dn/hgpU8/hyKPiaORHQ/xchGIjBOBA5s105Lz2gZp0/img.png?width=900&amp;amp;height=700&amp;amp;face=0_0_900_700&quot;&gt;&lt;a href=&quot;https://www.raspberrypi.org/software/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.raspberrypi.org/software/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/hzpik/hyKPtcl4CO/5bxuaqo7R8BwpYp5FGfIdK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/b15ox4/hyKQxc8u00/wzB3TS9TxGRyjYa5qR3UBK/img.png?width=1500&amp;amp;height=1200&amp;amp;face=0_0_1500_1200,https://scrap.kakaocdn.net/dn/hgpU8/hyKPiaORHQ/xchGIjBOBA5s105Lz2gZp0/img.png?width=900&amp;amp;height=700&amp;amp;face=0_0_900_700');&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;Raspberry Pi OS &amp;ndash; Raspberry Pi&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The Raspberry Pi is a tiny and affordable computer that you can use to learn programming through fun, practical projects. Join the global Raspberry Pi community.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.raspberrypi.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다운로드 페이지에 접속한 다음, [Download for Windows] 버튼을 클릭하여 설치 프로그램을 다운로드 받은 다음에 설치를 해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;물론 맥이나 리눅스 사용자는 그 아래에 있는 옵션을 통해 설치를 해야한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;572&quot; data-origin-height=&quot;544&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIokFT/btq9eNlJt4Z/kTHkSkcFwOhXdyZY9e11H1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIokFT/btq9eNlJt4Z/kTHkSkcFwOhXdyZY9e11H1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIokFT/btq9eNlJt4Z/kTHkSkcFwOhXdyZY9e11H1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIokFT%2Fbtq9eNlJt4Z%2FkTHkSkcFwOhXdyZY9e11H1%2Fimg.png&quot; data-origin-width=&quot;572&quot; data-origin-height=&quot;544&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설치가 완료되면 프로그램이 잘 있는지 확인해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;272&quot; data-origin-height=&quot;120&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lkBLd/btq9dE3q5mc/3cukuJDGSOekQZG1e3w62k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lkBLd/btq9dE3q5mc/3cukuJDGSOekQZG1e3w62k/img.png&quot; data-alt=&quot;윈도우 시작메뉴에 등록된 Raspberry Pi Imager&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lkBLd/btq9dE3q5mc/3cukuJDGSOekQZG1e3w62k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlkBLd%2Fbtq9dE3q5mc%2F3cukuJDGSOekQZG1e3w62k%2Fimg.png&quot; data-origin-width=&quot;272&quot; data-origin-height=&quot;120&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;윈도우 시작메뉴에 등록된 Raspberry Pi Imager&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;# Raspberry Pi Imager를 사용하여 microSD 카드에 OS 설치하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 microSD 리더기에 microSD 카드를 꽂고, 컴퓨터에 연결해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 후 설치한 Raspberry Pi Imager를 실행해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;[CHOOSE OS] 버튼을 눌러준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PXx6j/btq9hOwgDaX/jgVTceIa1c3FsVKdknqPe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PXx6j/btq9hOwgDaX/jgVTceIa1c3FsVKdknqPe1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PXx6j/btq9hOwgDaX/jgVTceIa1c3FsVKdknqPe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPXx6j%2Fbtq9hOwgDaX%2FjgVTceIa1c3FsVKdknqPe1%2Fimg.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;운영체제 목록이 나타나면 설치할 운영체제를 선택한다. (프로그램이 다운로드하여 설치해준다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약 자신이 외부에서 받은 운영체제가 있다면 최하단에 있는 [Use custom]을 눌러 이미지 파일을 직접 선택할 수도 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* 이미지 파일을 직접 받으셨다면 꼭 이미지 파일이 맞는지 확인하자. 사진에는 .ZIP 으로 되어있지만 .IMG 등 이미지 파일이 선택되어야한다. (아래에 시행착오 있음)&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/cKhkpR/btq9e5zGEYy/5WBWrKCxO5iINtCS3My0rk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cKhkpR/btq9e5zGEYy/5WBWrKCxO5iINtCS3My0rk/img.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cKhkpR/btq9e5zGEYy/5WBWrKCxO5iINtCS3My0rk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcKhkpR%2Fbtq9e5zGEYy%2F5WBWrKCxO5iINtCS3My0rk%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;682&quot; height=&quot;452&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d2ogkD/btq9eL2wZ3u/BtjHhaMUlGKKgkZ6rcTllk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d2ogkD/btq9eL2wZ3u/BtjHhaMUlGKKgkZ6rcTllk/img.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&quot; style=&quot;width: 49.4186%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d2ogkD/btq9eL2wZ3u/BtjHhaMUlGKKgkZ6rcTllk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd2ogkD%2Fbtq9eL2wZ3u%2FBtjHhaMUlGKKgkZ6rcTllk%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;682&quot; height=&quot;452&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rJ7Hu/btq9ewxJMGm/S6IFF2cdx5EUCKF678Ytf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rJ7Hu/btq9ewxJMGm/S6IFF2cdx5EUCKF678Ytf1/img.png&quot; data-alt=&quot;사신처럼 선택한 OS 또는 파일 이름으로 버튼의 텍스트가 변경된다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rJ7Hu/btq9ewxJMGm/S6IFF2cdx5EUCKF678Ytf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrJ7Hu%2Fbtq9ewxJMGm%2FS6IFF2cdx5EUCKF678Ytf1%2Fimg.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&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;사신처럼 선택한 OS 또는 파일 이름으로 버튼의 텍스트가 변경된다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다음으로 프로그램 중앙에 위치한 [CHOOSE STORAGE] 버튼을 클릭한 다음 설치할 microSD 카드 장치를 선택한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/THrQH/btq9eL9gIjl/SEvSkUh2KSNAYWl3X47gRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/THrQH/btq9eL9gIjl/SEvSkUh2KSNAYWl3X47gRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/THrQH/btq9eL9gIjl/SEvSkUh2KSNAYWl3X47gRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTHrQH%2Fbtq9eL9gIjl%2FSEvSkUh2KSNAYWl3X47gRk%2Fimg.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;스토리지 선택이 완료되었다면 [WRITE] 버튼을 누른다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PSgZC/btq9gpDI8mF/Xw91b1C71ayOMMYKkT9le1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PSgZC/btq9gpDI8mF/Xw91b1C71ayOMMYKkT9le1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PSgZC/btq9gpDI8mF/Xw91b1C71ayOMMYKkT9le1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPSgZC%2Fbtq9gpDI8mF%2FXw91b1C71ayOMMYKkT9le1%2Fimg.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;microSD 카드에 저장된 모든 데이터가 삭제된다는 경고가 나오고 [YES]를 누르면 기록이 시작된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vXpXT/btq9e6FmONK/04b2kaxN2XqfK3Mmdu1WjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vXpXT/btq9e6FmONK/04b2kaxN2XqfK3Mmdu1WjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vXpXT/btq9e6FmONK/04b2kaxN2XqfK3Mmdu1WjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvXpXT%2Fbtq9e6FmONK%2F04b2kaxN2XqfK3Mmdu1WjK%2Fimg.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;준비 단계, 쓰기 단계, 검사 단계를 거친다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다운로드가 필요한 경우 인터넷 속도 또는 microSD나 리더기의 성능에 따라 걸리는 시간이 상이하다.&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/950EP/btq9eL9gNka/m777vkO7DcPOEKuK1k2lLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/950EP/btq9eL9gNka/m777vkO7DcPOEKuK1k2lLk/img.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&quot; style=&quot;width: 32.5581%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/950EP/btq9eL9gNka/m777vkO7DcPOEKuK1k2lLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F950EP%2Fbtq9eL9gNka%2Fm777vkO7DcPOEKuK1k2lLk%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;682&quot; height=&quot;452&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOYxcc/btq9flCdMrC/d9HhOlOpfECKm6U1thQ5K0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOYxcc/btq9flCdMrC/d9HhOlOpfECKm6U1thQ5K0/img.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&quot; style=&quot;width: 32.5581%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOYxcc/btq9flCdMrC/d9HhOlOpfECKm6U1thQ5K0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOYxcc%2Fbtq9flCdMrC%2Fd9HhOlOpfECKm6U1thQ5K0%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;682&quot; height=&quot;452&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cp1B3u/btq9fXHujN8/ykIk7Xej6rNvWshQhEQjdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cp1B3u/btq9fXHujN8/ykIk7Xej6rNvWshQhEQjdk/img.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&quot; style=&quot;width: 32.5581%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cp1B3u/btq9fXHujN8/ykIk7Xej6rNvWshQhEQjdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcp1B3u%2Fbtq9fXHujN8%2FykIk7Xej6rNvWshQhEQjdk%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;682&quot; height=&quot;452&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;준비(Preparing), 기록(Writing), 검사(Verifying)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설치가 완료된다면 아래처럼 Successful 메시지가 나타난다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 microSD 카드에 운영체제 설치가 끝난 것이므로 microSD 카드를 컴퓨터와 리더기로부터 제거해도 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PSYPh/btq9hz0mI3l/ZfAjAYJOrwpzrwLRNdwzKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PSYPh/btq9hz0mI3l/ZfAjAYJOrwpzrwLRNdwzKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PSYPh/btq9hz0mI3l/ZfAjAYJOrwpzrwLRNdwzKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPSYPh%2Fbtq9hz0mI3l%2FZfAjAYJOrwpzrwLRNdwzKK%2Fimg.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 성공 메시지가 출력됨과 동시에 간혹 윈도우에서 아래 사진과 같이 포맷을 물어보는 화면이 나올 수도 있는데 취소를 눌러야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;왜냐하면 microSD에 설치된 운영체제가 윈도우에서는 읽을 수 없는 형식(=Format =파일 시스템)으로 기록되기 때문에 윈도우는 자신이 읽을 수 있는 형식(Format)으로 포맷(Format)해야 한다고 알려주는 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;352&quot; data-origin-height=&quot;170&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7EUGM/btq9eN0i1kw/IggkFtxLOT2w2MVyL6H1a0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7EUGM/btq9eN0i1kw/IggkFtxLOT2w2MVyL6H1a0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7EUGM/btq9eN0i1kw/IggkFtxLOT2w2MVyL6H1a0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7EUGM%2Fbtq9eN0i1kw%2FIggkFtxLOT2w2MVyL6H1a0%2Fimg.png&quot; data-origin-width=&quot;352&quot; data-origin-height=&quot;170&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;# 시행착오 - 이미지 파일을 수동으로 적용할땐 압축을 풀자&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;쓰기 도중에 아래와 같은 오류가 발생했었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;i&gt;&quot;Error writing to storage&quot;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b58ZKd/btq9gBdkIaL/MePtGaFTikMcTzXTIIuZv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b58ZKd/btq9gBdkIaL/MePtGaFTikMcTzXTIIuZv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b58ZKd/btq9gBdkIaL/MePtGaFTikMcTzXTIIuZv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb58ZKd%2Fbtq9gBdkIaL%2FMePtGaFTikMcTzXTIIuZv0%2Fimg.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;452&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;오류 메시지가 정확한 원인을 알려주진 않기에 다양한 생각을 할 수 밖에 없는 상황이였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&quot;리더기가 불량인가?&quot;, &quot;microSD 카드가 불량인가?&quot;, &quot;이미지 파일이 깨졌나?&quot;&lt;/i&gt; 등등...&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;알고보니 압축 파일(ZIP)을 그대로 골라서 그런 것이였다. (할 말을 잃어버림......)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;437&quot; data-origin-height=&quot;193&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/U3k1B/btq9eL2xfye/suGIWCuO6D9PU1KKAk3bv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/U3k1B/btq9eL2xfye/suGIWCuO6D9PU1KKAk3bv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/U3k1B/btq9eL2xfye/suGIWCuO6D9PU1KKAk3bv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FU3k1B%2Fbtq9eL2xfye%2FsuGIWCuO6D9PU1KKAk3bv0%2Fimg.png&quot; data-origin-width=&quot;437&quot; data-origin-height=&quot;193&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;압축을 풀고하니 잘 된다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(위쪽 사진을 보면 ZIP으로 한 기록이....)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;# 라즈베리파이 부팅&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;라즈베리파이에 전원, HDMI, USB 키보드/마우스, microSD 카드를 꽂아준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이더넷 포트(LAN 포트)가 존재하므로 유선 인터넷을 사용하고 싶다면 LAN 케이블을 연결하면 된다.&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/lqCwe/btq9eDJYZ1w/VaLLpW3XReTkKqYWTeCZ70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lqCwe/btq9eDJYZ1w/VaLLpW3XReTkKqYWTeCZ70/img.png&quot; data-origin-width=&quot;1064&quot; data-origin-height=&quot;1280&quot; style=&quot;width: 43.7996%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lqCwe/btq9eDJYZ1w/VaLLpW3XReTkKqYWTeCZ70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlqCwe%2Fbtq9eDJYZ1w%2FVaLLpW3XReTkKqYWTeCZ70%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;1064&quot; height=&quot;1280&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A2JpO/btq9fxChSVx/bF7ahka0cOctpLZKJIkdD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A2JpO/btq9fxChSVx/bF7ahka0cOctpLZKJIkdD0/img.png&quot; data-origin-width=&quot;1337&quot; data-origin-height=&quot;1280&quot; style=&quot;width: 55.0376%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A2JpO/btq9fxChSVx/bF7ahka0cOctpLZKJIkdD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA2JpO%2Fbtq9fxChSVx%2FbF7ahka0cOctpLZKJIkdD0%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;1337&quot; height=&quot;1280&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 후 HDMI 반대편은 모니터에 꽂아주고, 전원을 꽂아준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;전원을 꽂고 HDMI 또는 모니터를 연결하면 화면이 안 나오므로 무조건 전원은 마지막에 입력해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;라즈베리파이가 처음 켜지면 아래처럼 알록달록한 색이 나타날 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rKrdw/btq9fE2EiGo/AbQQiplL5jvciiLF1A3Q3k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rKrdw/btq9fE2EiGo/AbQQiplL5jvciiLF1A3Q3k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rKrdw/btq9fE2EiGo/AbQQiplL5jvciiLF1A3Q3k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrKrdw%2Fbtq9fE2EiGo%2FAbQQiplL5jvciiLF1A3Q3k%2Fimg.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 후 최초 부팅시 &quot;Resized root filesystem.&quot;이 나타나고 어느 정도 시간이 흐른 다음 재부팅 될 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/czJxZW/btq9fEIkHEa/JgVFBGFjyNewjfUFw6ZNmk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/czJxZW/btq9fEIkHEa/JgVFBGFjyNewjfUFw6ZNmk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/czJxZW/btq9fEIkHEa/JgVFBGFjyNewjfUFw6ZNmk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FczJxZW%2Fbtq9fEIkHEa%2FJgVFBGFjyNewjfUFw6ZNmk%2Fimg.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Raspberry Pi OS Desktop 의 부팅 화면은 아래와 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Raspberry Pi Lite 를 설치한 경우 또는 모니터 해상도가 낮은 경우엔 라즈베리 아이콘과 글자만 주르륵 나올 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJZytk/btq9iBwRvHv/hV66KXcbcHLxZoF43dkhKk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJZytk/btq9iBwRvHv/hV66KXcbcHLxZoF43dkhKk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJZytk/btq9iBwRvHv/hV66KXcbcHLxZoF43dkhKk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJZytk%2Fbtq9iBwRvHv%2FhV66KXcbcHLxZoF43dkhKk%2Fimg.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;부팅이 모두 완료되면 아래처럼 바탕화면이 나타난다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약 Raspberry Pi OS Lite (아무튼 Desktop이 아닌 것) 을 설치했다면 &quot;Desktop&quot;이 없어서 즉시 터미널만 나타날 것이다. Desktop이 필요한 경우 Lite에서 Desktop을 설치할 방법을 찾거나(많이 번거롭다.), OS를 다시 설치하도록 하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;중앙에 나타난 창에서 [Next]를 눌러 기초 설정을 간단하게 하도록 하자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8tRxr/btq9fF1A1HL/L4pSDa0xbHJ6CKJYtzI0Uk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8tRxr/btq9fF1A1HL/L4pSDa0xbHJ6CKJYtzI0Uk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8tRxr/btq9fF1A1HL/L4pSDa0xbHJ6CKJYtzI0Uk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8tRxr%2Fbtq9fF1A1HL%2FL4pSDa0xbHJ6CKJYtzI0Uk%2Fimg.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;국가설정.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;532&quot; data-origin-height=&quot;362&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvOA47/btq9fFN27D9/ZCC1YgQgvYuhpFhM40oGCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvOA47/btq9fFN27D9/ZCC1YgQgvYuhpFhM40oGCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvOA47/btq9fFN27D9/ZCC1YgQgvYuhpFhM40oGCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvOA47%2Fbtq9fFN27D9%2FZCC1YgQgvYuhpFhM40oGCK%2Fimg.png&quot; data-origin-width=&quot;532&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;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;새로운 비밀번호 설정.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;참고로 초기 사용자 이름은 pi이고 암호는 raspberry이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;526&quot; data-origin-height=&quot;354&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/to59Q/btq9e6egVxY/7JObEdLul5ZL3Aubjd25qk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/to59Q/btq9e6egVxY/7JObEdLul5ZL3Aubjd25qk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/to59Q/btq9e6egVxY/7JObEdLul5ZL3Aubjd25qk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fto59Q%2Fbtq9e6egVxY%2F7JObEdLul5ZL3Aubjd25qk%2Fimg.png&quot; data-origin-width=&quot;526&quot; data-origin-height=&quot;354&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;화면 설정.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;화면을 모니터에 꽉 차게 맞춰준다는 것으로 해석된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;(모니터 가장자리에 검정 테두리가 있다면.)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;530&quot; data-origin-height=&quot;358&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t1Rga/btq9flWzIa5/KNKCJIdOfeac4NBtnqQhBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t1Rga/btq9flWzIa5/KNKCJIdOfeac4NBtnqQhBk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t1Rga/btq9flWzIa5/KNKCJIdOfeac4NBtnqQhBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft1Rga%2Fbtq9flWzIa5%2FKNKCJIdOfeac4NBtnqQhBk%2Fimg.png&quot; data-origin-width=&quot;530&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;무선 네트워크 (Wi-Fi, 와이파이) 설정.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3분 넘게 기다리라고만 나오면 일단 Skip을 누르고 다른 설정을 해주어야 한다. (무선이다보니 국가에 따라 주파수가 달라 검색이 안 될 수도 있다.)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;522&quot; data-origin-height=&quot;347&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pcweu/btq9fF1A5eV/6n68l30VFv3BbMoCcvFc80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pcweu/btq9fF1A5eV/6n68l30VFv3BbMoCcvFc80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pcweu/btq9fF1A5eV/6n68l30VFv3BbMoCcvFc80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fpcweu%2Fbtq9fF1A5eV%2F6n68l30VFv3BbMoCcvFc80%2Fimg.png&quot; data-origin-width=&quot;522&quot; data-origin-height=&quot;347&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;업데이트.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;업데이트를 하고 싶다면 [Next]를 누르고, 나중에 하려면 [Skip]을 누르자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;353&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDe7ok/btq9fFN3b38/KbQc6zNDOffRfNJ5C3tdm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDe7ok/btq9fFN3b38/KbQc6zNDOffRfNJ5C3tdm0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDe7ok/btq9fFN3b38/KbQc6zNDOffRfNJ5C3tdm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDe7ok%2Fbtq9fFN3b38%2FKbQc6zNDOffRfNJ5C3tdm0%2Fimg.png&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;353&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설정 끝.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;526&quot; data-origin-height=&quot;351&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NhzYU/btq9e5NaVvI/6ebtfuQSgql9E9U1oZIidk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NhzYU/btq9e5NaVvI/6ebtfuQSgql9E9U1oZIidk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NhzYU/btq9e5NaVvI/6ebtfuQSgql9E9U1oZIidk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNhzYU%2Fbtq9e5NaVvI%2F6ebtfuQSgql9E9U1oZIidk%2Fimg.png&quot; data-origin-width=&quot;526&quot; data-origin-height=&quot;351&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 해서 라즈베리파이에 Raspberry Pi OS 를 설치해보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;나중엔 이것으로 장난감?을 하나 만들어볼 계획이다.&lt;/p&gt;</description>
      <category>기술/기타</category>
      <category>OS</category>
      <category>Raspberry Pi</category>
      <category>라즈베리파이</category>
      <category>운영체제</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/68</guid>
      <comments>https://phodobit.kr/68#entry68comment</comments>
      <pubDate>Sat, 10 Jul 2021 08:35:32 +0900</pubDate>
    </item>
    <item>
      <title>엄청 예전에 이용했던 Reversing.kr</title>
      <link>https://phodobit.kr/67</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;크래킹 &amp;amp; 리버싱 연습을 할 수 있는 문제 사이트&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;http://reversing.kr/index.php&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;http://reversing.kr/index.php&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1625785451325&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;Reversing.Kr&quot; data-og-description=&quot;This site tests your ability to Cracking &amp;amp; Reverse Code Engineering. Now Challenge a problem for each environment. (Windows, Linux, .Net, Flash, Java, Python, Mobile..) Admin E-Mail: gogil@reversing.kr&quot; data-og-host=&quot;reversing.kr&quot; data-og-source-url=&quot;http://reversing.kr/index.php&quot; data-og-url=&quot;http://reversing.kr/index.php&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;http://reversing.kr/index.php&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;http://reversing.kr/index.php&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Reversing.Kr&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;This site tests your ability to Cracking &amp;amp; Reverse Code Engineering. Now Challenge a problem for each environment. (Windows, Linux, .Net, Flash, Java, Python, Mobile..) Admin E-Mail: gogil@reversing.kr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;reversing.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;엄청 오랜만에 생각나서 찾아보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;291&quot; data-origin-height=&quot;79&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u49ti/btq88zA1Ssh/3nqxo0N95iA87ndsGRKdfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u49ti/btq88zA1Ssh/3nqxo0N95iA87ndsGRKdfk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u49ti/btq88zA1Ssh/3nqxo0N95iA87ndsGRKdfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu49ti%2Fbtq88zA1Ssh%2F3nqxo0N95iA87ndsGRKdfk%2Fimg.png&quot; data-origin-width=&quot;291&quot; data-origin-height=&quot;79&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;홈페이지가 2012년 3월 3일 오픈했는데...&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;974&quot; data-origin-height=&quot;117&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLOfeV/btq9cIpt8bn/pNDNLHou46Ka455PjIt4C0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLOfeV/btq9cIpt8bn/pNDNLHou46Ka455PjIt4C0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLOfeV/btq9cIpt8bn/pNDNLHou46Ka455PjIt4C0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLOfeV%2Fbtq9cIpt8bn%2FpNDNLHou46Ka455PjIt4C0%2Fimg.png&quot; data-origin-width=&quot;974&quot; data-origin-height=&quot;117&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;오픈한 그날 바로 300점을 획득하고 끝냈었다. (닉네임은 변경한 것!)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;엄청 옛~날에 프로그래밍 커뮤니티에서 당시 닉네임 ㄱㄱㄱㄱ님께서 만드신 사이트이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;옛날 생각을 하니 많은 초고수 선배님들이 생각난다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;ㄷㄹㅅㄹㅅ라는 비공개 커뮤니티에서도 활동 했었는데 찾아보니 모두 대단한 화이트해커가 되셨었다니...&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;한 때 나도 정보보호에 관심이 많았던 것 같았었는데... 지금은 취미로만 하고 있다보니 많이 까먹었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;나중에 이분들이 세미나를 개최하신다면 꼭 참가해보고 싶다.&lt;/p&gt;</description>
      <category>잡담</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/67</guid>
      <comments>https://phodobit.kr/67#entry67comment</comments>
      <pubDate>Fri, 9 Jul 2021 08:11:19 +0900</pubDate>
    </item>
    <item>
      <title>TypeScript(타입스크립트) 설치하기</title>
      <link>https://phodobit.kr/66</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;이번에는 TypeScript를 설치해보려고 한다.&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;size18&quot;&gt;사전에 준비해두어야 하는 것:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;NPM (Node Package Manager)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그렇다. NPM만 있으면 TypeScript를 설치할 수 있다.&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;size18&quot;&gt;명령 프롬프트 또는 터미널을 열고 아래 명령어를 입력하면 설치가 끝난다.&lt;/p&gt;
&lt;pre id=&quot;code_1625781993614&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt; 현재 디렉토리(for 프로젝트)에 설치하는 경우 &amp;gt;
npm install typescript

&amp;lt; 전역(Global) 설치하는 경우 &amp;gt;
npm install -g typescript&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;423&quot; data-origin-height=&quot;177&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GBHWF/btq869JwNm3/iZPrXUnudXgkNoAY2iVOGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GBHWF/btq869JwNm3/iZPrXUnudXgkNoAY2iVOGK/img.png&quot; data-alt=&quot;타입스크립트 패키지가 설치되었고, 4.3.5 버전이 설치되었음을 알 수 있다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GBHWF/btq869JwNm3/iZPrXUnudXgkNoAY2iVOGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGBHWF%2Fbtq869JwNm3%2FiZPrXUnudXgkNoAY2iVOGK%2Fimg.png&quot; data-origin-width=&quot;423&quot; data-origin-height=&quot;177&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.3.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;size18&quot;&gt;그 후 아래 명령어를 통해 다시 설치가 정상적으로 되었는지 확인해보자!&lt;/p&gt;
&lt;pre id=&quot;code_1625782525964&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;tsc --version&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;336&quot; data-origin-height=&quot;47&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dU5SZt/btq9blacmG7/NG6tV8qOsOSpjmr8hMKDpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dU5SZt/btq9blacmG7/NG6tV8qOsOSpjmr8hMKDpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dU5SZt/btq9blacmG7/NG6tV8qOsOSpjmr8hMKDpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdU5SZt%2Fbtq9blacmG7%2FNG6tV8qOsOSpjmr8hMKDpk%2Fimg.png&quot; data-origin-width=&quot;336&quot; data-origin-height=&quot;47&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;잘 나온다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;참고로 tsc는 TypeScript Compiler의 약자라고 생각하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;TypeScript는 JavaScript와 달리 Compile을 해야하고, 컴파일에 성공하면 JavaScript(*.js) 파일을 출력한다.&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;size18&quot;&gt;샘플 TypeScript 코드를 사용하여 컴파일을 연습해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래의 코드를 작성한다.&lt;/p&gt;
&lt;pre id=&quot;code_1625782725429&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;interface User {
	name: string;
	age: number;
	site: object;
}

const user: User = {
	name: &quot;포도빛&quot;,
	age: &quot;20&quot;, // 오류가 발생해야 함!
	site: {
		blog: &quot;https://phodobit.kr&quot;,
		github: &quot;https://github.com/smartse0k&quot;,
	}
}

console.log(user);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 후 code.ts 라는 파일명으로 저장한 다음, 아래의 명령어로 컴파일을 해보자.&lt;/p&gt;
&lt;pre id=&quot;code_1625782773177&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;tsc code.ts&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그렇다면 오류가 발생할 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;263&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckPrKZ/btq9bj4vH87/lVbUQxdgx9Z95Gw3BK7K01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckPrKZ/btq9bj4vH87/lVbUQxdgx9Z95Gw3BK7K01/img.png&quot; data-alt=&quot;한 개의 오류를 찾았다고 나타난다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckPrKZ/btq9bj4vH87/lVbUQxdgx9Z95Gw3BK7K01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckPrKZ%2Fbtq9bj4vH87%2FlVbUQxdgx9Z95Gw3BK7K01%2Fimg.png&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;263&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;user 객체는 User 인터페이스 속성을 따라야 하는데 인터페이스에서는 age가 number이길 바라지만 객체에서는 age에 string 값을 대입하였기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이것이 바로 &quot;Type&quot;을 중요시하는 TypeScript의 매력이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 오류를 수정하고, 다시 컴파일을 해보자!&lt;/p&gt;
&lt;pre id=&quot;code_1625782922001&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 이 코드를
age: &quot;20&quot;,

// 이렇게 바꾸면 오류가 없을 것이다.
age: 20,&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;341&quot; data-origin-height=&quot;67&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7YErQ/btq9cHKRIVM/EKvBh10kdWi2yBmxaCDFWk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7YErQ/btq9cHKRIVM/EKvBh10kdWi2yBmxaCDFWk/img.png&quot; data-alt=&quot;아무 메시지가 없다면 아무 문제 없이 컴파일 된 것이다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7YErQ/btq9cHKRIVM/EKvBh10kdWi2yBmxaCDFWk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7YErQ%2Fbtq9cHKRIVM%2FEKvBh10kdWi2yBmxaCDFWk%2Fimg.png&quot; data-origin-width=&quot;341&quot; data-origin-height=&quot;67&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 컴파일의 결과로 나타난 JavaScript 파일(code.js)을 열어본다면....!!&lt;/p&gt;
&lt;pre id=&quot;code_1625783057988&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;var user = {
    name: &quot;포도빛&quot;,
    age: 20,
    site: {
        blog: &quot;https://phodobit.kr&quot;,
        github: &quot;https://github.com/smartse0k&quot;
    }
};
console.log(user);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 TypeScript 문법은 빠지고 순수 JavaScript 코드로 나타난다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;컴파일만 해보려는 예시 코드를 작성하다보니 큰 차이가 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;끝~!&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;size18&quot;&gt;나중에 알아보아야 할 것:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;컴파일 오류가 발생하였는데도 js 파일이 잘 출력되었다!&lt;/li&gt;
&lt;/ol&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;size18&quot;&gt;참고 자료:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;TypeScript Download Official Site ( &lt;a href=&quot;https://www.typescriptlang.org/download&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.typescriptlang.org/download&lt;/a&gt; )&lt;/li&gt;
&lt;li&gt;TypeScript Tutorial Official Site ( &lt;a href=&quot;https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html&lt;/a&gt; )&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>기술/JavaScript &amp;amp; TypeScript</category>
      <category>TypeScript</category>
      <category>설치</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/66</guid>
      <comments>https://phodobit.kr/66#entry66comment</comments>
      <pubDate>Fri, 9 Jul 2021 07:27:51 +0900</pubDate>
    </item>
    <item>
      <title>웹 사이트가 무엇으로 개발되었는지 파악하는 방법 (BuiltWith 소개)</title>
      <link>https://phodobit.kr/64</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;간혹 웹 개발자들은 어느 웹 사이트를 방문하면 어떤 기술이 탑재되어 있는지 궁금한 경우가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그렇다면 그들은 웹 서버에서 전달해주는 HTTP 헤더, 페이지 소스 코드를 통해 찾아볼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;요즘 대부분의 웹 브라우저는 개발자 도구(Developer Tools)를 제공하고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;개발자 도구를 연 다음 웹 사이트에 접속하면 Network 탭에서 HTTP 패킷(헤더, Request 및 Response 데이터)을 관찰 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이곳에서 볼 수 있는 정보로 웹 사이트가 사용 중인 기술을 파악할 수 있는 방법이 있는데 무슨 기술인지 알려면 본인도 그 기술이 무엇인지 알아야 한다는 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;641&quot; data-origin-height=&quot;374&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9tyCP/btq66VEZgPT/CHVqhVzRmjebjmMVghsBgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9tyCP/btq66VEZgPT/CHVqhVzRmjebjmMVghsBgK/img.png&quot; data-alt=&quot;구글 크롬 - 개발자 도구 - Network 탭&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9tyCP/btq66VEZgPT/CHVqhVzRmjebjmMVghsBgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9tyCP%2Fbtq66VEZgPT%2FCHVqhVzRmjebjmMVghsBgK%2Fimg.png&quot; data-origin-width=&quot;641&quot; data-origin-height=&quot;374&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;구글 크롬 - 개발자 도구 - Network 탭&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위 그림과 같이 웹 사이트 접속할때의 Request, Response 정보를 보면...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;X-Powered-By: PHP/7.x.x&quot;라는 헤더를 통해 이 웹 사이트(정확히는 현재 출력되는 페이지)가 PHP로 개발되었고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;Server: nginx&quot; 헤더를 통해 웹 서버는 Nginx를 사용했음을 알 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;386&quot; data-origin-height=&quot;336&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Of0jy/btq64SJgFBQ/VxDxSP6If6Ax7FkaC3oXHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Of0jy/btq64SJgFBQ/VxDxSP6If6Ax7FkaC3oXHk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Of0jy/btq64SJgFBQ/VxDxSP6If6Ax7FkaC3oXHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOf0jy%2Fbtq64SJgFBQ%2FVxDxSP6If6Ax7FkaC3oXHk%2Fimg.png&quot; data-origin-width=&quot;386&quot; data-origin-height=&quot;336&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;size18&quot;&gt;다른 사이트를 보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 웹 사이트는 Apache 웹 서버를 사용하고 있음을 알 수 있고, 운영체제는 Raspbian인 것을 알 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와는 다르게 X-Powered-By 헤더는 제거되었지만, Set-Cookie를 통해 ci_session 쿠키를 설정하는 것을 볼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ci_session은 PHP의 CodeIgniter 프레임워크가 사용하는 세션 쿠키의 기본값(이름)이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 이 웹 사이트는 PHP와 CodeIgniter 프레임워크가 사용되었음을 알 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그런데 이러한 내용은 아는 만큼만 보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;많이 알수록 많이 보이는 것이다. 모르는 것들은 안 보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그럼 이러한 패턴을 통해 무슨 기술인지 알려주는 서비스를 찾으면 되는 것인데&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;마침 그런 서비스가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;바로 &lt;b&gt;BuiltWith&lt;/b&gt;. (광고가 아니라 소개입니다...!)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://builtwith.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://builtwith.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1623514406991&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;BuiltWith&quot; data-og-description=&quot;Find out what websites are BuiltWith&quot; data-og-host=&quot;builtwith.com&quot; data-og-source-url=&quot;https://builtwith.com/&quot; data-og-url=&quot;https://builtwith.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ci2eZB/hyKxAIwA4x/qQwRvsc62k6Ur4LEhPJx51/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://builtwith.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://builtwith.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ci2eZB/hyKxAIwA4x/qQwRvsc62k6Ur4LEhPJx51/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&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;BuiltWith&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Find out what websites are BuiltWith&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;builtwith.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;처음 접속하면 아래와 같은 화면이 나온다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1115&quot; data-origin-height=&quot;437&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IMxww/btq65e6mJDy/Qj3qXpPU0KZDWdKDoSl800/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IMxww/btq65e6mJDy/Qj3qXpPU0KZDWdKDoSl800/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IMxww/btq65e6mJDy/Qj3qXpPU0KZDWdKDoSl800/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIMxww%2Fbtq65e6mJDy%2FQj3qXpPU0KZDWdKDoSl800%2Fimg.png&quot; data-origin-width=&quot;1115&quot; data-origin-height=&quot;437&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 화면에서 우측 상단이나 중앙에 배치된 검색 상자에 알고싶은 웹 사이트의 주소(URL)을 입력하고 [Lookup]을 눌러보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;788&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cG31BM/btq65eSNuZ9/osZlUj5gVp28KkCYtJOu51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cG31BM/btq65eSNuZ9/osZlUj5gVp28KkCYtJOu51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cG31BM/btq65eSNuZ9/osZlUj5gVp28KkCYtJOu51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcG31BM%2Fbtq65eSNuZ9%2FosZlUj5gVp28KkCYtJOu51%2Fimg.png&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;788&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위 사진처럼 [Technology Profile]에 기술 프로필이 나타날 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그런데 맨 처음에 직접 알아냈던 PHP라는 정보는 없는데, 이 정보는 [Detailed Technology Profile] 탭에서 조회할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;671&quot; data-origin-height=&quot;664&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uKtXx/btq7bhtM3tH/i9mqrh6zjX4jAS5P8uehB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uKtXx/btq7bhtM3tH/i9mqrh6zjX4jAS5P8uehB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uKtXx/btq7bhtM3tH/i9mqrh6zjX4jAS5P8uehB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuKtXx%2Fbtq7bhtM3tH%2Fi9mqrh6zjX4jAS5P8uehB0%2Fimg.png&quot; data-origin-width=&quot;671&quot; data-origin-height=&quot;664&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 말이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 BuiltWith의 서비스는 무료인지 궁금할 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BuiltWith는 일단 &lt;a href=&quot;https://builtwith.com/plans&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;유료 플랜&lt;/a&gt;이 있다.&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;등록하지 않는 경우 [Detailed Tech... Profile]은 1건만 조회할 수 있다. (기본 Tech Profile은 항상 조회 가능하다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 여러 웹 사이트를 방문하고 신기한, 처음보는, 알고싶은 기술이 있다면 사이트를 통해 파악하고 공부해보자!&lt;/p&gt;</description>
      <category>정보/분석</category>
      <category>기술</category>
      <category>웹</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/64</guid>
      <comments>https://phodobit.kr/64#entry64comment</comments>
      <pubDate>Sun, 13 Jun 2021 01:27:14 +0900</pubDate>
    </item>
    <item>
      <title>현재 사용하는 알고리즘 문제 풀이 사이트</title>
      <link>https://phodobit.kr/63</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;제목과 같이 현재 사용하는 알고리즘 문제 풀이 사이트 목록이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;백준 알고리즘 (백준 온라인 저지, Baekjoon Online Judge)&lt;/a&gt;&lt;/h3&gt;
&lt;figure id=&quot;og_1623344498688&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;Baekjoon Online Judge&quot; data-og-description=&quot;Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/&quot; data-og-url=&quot;https://www.acmicpc.net/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/xndQE/hyKwA9z1FQ/1E1UsZKybVCfm89TBjkzVk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/2SX3d/hyKwGopqH3/kKYKAoqH3ojjJkVsjtfreK/img.jpg?width=2829&amp;amp;height=1913&amp;amp;face=0_0_2829_1913&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/xndQE/hyKwA9z1FQ/1E1UsZKybVCfm89TBjkzVk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/2SX3d/hyKwGopqH3/kKYKAoqH3ojjJkVsjtfreK/img.jpg?width=2829&amp;amp;height=1913&amp;amp;face=0_0_2829_1913');&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;Baekjoon Online Judge&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&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;size18&quot;&gt;가장 유명하고 가장 많이 사용 중인 사이트&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;프로필&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1152&quot; data-origin-height=&quot;586&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LZukR/btq60lX6RAh/fsAPOja3LGHBf3IL9vwDF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LZukR/btq60lX6RAh/fsAPOja3LGHBf3IL9vwDF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LZukR/btq60lX6RAh/fsAPOja3LGHBf3IL9vwDF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLZukR%2Fbtq60lX6RAh%2FfsAPOja3LGHBf3IL9vwDF1%2Fimg.png&quot; data-origin-width=&quot;1152&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;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;프로그래머스 (Programmers)&lt;/a&gt;&lt;/h3&gt;
&lt;figure id=&quot;og_1623344608329&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;프로그래머스&quot; data-og-description=&quot;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dt75KN/hyKwF3NN85/r6OzYAUFvLVKZXxXzqjrE1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/1pquP/hyKwKxgl3R/NW3CBlwVSDkM4QfkPk3Nt1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dt75KN/hyKwF3NN85/r6OzYAUFvLVKZXxXzqjrE1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/1pquP/hyKwKxgl3R/NW3CBlwVSDkM4QfkPk3Nt1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&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;프로그래머스&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;programmers.co.kr&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;[실력 체크 - 스킬 체크]에서 난이도별 알고리즘 문제를 풀어볼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 기업들이 이 플랫폼을 사용하여 코딩 테스트를 진행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;a href=&quot;https://paiza.jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;파이자 (Paiza)&lt;/a&gt;&lt;/h3&gt;
&lt;figure id=&quot;og_1623345134038&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;company&quot; data-og-title=&quot;ITエンジニア向け転職・就活・学習サービス【paiza】&quot; data-og-description=&quot;ITエンジニア・プログラマ専門の総合求職・学習サイト【paiza（パイザ）】。プログラミングスキルチェックで実力を可視化し、スキルがあると認められれば書類選考不要で即面接へ進めます&quot; data-og-host=&quot;paiza.jp&quot; data-og-source-url=&quot;https://paiza.jp/&quot; data-og-url=&quot;https://paiza.jp/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c9dCgs/hyKwFJPlaM/1sy3BmgP60vP4B2jkweR0k/img.png?width=1200&amp;amp;height=1200&amp;amp;face=0_0_1200_1200,https://scrap.kakaocdn.net/dn/FM6CZ/hyKwyRtarU/u3igydYHFeTHpkQ48GKtOK/img.png?width=477&amp;amp;height=296&amp;amp;face=0_0_477_296&quot;&gt;&lt;a href=&quot;https://paiza.jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://paiza.jp/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c9dCgs/hyKwFJPlaM/1sy3BmgP60vP4B2jkweR0k/img.png?width=1200&amp;amp;height=1200&amp;amp;face=0_0_1200_1200,https://scrap.kakaocdn.net/dn/FM6CZ/hyKwyRtarU/u3igydYHFeTHpkQ48GKtOK/img.png?width=477&amp;amp;height=296&amp;amp;face=0_0_477_296');&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;ITエンジニア向け転職・就活・学習サービス【paiza】&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;ITエンジニア・プログラマ専門の総合求職・学習サイト【paiza（パイザ）】。プログラミングスキルチェックで実力を可視化し、スキルがあると認められれば書類選考不要で即面接へ進めます&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;paiza.jp&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;일본에서 사용하는 알고리즘 문제 풀이 사이트.&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;[스킬 체크]에서는 난이도(C, B, A, S)별 분류가 되어 있다.&lt;/p&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;889&quot; data-origin-height=&quot;943&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nJZlg/btq60lRlXTb/XIwpScWeklkvk8CCvNRY30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nJZlg/btq60lRlXTb/XIwpScWeklkvk8CCvNRY30/img.png&quot; data-alt=&quot;닉네임에 한글(한국어)를 입력할 수 있다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nJZlg/btq60lRlXTb/XIwpScWeklkvk8CCvNRY30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnJZlg%2Fbtq60lRlXTb%2FXIwpScWeklkvk8CCvNRY30%2Fimg.png&quot; data-origin-width=&quot;889&quot; data-origin-height=&quot;943&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;h4 data-ke-size=&quot;size20&quot;&gt;프로필(스테이터스)&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;908&quot; data-origin-height=&quot;613&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x3ZZr/btq6WN9bxpC/v7LhIdt7uvFHzLO9z7rRx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x3ZZr/btq6WN9bxpC/v7LhIdt7uvFHzLO9z7rRx1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x3ZZr/btq6WN9bxpC/v7LhIdt7uvFHzLO9z7rRx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx3ZZr%2Fbtq6WN9bxpC%2Fv7LhIdt7uvFHzLO9z7rRx1%2Fimg.png&quot; data-origin-width=&quot;908&quot; data-origin-height=&quot;613&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>알고리즘</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/63</guid>
      <comments>https://phodobit.kr/63#entry63comment</comments>
      <pubDate>Fri, 11 Jun 2021 02:20:39 +0900</pubDate>
    </item>
    <item>
      <title>오늘의 카트왕</title>
      <link>https://phodobit.kr/62</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;오늘의 카트왕은 카트라이더 API를 사용하여 실시간으로 전적 분석후 등수에 따라 점수를 부여하여 하루 동안의 랭킹을 실시간으로 동영상 플랫폼(유튜브)에 스트리밍하는 프로젝트입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&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;PHP 7.x&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.nexon.com/kart&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;넥슨 개발자센터 - 카트라이더 API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://phodobit.kr/61&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;직접 개발한 KartRider API Wrapper for PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;SQLite3&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;FFmpeg (LGPL)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;● 개발 소요 시간&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;약 3시간...&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;● 구현 방식 요약&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추후 작성 하겠습니다 ㅠㅅㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;● 2021년 6월 11일 기준 유튜브 링크 및 스크린샷&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=8jZNnzF1OOs&quot;&gt;https://www.youtube.com/watch?v=8jZNnzF1OOs&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=8jZNnzF1OOs&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/bey3P8/hyKwFwgYog/ZKEayDqB8fNqj59KUHM0wK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/8jZNnzF1OOs&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption&gt;&lt;/figcaption&gt;
&lt;/figure&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;1273&quot; data-origin-height=&quot;712&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pRfpm/btq6Z7MD8XH/S5dGpATdZ0vUuBhKwgFIUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pRfpm/btq6Z7MD8XH/S5dGpATdZ0vUuBhKwgFIUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pRfpm/btq6Z7MD8XH/S5dGpATdZ0vUuBhKwgFIUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpRfpm%2Fbtq6Z7MD8XH%2FS5dGpATdZ0vUuBhKwgFIUk%2Fimg.png&quot; data-origin-width=&quot;1273&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;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;714&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XBtJb/btq61edhJqZ/3B36i9xl20Mch3nFDnK8Z1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XBtJb/btq61edhJqZ/3B36i9xl20Mch3nFDnK8Z1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XBtJb/btq61edhJqZ/3B36i9xl20Mch3nFDnK8Z1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXBtJb%2Fbtq61edhJqZ%2F3B36i9xl20Mch3nFDnK8Z1%2Fimg.png&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;714&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>카트라이더</category>
      <category>프로젝트</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/62</guid>
      <comments>https://phodobit.kr/62#entry62comment</comments>
      <pubDate>Fri, 11 Jun 2021 01:37:13 +0900</pubDate>
    </item>
    <item>
      <title>카트라이더 API Wrapper for PHP</title>
      <link>https://phodobit.kr/61</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;넥슨 개발자센터에서 제공하는 카트라이더 API를 PHP로 쉽게 사용할 수 있게 Wrapping한 오픈소스 라이브러리 프로젝트입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오픈소스(GitHub) 주소:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/smartse0k/KartRiderAPIWrapperForPHP&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/smartse0k/KartRiderAPIWrapperForPHP&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1623342338326&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;smartse0k/KartRiderAPIWrapperForPHP&quot; data-og-description=&quot;PHP용 넥슨 카트라이더 API Wrapper. Contribute to smartse0k/KartRiderAPIWrapperForPHP development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/smartse0k/KartRiderAPIWrapperForPHP&quot; data-og-url=&quot;https://github.com/smartse0k/KartRiderAPIWrapperForPHP&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/HcsEJ/hyKwExlJfj/SNbyFL89IqWj1xpsoUL7C0/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/smartse0k/KartRiderAPIWrapperForPHP&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/smartse0k/KartRiderAPIWrapperForPHP&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/HcsEJ/hyKwExlJfj/SNbyFL89IqWj1xpsoUL7C0/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&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;smartse0k/KartRiderAPIWrapperForPHP&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;PHP용 넥슨 카트라이더 API Wrapper. Contribute to smartse0k/KartRiderAPIWrapperForPHP development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.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;샘플코드&lt;/p&gt;
&lt;pre id=&quot;code_1623342361717&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 라이더명으로 유저 정보 조회 API 사용
$findUserByNickname = new \Phodobit\Kartrider\Api\Request\User\FindUserByNickname();

$apiKey = '';
$userNickname = '포도빛향기에';

// 필수 요청 정보 Setting
$findUserByNickname-&amp;gt;setNickname($userNickname);

// API 키 설정
$findUserByNickName-&amp;gt;setApiKey($apiKey);

// API 요청
$findUserByNickname-&amp;gt;send();

// API 응답 가져오기
$findUserByNickNameResult = $findUserByNickname-&amp;gt;getResult();

// 데이터 출력
echo &quot;{$userNickname}님의 레벨은 {$findUserByNickNameResult-&amp;gt;getLevel()}입니다.&quot;;
// =&amp;gt; 포도빛향기에님의 레벨은 104입니다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로젝트/기타</category>
      <category>API</category>
      <category>php</category>
      <category>넥슨</category>
      <category>오픈소스</category>
      <category>카트라이더</category>
      <category>프로젝트</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/61</guid>
      <comments>https://phodobit.kr/61#entry61comment</comments>
      <pubDate>Fri, 11 Jun 2021 01:27:19 +0900</pubDate>
    </item>
    <item>
      <title>[링크] TDD. 테스트 주도 개발.</title>
      <link>https://phodobit.kr/60</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://wikidocs.net/224&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://wikidocs.net/224&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>잡담</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/60</guid>
      <comments>https://phodobit.kr/60#entry60comment</comments>
      <pubDate>Fri, 28 May 2021 00:11:43 +0900</pubDate>
    </item>
    <item>
      <title>프로젝트 만들고 GitHub에 첫 Commit하고 Push하기</title>
      <link>https://phodobit.kr/59</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 GitHub에서 새로운 저장소(Repository)를 만들자!&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;GitHub에 접속한 다음, 우측 상단에 있는 [+] 기호를 클릭하고&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&quot;New repository&quot;를 클릭하여 새 저장소 생성 페이지로 이동한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LVxDo/btq3qNwO0EU/aUKFXLPBXmhMkgHjGXIrrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LVxDo/btq3qNwO0EU/aUKFXLPBXmhMkgHjGXIrrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LVxDo/btq3qNwO0EU/aUKFXLPBXmhMkgHjGXIrrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLVxDo%2Fbtq3qNwO0EU%2FaUKFXLPBXmhMkgHjGXIrrK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;새 저장소 생성 페이지가 나타나면 필요한 항목을 입력하고 [Create Repository]를 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6mMC2/btq3mirOJY2/XS56zpdqClkFswrSJx1EC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6mMC2/btq3mirOJY2/XS56zpdqClkFswrSJx1EC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6mMC2/btq3mirOJY2/XS56zpdqClkFswrSJx1EC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6mMC2%2Fbtq3mirOJY2%2FXS56zpdqClkFswrSJx1EC0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;저장소가 신규로 생성되면 바로 아래와 같은 빠른 설정 가이드가 나타나는데 이곳에 이미 무엇을 해야할지 명령어 목록이 나타나있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YwTLx/btq3r03LV3L/xLyk5f7m2TYgQJYK4IilOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YwTLx/btq3r03LV3L/xLyk5f7m2TYgQJYK4IilOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YwTLx/btq3r03LV3L/xLyk5f7m2TYgQJYK4IilOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYwTLx%2Fbtq3r03LV3L%2FxLyk5f7m2TYgQJYK4IilOk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;명령 프롬프트(cmd) 또는 터미널(Terminal)을 열어&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;자신이 GitHub에 등록한 프로젝트를 만들거나, 기존 프로젝트의 디렉토리로 이동한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1619331100421&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ cd &quot;C:\MyProjects\TestProject&quot;&lt;/code&gt;&lt;/pre&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;size18&quot;&gt;만약 Git 프로젝트가 아니라면 아래 명령어를 사용하여 Git 프로젝트로 초기화를 해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Git의 초기화일뿐 프로젝트가 초기화되진 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 만약 Git 프로젝트인데 이 명령어를 사용하면 그동안 쌓인 Git 기록이 초기화 될 수 있으니 주의한다. (프로젝트 디렉토리에 &quot;.git&quot;이라는 폴더가 있다면 Git 프로젝트이다. Unix/Linux 환경에서는 파일 이름 앞이 .기호로 시작된다면 숨김 파일이므로 ls -a를 사용하여 확인해야한다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1619331257197&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git init

# 출력:
Initialized empty Git repository in /프로젝트위치/.git/
&lt;/code&gt;&lt;/pre&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;size18&quot;&gt;이제 이 Git 프로젝트에서 아래 명령어를 통해 원격 저장소인 GitHub를 추가해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;[이름]은 이 Git 프로젝트를 다루는 컴퓨터에서 사용할 원격 저장소의 이름을 지정해주는 것이고&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;보통 origin을 사용하고, github, firstserver 등등 아무 이름으로 지정해도 된다. 단지 자신이 어느 원격 저장소를 사용하는지만 구분할 줄 알면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 저장소는 여러개 추가할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1619331450126&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git remote add [이름] [HTTPS 또는 SSH 주소]

# 예시:
# git remote add origin https://github.com/smartse0k/blabla.git
# git remote add github https://github.com/smartse0k/blabla.git&lt;/code&gt;&lt;/pre&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;size18&quot;&gt;첫 번째 커밋(Commit)을 하기 위해 소스코드나 아무 파일을 만들고 내용을 채워준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 아래 명령어를 통해 상태를 본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1619331925129&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git status

# 출력:
On branch main (현재 브런치: main)

No commits yet (아직 아무 커밋 없음)

Changes to be committed: (커밋될 변경점 = 커밋 명령어를 사용하는 경우 적용될 대상 = Stage된 변경점)
  (use &quot;git rm --cached &amp;lt;file&amp;gt;...&quot; to unstage)
        new file:   README.md (새 파일 README.md 생성)

Changes not staged for commit: (Stage되지 않은 변경점 = 커밋이 적용되지 않는 대상)
  (use &quot;git add &amp;lt;file&amp;gt;...&quot; to update what will be committed)
  (use &quot;git restore &amp;lt;file&amp;gt;...&quot; to discard changes in working directory)
        modified:   README.md (README.md의 수정)

Untracked files: (추적하지 않는 파일들)
  (use &quot;git add &amp;lt;file&amp;gt;...&quot; to include in what will be committed)
        .idea/
        Phodobit/

&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위 출력에 이미 괄호()를 사용하여 해석할 수 있게 메모해두었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;출력 내용은 사용자의 동작 순서에 따라 변경될 수 있으므로 반드시 설명을 이해하도록 하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약 이 상태 그대로 커밋한다면 &quot;오직 README.md 생성&quot;만 커밋된다. (내용은 반영되지 않는다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;또 Changes to be committed에 아무 내용이 없다면 커밋할 내용이 없으므로 커밋 자체가 되지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그렇기 때문에 현재 소스코드 또는 파일의 내용을 그대로 커밋할 내용에 반영&lt;span style=&quot;color: #333333;&quot;&gt;(필자의 경우 README.md에 적힌 내용도 반영)할 필요가 있다.&lt;/span&gt;&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;size18&quot;&gt;아래 명령어를 통해 Stage 상태(Changes to be committed에 추가)로 만들어준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1619332235380&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git add [파일명]

# 예시:
# git add README.md&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 다시 &quot;git status&quot; 명령어를 통해 위에서 설명한 내용대로 잘 반영 되었는지 직접 확인해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&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;size18&quot;&gt;이제 아래의 명령어를 입력하여 커밋을 등록한다.&lt;/p&gt;
&lt;pre id=&quot;code_1619332312184&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git commit -m &quot;커밋메시지&quot;

# 예시:
# git commit -m &quot;README.md 추가&quot;

# 출력:
[main (root-commit) 504c5aa] README.md 추가
 1 file changed, 3 insertions(+)
 create mode 100644 README.md
&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;* 만약 커밋하는데 아래와 같은 메시지가 나타나는 경우 메시지에 따라 절차를 수행해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Author&amp;nbsp;identity&amp;nbsp;unknown&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;***&amp;nbsp;Please&amp;nbsp;tell&amp;nbsp;me&amp;nbsp;who&amp;nbsp;you&amp;nbsp;are.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Run&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;git config --global user email &quot;~&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;git&amp;nbsp;config&amp;nbsp;--global&amp;nbsp;user.name &quot;~&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;to&amp;nbsp;set&amp;nbsp;your&amp;nbsp;account's&amp;nbsp;default&amp;nbsp;identity.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Omit&amp;nbsp;--global&amp;nbsp;to&amp;nbsp;set&amp;nbsp;the&amp;nbsp;identity&amp;nbsp;only&amp;nbsp;in&amp;nbsp;this&amp;nbsp;repository.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;fatal:&amp;nbsp;unable&amp;nbsp;to&amp;nbsp;auto-detect&amp;nbsp;email&amp;nbsp;address&amp;nbsp;(got&amp;nbsp;'js@JS-PC.(none)')&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;현재 Commit을 하는데 있어 누군지 신원을 입력하지 않았기 때문에 메시지가 요구하는대로 신원을 밝혀주어야 한다.&lt;/p&gt;
&lt;pre id=&quot;code_1619332579812&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git config --global user.email &quot;자신의 이메일&quot;
$ git config --global user.name &quot;자신의 이름/닉네임&quot;&lt;/code&gt;&lt;/pre&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;size18&quot;&gt;커밋(Commit)을 하면 로컬(Local: 자신의 PC 안)에서만 반영이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 GitHub에 Push(푸쉬 = 업로드)하기 위해 아래 명령어를 사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1619332789893&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git push [저장소이름] [브런치이름]

# 예시:
# git push origin main&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;* 현재 Git 프로젝트에 기본 저장소를 설정해두면 `git push` 명령어만으로도 Push가 가능하다.&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;사용중인 Git의 버전과 저장소 Scheme에 따라 출력이 다른데 HTTPS로 한 경우엔 로그인 화면이 나타난다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;로그인 화면이 나타나면 자신의 Github 계정으로 로그인하도록 하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;* 만약 SSH로 한 경우엔 SSH Key를 등록한 경우 즉시 Push가 완료되고, SSH Key를 등록하지 않은 경우 인증 실패가 나타나는데, SSH 인증은 나중에 알아보도록 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Push가 완료되면 아래와 같은 출력이 나타난다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&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;size18&quot;&gt;이제 GitHub 저장소 페이지를 새로고침하면 자신의 코드/파일이 Push(업로드)된 것을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-image-src=&quot;https://blog.kakaocdn.net/dn/VNPV4/btq3mqQTEIK/6MG8jKUYvKKI0rVtkZvxUk/img.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VNPV4/btq3mqQTEIK/6MG8jKUYvKKI0rVtkZvxUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VNPV4/btq3mqQTEIK/6MG8jKUYvKKI0rVtkZvxUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VNPV4/btq3mqQTEIK/6MG8jKUYvKKI0rVtkZvxUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVNPV4%2Fbtq3mqQTEIK%2F6MG8jKUYvKKI0rVtkZvxUk%2Fimg.png&quot; data-image-src=&quot;https://blog.kakaocdn.net/dn/VNPV4/btq3mqQTEIK/6MG8jKUYvKKI0rVtkZvxUk/img.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>기술/Git</category>
      <category>commit</category>
      <category>git</category>
      <category>push</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/59</guid>
      <comments>https://phodobit.kr/59#entry59comment</comments>
      <pubDate>Sun, 25 Apr 2021 15:46:09 +0900</pubDate>
    </item>
    <item>
      <title>Ubuntu에 node.js, npm, npx, yarn 설치</title>
      <link>https://phodobit.kr/58</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;각 명령어엔 sudo가 붙어있으므로 잘못된 명령어가 실행되지 않도록 주의!&lt;/p&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;1. Node.js 설치&lt;/p&gt;
&lt;pre id=&quot;code_1618816066362&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sudo apt install nodejs&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;2. npm 설치&lt;/p&gt;
&lt;pre id=&quot;code_1618816070130&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sudo apt install npm&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;3. npx 설치&lt;/p&gt;
&lt;pre id=&quot;code_1618816073810&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sudo npm install -g npx&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;4. yarn 설치&lt;/p&gt;
&lt;pre id=&quot;code_1618816077346&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sudo npm install -g yarn&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기술/JavaScript &amp;amp; TypeScript</category>
      <category>node.js</category>
      <category>NPM</category>
      <category>npx</category>
      <category>ubuntu</category>
      <category>yarn</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/58</guid>
      <comments>https://phodobit.kr/58#entry58comment</comments>
      <pubDate>Mon, 19 Apr 2021 16:08:40 +0900</pubDate>
    </item>
    <item>
      <title>[HTML] input, textarea에서의 자동 완성 속성 (비밀번호 자동 완성 막기)</title>
      <link>https://phodobit.kr/57</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;부제목&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;[HTML] input password 자동 완성 막기&lt;/h4&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;자동완성.png&quot; data-origin-width=&quot;393&quot; data-origin-height=&quot;251&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UpDXF/btqZ7LBMLxu/TNAdlYsYDwq7hAkGSEHa7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UpDXF/btqZ7LBMLxu/TNAdlYsYDwq7hAkGSEHa7K/img.png&quot; data-alt=&quot;Chrome에서 자동완성된 모습.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UpDXF/btqZ7LBMLxu/TNAdlYsYDwq7hAkGSEHa7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUpDXF%2FbtqZ7LBMLxu%2FTNAdlYsYDwq7hAkGSEHa7K%2Fimg.png&quot; data-filename=&quot;자동완성.png&quot; data-origin-width=&quot;393&quot; data-origin-height=&quot;251&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Chrome에서 자동완성된 모습.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;HTML에서 회원가입 화면, 로그인 화면, 정보 수정 화면을 만들고 테스트를 하다보면 회원가입이나 로그인에서 입력한 계정 정보(비밀번호 등)가 브라우저 또는 사용자가 직접 저장해서 자동 완성되어 버리는 일이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이를 방지하기 위해 자동 완성 속성(autocomplete)을 파헤쳐보려고 한다.&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;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 아래와 같은 코드로 autocomplete 속성을 추가하면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1615685615476&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;input type=&quot;password&quot; name=&quot;user_password&quot; id=&quot;user_password&quot; autocomplete=&quot;값&quot;&amp;gt;

&amp;lt;textarea name=&quot;memo&quot; id=&quot;memo&quot; autocomplete=&quot;값&quot;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;autocomplete 속성은 입력 필드에 대해 브라우저에게 어떤 항목이 자동완성 될 수 있는지 알려주고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;브라우저가 기억하고 있는 단어 중 이름이면 이름만, 비밀번호면 비밀번호만 자동완성 할 수 있도록 지정해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 autocomplete 속성이 주어지지 않은 경우 부모 &amp;lt;form&amp;gt;에 지정된 autocomplete 속성을 상속받으며(따라가며),&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;lt;form&amp;gt;에도 autocomplete가 주어지지 않은 경우엔 브라우저가 결정한다. (보통 on이 기본값)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;이제 &quot;값&quot;에 어떤 값이 들어갈 수 있는지 간단하게 설명하려 한다.&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;자동완성을 금지하는 값&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;off&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;자동완성을 금지한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 단, 크롬이나 사파리 등에서 나타나는 [구글/애플/삼성 계정에 이 계정 저장하기]를 통해 저장된 정보는 금지되지 않는다. 이 또한 금지시키려면 아래에 나오는 new-password 값을 사용하면 된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;new-password&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;새로운 비밀번호를 입력하는 영역으로 자동완성을 금지한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;off와 동일한 기능을 하지만 새로운 비밀번호를 입력하는 영역으로 완전한 자동완성을 금지할 수 있고, 크롬 등에서 안전한 무작위 비밀번호 추천을 요청할 수도 있게 된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;one-time-code&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;OTP. 즉 인증번호(인증코드)와 같이 1회용 비밀번호를 입력하는 곳으로 new-password와 마찬가지로 자동완성을 금지할 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;자동완성을 허용하는 값&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;on&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;자동완성을 허용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단순히 어떤 필드인지 구분하지 않고 오직 브라우저가 입력필드에 지정된 속성 중 &quot;name&quot;의 값을 보고 자동완성된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;그리고 자동완성을 허용하는데, 어떤 입력이 오길 바라는지 기술하는 값들&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;이름과 관련이 있는 값들&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;name : 전체 이름&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;honorific-prefix : 호칭(Mrs. Miss. 등)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;family-name : 성&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;given-name : 이름&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;additional-name : 가운데 이름&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;honorific-suffix : 경칭(Jr. 등)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;nickname : 별칭(별명, 닉네임)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;계정과 관련이 있는 값들&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;username : 사용자 계정 이름(아이디)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;email : 이메일 주소&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;current-password : 현재 비밀번호&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;비즈니스와 관련이 있는 값들&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;organization : 조직 이름&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;organization-title : 직위&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;주소와 관련이 있는 값들&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;country : 국가코드&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;country-name : 국가이름&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;postal-code : 우편번호&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;address-level1~4 : 주소를 상세하게 나누는 경우 (&lt;span style=&quot;color: #333333;&quot;&gt;address-level1, &lt;span style=&quot;color: #333333;&quot;&gt;address-level2, &lt;span style=&quot;color: #333333;&quot;&gt;address-level3, &lt;span style=&quot;color: #333333;&quot;&gt;address-level4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;street-address : 도로명 주소 (전체 주소가 아닌 도로명 이하만)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;address-line1~3 : 도로명 주소를 상세하게 나누는 경우 (&lt;span style=&quot;color: #333333;&quot;&gt;address-line1, &lt;span style=&quot;color: #333333;&quot;&gt;address-line2, &lt;span style=&quot;color: #333333;&quot;&gt;address-line3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;개인과 관련이 있는 값들&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;bday : 생년월일&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;bday-year : 생년&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;bday-month : 생월&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;bday-day : 생일의 일자&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;sex : 성별&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;tel : 전체 전화번호 &lt;span style=&quot;color: #333333;&quot;&gt;(82-2-1234-5678)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;tel-country-code : 전화번호 중 국가코드 (82)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;tel-national : 전화번호중 국가코드를 제외한 전화번호 (02-1234-5678)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;tel-area-code : 전화번호를 구성하는 지역번호 (02)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;tel-local : 전화번호중 지역번호까지 제외한 전화번호 (1234-5678)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;tel-local-prefix : tel-local에서 나눌때 앞자리 (1234)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;tel-local-suffix : tel-local에서 나눌때 뒷자리 (5678)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;tel-extension : 내선번호&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;기타&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;url : URL, 주소&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;photo : 이미지 URL 등&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;더 자세히 알아보려면 아래 레퍼런스를 보면 된다!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1615687534852&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;The HTML autocomplete attribute - HTML: HyperText Markup Language | MDN&quot; data-og-description=&quot;The HTML autocomplete attribute The HTML autocomplete attribute is available on elements that take a text or numeric value as input, elements, &amp;lt;select&amp;gt; elements, and &amp;lt;form&amp;gt; elements. autocomplete lets web developers specify what if any permission the user &quot; data-og-host=&quot;developer.mozilla.org&quot; data-og-source-url=&quot;https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete&quot; data-og-url=&quot;https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;The HTML autocomplete attribute - HTML: HyperText Markup Language | MDN&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;The HTML autocomplete attribute The HTML autocomplete attribute is available on elements that take a text or numeric value as input, elements,&lt;/p&gt;
&lt;select&gt;elements, and elements. autocomplete lets web developers specify what if any permission the user developer.mozilla.org&lt;/select&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기술/FE (HTML &amp;amp; CSS)</category>
      <category>autocomplete</category>
      <category>HTML</category>
      <category>input</category>
      <category>자동완성</category>
      <category>자동완성 막기</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/57</guid>
      <comments>https://phodobit.kr/57#entry57comment</comments>
      <pubDate>Sun, 14 Mar 2021 11:06:34 +0900</pubDate>
    </item>
    <item>
      <title>카카오톡 이모티콘 플러스 해지 방법</title>
      <link>https://phodobit.kr/56</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;1. 카카오 My 구독 홈페이지에 접속한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;링크 : &lt;a href=&quot;https://my.kakao.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;my.kakao.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1612793130212&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;My 구독&quot; data-og-description=&quot;카톡 정기결제 상품을 구독해 보세요.&quot; data-og-host=&quot;my.kakao.com&quot; data-og-source-url=&quot;https://my.kakao.com/&quot; data-og-url=&quot;https://my.kakao.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/kw5FO/hyJcRxzfLQ/it5VKddsQYldgbKlNfNk2k/img.png?width=800&amp;amp;height=400&amp;amp;face=0_0_800_400,https://scrap.kakaocdn.net/dn/btTOCZ/hyJbslSdET/WEaz4hsuJRHLd4wUQWOioK/img.png?width=800&amp;amp;height=400&amp;amp;face=0_0_800_400&quot;&gt;&lt;a href=&quot;https://my.kakao.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://my.kakao.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/kw5FO/hyJcRxzfLQ/it5VKddsQYldgbKlNfNk2k/img.png?width=800&amp;amp;height=400&amp;amp;face=0_0_800_400,https://scrap.kakaocdn.net/dn/btTOCZ/hyJbslSdET/WEaz4hsuJRHLd4wUQWOioK/img.png?width=800&amp;amp;height=400&amp;amp;face=0_0_800_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;My 구독&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;카톡 정기결제 상품을 구독해 보세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;my.kakao.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. 우측 상단의 로그인 버튼을 눌러 자신의 카카오(톡) 계정으로 로그인을 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/caYfRq/btqWxg0t4q3/xbZBpvNW5s2WavxfUG9DJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/caYfRq/btqWxg0t4q3/xbZBpvNW5s2WavxfUG9DJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/caYfRq/btqWxg0t4q3/xbZBpvNW5s2WavxfUG9DJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaYfRq%2FbtqWxg0t4q3%2FxbZBpvNW5s2WavxfUG9DJk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;3. 다시 한 번 더 우측 상단의 자신의 프로필 이미지를 클릭하여 나타나는 메뉴에서&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;지금 구독중인 이모티콘 플러스를 누른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yJXyD/btqWc9haOiG/NifOUWceldJaNmQ6KDhWNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yJXyD/btqWc9haOiG/NifOUWceldJaNmQ6KDhWNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yJXyD/btqWc9haOiG/NifOUWceldJaNmQ6KDhWNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyJXyD%2FbtqWc9haOiG%2FNifOUWceldJaNmQ6KDhWNk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;4. My 구독 정보 화면 아래에서 &quot;구독중인 상품&quot;에 있는 이모티콘 플러스를 누른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQsRxa/btqWn1pgLOE/u2BWOPI6XnDCzgFhmKIcSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQsRxa/btqWn1pgLOE/u2BWOPI6XnDCzgFhmKIcSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQsRxa/btqWn1pgLOE/u2BWOPI6XnDCzgFhmKIcSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQsRxa%2FbtqWn1pgLOE%2Fu2BWOPI6XnDCzgFhmKIcSk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;5. 구독중인 내용을 확인하고, 내용 아래에 있는 &quot;해지하기&quot;를 누른다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eRklza/btqWjqixVXa/tme0XtGU2kMDMkHitqAa2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eRklza/btqWjqixVXa/tme0XtGU2kMDMkHitqAa2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eRklza/btqWjqixVXa/tme0XtGU2kMDMkHitqAa2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeRklza%2FbtqWjqixVXa%2Ftme0XtGU2kMDMkHitqAa2k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;6. 해지 안내 화면에서 내용을 잘 읽어본 다음 &quot;해지하기&quot;를 누른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;누르자마자 다시 묻지 않고 해지신청된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6rhnT/btqWn2uUZgj/nI1zlXn050n228mE03KV8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6rhnT/btqWn2uUZgj/nI1zlXn050n228mE03KV8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6rhnT/btqWn2uUZgj/nI1zlXn050n228mE03KV8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6rhnT%2FbtqWn2uUZgj%2FnI1zlXn050n228mE03KV8K%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;7. 해지 신청되었다는 화면이 나오고, 카카오톡으로 알림톡을 받게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉시 해지가 되지 않고 해지 예정일이 있는 것은 결제금액(무료사용일 또는 3,900원)이 1개월 분량이므로 이 1개월이 지난 날이 표시되고, 이모티콘 플러스 또한 즉시 사용이 중지되는게 아닌 남은 기간 동안은 계속해서 사용할 수 있는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쉽게 설명하자면 놀이공원 1일 입장권을 산 것이고 당일의 마감시간까지 놀 수 있다는 것이다. 집에 일찍 간다고 남은 시간만큼 환불해 주는게 아니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpwDMu/btqWjpqsAAA/C2MenH4dqoCBmgGYDOGCQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpwDMu/btqWjpqsAAA/C2MenH4dqoCBmgGYDOGCQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpwDMu/btqWjpqsAAA/C2MenH4dqoCBmgGYDOGCQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpwDMu%2FbtqWjpqsAAA%2FC2MenH4dqoCBmgGYDOGCQ1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;해지 끝!&lt;/p&gt;</description>
      <category>정보</category>
      <category>방법</category>
      <category>이모티콘 플러스</category>
      <category>카카오톡</category>
      <category>해지</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/56</guid>
      <comments>https://phodobit.kr/56#entry56comment</comments>
      <pubDate>Mon, 8 Feb 2021 23:24:38 +0900</pubDate>
    </item>
    <item>
      <title>CentOS 7에 libmicrohttpd 설치하기</title>
      <link>https://phodobit.kr/55</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;기존에 소스코드를 빌드하여 설치한 경우 반드시 제거해야한다. 제거 방법은 아래 명령어를 사용하도록 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약 소스코드 디렉토리를 삭제한 경우에는 다시 다운로드 받아 저장한 다음, 설치했던 때와 같은 configure 옵션을 준 다음에 명령어를 입력하면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1610873587278&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ cd &quot;기존 소스코드 디렉토리&quot;

$ make uninstall&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;EPEL Release 저장소 설치 (이미 설치했다면 건너뛴다.)&lt;/p&gt;
&lt;pre id=&quot;code_1610873727827&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ yum install epel-release&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git 설치 (이미 설치했다면 건너뛴다.)&lt;/p&gt;
&lt;pre id=&quot;code_1610873872115&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum install git&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;HTTPS 지원을 위한 의존성(GnuTLS) 설치 (HTTPS를 사용하지 않는다면 건너뛴다.)&lt;/p&gt;
&lt;pre id=&quot;code_1610873709075&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ yum install gnutls gnutls-devel&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;libmicrohttpd 소스코드 클론(다운로드)&lt;/p&gt;
&lt;pre id=&quot;code_1610873829464&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 원하는 작업 디렉토리...
$ cd ~

$ git clone https://github.com/Karlson2k/libmicrohttpd.git
$ cd libmicrohttpd
$ git checkout v0.9.71&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;빌드 전 구성 설정&lt;/p&gt;
&lt;pre id=&quot;code_1610873431703&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ autoreconf -fi
$ ./configure --prefix=/usr --libdir=/usr/lib64 --enable-https=yes

만약, HTTPS를 사용하지 않는다면 --enable-https=yes를 --enable-https=no로 변경한다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;빌드 및 설치&lt;/p&gt;
&lt;pre id=&quot;code_1610873915348&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ make
$ make install&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기술/기타</category>
      <category>CentOS</category>
      <category>libmicrohttpd</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/55</guid>
      <comments>https://phodobit.kr/55#entry55comment</comments>
      <pubDate>Sun, 17 Jan 2021 18:05:21 +0900</pubDate>
    </item>
    <item>
      <title>Git 공식 한국어 가이드북</title>
      <link>https://phodobit.kr/54</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;블로그에 Git 명령어를 정리하려고 했었는데 Git 홈페이지에 한국어 가이드북이 있어 링크를 공유!&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;띄엄띄엄 읽어보니 매우 좋게 정리되어 있어서 블로그에 따로 정리하지 않아도 될 것 같다&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;링크: &lt;a href=&quot;https://git-scm.com/book/ko/v2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://git-scm.com/book/ko/v2&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1608825716938&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Git - Book&quot; data-og-description=&quot;&quot; data-og-host=&quot;git-scm.com&quot; data-og-source-url=&quot;https://git-scm.com/book/ko/v2&quot; data-og-url=&quot;https://git-scm.com/book/ko/v2&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/0fTWK/hyIGuDHXme/0mMhikCBsBohWochzpz07k/img.png?width=300&amp;amp;height=388&amp;amp;face=0_0_300_388,https://scrap.kakaocdn.net/dn/disWqi/hyIGrUu7uU/Kvky9I1LEoyJSNBwgjxz4K/img.png?width=300&amp;amp;height=388&amp;amp;face=0_0_300_388,https://scrap.kakaocdn.net/dn/bgzsjv/hyIGkA4VBN/y9J3h7kl66QsEKFKj01oHK/img.png?width=300&amp;amp;height=388&amp;amp;face=0_0_300_388&quot;&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://git-scm.com/book/ko/v2&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/0fTWK/hyIGuDHXme/0mMhikCBsBohWochzpz07k/img.png?width=300&amp;amp;height=388&amp;amp;face=0_0_300_388,https://scrap.kakaocdn.net/dn/disWqi/hyIGrUu7uU/Kvky9I1LEoyJSNBwgjxz4K/img.png?width=300&amp;amp;height=388&amp;amp;face=0_0_300_388,https://scrap.kakaocdn.net/dn/bgzsjv/hyIGkA4VBN/y9J3h7kl66QsEKFKj01oHK/img.png?width=300&amp;amp;height=388&amp;amp;face=0_0_300_388');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Git - Book&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;git-scm.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;목차:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;1.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC%EB%9E%80%3F&quot;&gt;시작하기&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;1.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC%EB%9E%80%3F&quot;&gt;버전 관리란?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-%EC%A7%A7%EA%B2%8C-%EB%B3%B4%EB%8A%94-Git%EC%9D%98-%EC%97%AD%EC%82%AC&quot;&gt;짧게 보는 Git의 역사&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EA%B8%B0%EC%B4%88&quot;&gt;Git 기초&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1.4&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-CLI&quot;&gt;CLI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1.5&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EC%84%A4%EC%B9%98&quot;&gt;Git 설치&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1.6&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EC%B5%9C%EC%B4%88-%EC%84%A4%EC%A0%95&quot;&gt;Git 최초 설정&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1.7&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-%EB%8F%84%EC%9B%80%EB%A7%90-%EB%B3%B4%EA%B8%B0&quot;&gt;도움말 보기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1.8&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-%EC%9A%94%EC%95%BD&quot;&gt;요약&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;2.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-Git-%EC%A0%80%EC%9E%A5%EC%86%8C-%EB%A7%8C%EB%93%A4%EA%B8%B0&quot;&gt;Git의 기초&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;2.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-Git-%EC%A0%80%EC%9E%A5%EC%86%8C-%EB%A7%8C%EB%93%A4%EA%B8%B0&quot;&gt;Git 저장소 만들기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EC%88%98%EC%A0%95%ED%95%98%EA%B3%A0-%EC%A0%80%EC%9E%A5%EC%86%8C%EC%97%90-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0&quot;&gt;수정하고 저장소에 저장하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EC%BB%A4%EB%B0%8B-%ED%9E%88%EC%8A%A4%ED%86%A0%EB%A6%AC-%EC%A1%B0%ED%9A%8C%ED%95%98%EA%B8%B0&quot;&gt;커밋 히스토리 조회하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2.4&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EB%90%98%EB%8F%8C%EB%A6%AC%EA%B8%B0&quot;&gt;되돌리기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2.5&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EB%A6%AC%EB%AA%A8%ED%8A%B8-%EC%A0%80%EC%9E%A5%EC%86%8C&quot;&gt;리모트 저장소&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2.6&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%ED%83%9C%EA%B7%B8&quot;&gt;태그&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2.7&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-Git-Alias&quot;&gt;Git Alias&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2.8&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EC%9A%94%EC%95%BD&quot;&gt;요약&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;3.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EB%B8%8C%EB%9E%9C%EC%B9%98%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80&quot;&gt;Git 브랜치&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;3.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EB%B8%8C%EB%9E%9C%EC%B9%98%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80&quot;&gt;브랜치란 무엇인가&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EB%B8%8C%EB%9E%9C%EC%B9%98%EC%99%80-Merge-%EC%9D%98-%EA%B8%B0%EC%B4%88&quot;&gt;브랜치와 Merge 의 기초&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EA%B4%80%EB%A6%AC&quot;&gt;브랜치 관리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3.4&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EC%9B%8C%ED%81%AC%ED%94%8C%EB%A1%9C&quot;&gt;브랜치 워크플로&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3.5&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EB%A6%AC%EB%AA%A8%ED%8A%B8-%EB%B8%8C%EB%9E%9C%EC%B9%98&quot;&gt;리모트 브랜치&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3.6&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-Rebase-%ED%95%98%EA%B8%B0&quot;&gt;Rebase 하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3.7&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EC%9A%94%EC%95%BD&quot;&gt;요약&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;4.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C&quot;&gt;Git 서버&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;4.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C&quot;&gt;프로토콜&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-%EC%84%9C%EB%B2%84%EC%97%90-Git-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0&quot;&gt;서버에 Git 설치하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-SSH-%EA%B3%B5%EA%B0%9C%ED%82%A4-%EB%A7%8C%EB%93%A4%EA%B8%B0&quot;&gt;SSH 공개키 만들기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4.4&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-%EC%84%9C%EB%B2%84-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&quot;&gt;서버 설정하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4.5&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-Git-%EB%8D%B0%EB%AA%AC&quot;&gt;Git 데몬&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4.6&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-%EC%8A%A4%EB%A7%88%ED%8A%B8-HTTP&quot;&gt;스마트 HTTP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4.7&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-GitWeb&quot;&gt;GitWeb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4.8&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-GitLab&quot;&gt;GitLab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4.9&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-%EB%98%90-%EB%8B%A4%EB%A5%B8-%EC%84%A0%ED%83%9D%EC%A7%80%2C-%ED%98%B8%EC%8A%A4%ED%8C%85&quot;&gt;또 다른 선택지, 호스팅&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4.10&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-%EC%9A%94%EC%95%BD&quot;&gt;요약&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;5.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EB%B6%84%EC%82%B0-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%EC%9D%98-Git-%EB%B6%84%EC%82%B0-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%EC%9D%98-%EC%9B%8C%ED%81%AC%ED%94%8C%EB%A1%9C&quot;&gt;분산 환경에서의 Git&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;5.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EB%B6%84%EC%82%B0-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%EC%9D%98-Git-%EB%B6%84%EC%82%B0-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%EC%9D%98-%EC%9B%8C%ED%81%AC%ED%94%8C%EB%A1%9C&quot;&gt;분산 환경에서의 워크플로&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;5.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EB%B6%84%EC%82%B0-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%EC%9D%98-Git-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%97%90-%EA%B8%B0%EC%97%AC%ED%95%98%EA%B8%B0&quot;&gt;프로젝트에 기여하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;5.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EB%B6%84%EC%82%B0-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%EC%9D%98-Git-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0&quot;&gt;프로젝트 관리하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;5.4&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/%EB%B6%84%EC%82%B0-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%EC%9D%98-Git-%EC%9A%94%EC%95%BD&quot;&gt;요약&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;6.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/GitHub-%EA%B3%84%EC%A0%95-%EB%A7%8C%EB%93%A4%EA%B3%A0-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&quot;&gt;GitHub&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;6.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/GitHub-%EA%B3%84%EC%A0%95-%EB%A7%8C%EB%93%A4%EA%B3%A0-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&quot;&gt;계정 만들고 설정하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;6.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/GitHub-GitHub-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%97%90-%EA%B8%B0%EC%97%AC%ED%95%98%EA%B8%B0&quot;&gt;GitHub 프로젝트에 기여하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;6.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/GitHub-GitHub-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0&quot;&gt;GitHub 프로젝트 관리하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;6.4&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/GitHub-Organization-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0&quot;&gt;Organization 관리하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;6.5&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/GitHub-GitHub-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8C%85&quot;&gt;GitHub 스크립팅&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;6.6&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/GitHub-%EC%9A%94%EC%95%BD&quot;&gt;요약&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;7.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EB%A6%AC%EB%B9%84%EC%A0%84-%EC%A1%B0%ED%9A%8C%ED%95%98%EA%B8%B0&quot;&gt;Git 도구&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;7.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EB%A6%AC%EB%B9%84%EC%A0%84-%EC%A1%B0%ED%9A%8C%ED%95%98%EA%B8%B0&quot;&gt;리비전 조회하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EB%8C%80%ED%99%94%ED%98%95-%EB%AA%85%EB%A0%B9&quot;&gt;대화형 명령&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Stashing%EA%B3%BC-Cleaning&quot;&gt;Stashing과 Cleaning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.4&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EB%82%B4-%EC%9E%91%EC%97%85%EC%97%90-%EC%84%9C%EB%AA%85%ED%95%98%EA%B8%B0&quot;&gt;내 작업에 서명하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.5&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EA%B2%80%EC%83%89&quot;&gt;검색&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.6&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%ED%9E%88%EC%8A%A4%ED%86%A0%EB%A6%AC-%EB%8B%A8%EC%9E%A5%ED%95%98%EA%B8%B0&quot;&gt;히스토리 단장하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.7&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Reset-%EB%AA%85%ED%99%95%ED%9E%88-%EC%95%8C%EA%B3%A0-%EA%B0%80%EA%B8%B0&quot;&gt;Reset 명확히 알고 가기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.8&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EA%B3%A0%EA%B8%89-Merge&quot;&gt;고급 Merge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.9&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Rerere&quot;&gt;Rerere&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.10&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Git%EC%9C%BC%EB%A1%9C-%EB%B2%84%EA%B7%B8-%EC%B0%BE%EA%B8%B0&quot;&gt;Git으로 버그 찾기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.11&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EC%84%9C%EB%B8%8C%EB%AA%A8%EB%93%88&quot;&gt;서브모듈&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.12&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Bundle&quot;&gt;Bundle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.13&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Replace&quot;&gt;Replace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.14&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Credential-%EC%A0%80%EC%9E%A5%EC%86%8C&quot;&gt;Credential 저장소&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7.15&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EC%9A%94%EC%95%BD&quot;&gt;요약&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;8.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EB%A7%9E%EC%B6%A4-Git-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&quot;&gt;Git맞춤&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;8.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EB%A7%9E%EC%B6%A4-Git-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&quot;&gt;Git 설정하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;8.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EB%A7%9E%EC%B6%A4-Git-Attributes&quot;&gt;Git Attributes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;8.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EB%A7%9E%EC%B6%A4-Git-Hooks&quot;&gt;Git Hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;8.4&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EB%A7%9E%EC%B6%A4-%EC%A0%95%EC%B1%85-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0&quot;&gt;정책 구현하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;8.5&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EB%A7%9E%EC%B6%A4-%EC%9A%94%EC%95%BD&quot;&gt;요약&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;9.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EA%B3%BC-%EC%97%AC%ED%83%80-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC-%EC%8B%9C%EC%8A%A4%ED%85%9C-Git%3A-%EB%B2%94%EC%9A%A9-Client&quot;&gt;Git과 여타 버전 관리 시스템&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;9.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EA%B3%BC-%EC%97%AC%ED%83%80-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC-%EC%8B%9C%EC%8A%A4%ED%85%9C-Git%3A-%EB%B2%94%EC%9A%A9-Client&quot;&gt;Git: 범용 Client&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;9.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EA%B3%BC-%EC%97%AC%ED%83%80-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC-%EC%8B%9C%EC%8A%A4%ED%85%9C-Git%EC%9C%BC%EB%A1%9C-%EC%98%AE%EA%B8%B0%EA%B8%B0&quot;&gt;Git으로 옮기기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;9.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EA%B3%BC-%EC%97%AC%ED%83%80-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%9A%94%EC%95%BD&quot;&gt;요약&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;10.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EB%82%B4%EB%B6%80-Plumbing-%EB%AA%85%EB%A0%B9%EA%B3%BC-Porcelain-%EB%AA%85%EB%A0%B9&quot;&gt;Git의 내부&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;10.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EB%82%B4%EB%B6%80-Plumbing-%EB%AA%85%EB%A0%B9%EA%B3%BC-Porcelain-%EB%AA%85%EB%A0%B9&quot;&gt;Plumbing 명령과 Porcelain 명령&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;10.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EB%82%B4%EB%B6%80-Git-%EA%B0%9C%EC%B2%B4&quot;&gt;Git 개체&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;10.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EB%82%B4%EB%B6%80-Git-Refs&quot;&gt;Git Refs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;10.4&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EB%82%B4%EB%B6%80-Packfile&quot;&gt;Packfile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;10.5&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EB%82%B4%EB%B6%80-Refspec&quot;&gt;Refspec&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;10.6&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EB%82%B4%EB%B6%80-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%A0%84%EC%86%A1-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C&quot;&gt;데이터 전송 프로토콜&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;10.7&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EB%82%B4%EB%B6%80-%EC%9A%B4%EC%98%81-%EB%B0%8F-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B3%B5%EA%B5%AC&quot;&gt;운영 및 데이터 복구&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;10.8&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EB%82%B4%EB%B6%80-%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98&quot;&gt;환경변수&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;10.9&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EB%82%B4%EB%B6%80-%EC%9A%94%EC%95%BD&quot;&gt;요약&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;A1.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-A%3A-%EB%8B%A4%EC%96%91%ED%95%9C-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-Git-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-GUI&quot;&gt;Appendix A: 다양한 환경에서 Git 사용하기&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;A1.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-A%3A-%EB%8B%A4%EC%96%91%ED%95%9C-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-Git-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-GUI&quot;&gt;GUI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A1.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-A%3A-%EB%8B%A4%EC%96%91%ED%95%9C-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-Git-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-Visual-Studio&quot;&gt;Visual Studio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A1.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-A%3A-%EB%8B%A4%EC%96%91%ED%95%9C-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-Git-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-Eclipse&quot;&gt;Eclipse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A1.4&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-A%3A-%EB%8B%A4%EC%96%91%ED%95%9C-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-Git-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-Bash&quot;&gt;Bash&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A1.5&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-A%3A-%EB%8B%A4%EC%96%91%ED%95%9C-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-Git-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-Zsh&quot;&gt;Zsh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A1.6&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-A%3A-%EB%8B%A4%EC%96%91%ED%95%9C-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-Git-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-Git-in-Powershell&quot;&gt;Git in Powershell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A1.7&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-A%3A-%EB%8B%A4%EC%96%91%ED%95%9C-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-Git-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-%EC%9A%94%EC%95%BD&quot;&gt;요약&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;A2.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-B%3A-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%97%90-Git-%EB%84%A3%EA%B8%B0-Git-%EB%AA%85%EB%A0%B9%EC%96%B4&quot;&gt;Appendix B: 애플리케이션에 Git 넣기&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;A2.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-B%3A-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%97%90-Git-%EB%84%A3%EA%B8%B0-Git-%EB%AA%85%EB%A0%B9%EC%96%B4&quot;&gt;Git 명령어&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A2.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-B%3A-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%97%90-Git-%EB%84%A3%EA%B8%B0-Libgit2&quot;&gt;Libgit2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A2.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-B%3A-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%97%90-Git-%EB%84%A3%EA%B8%B0-JGit&quot;&gt;JGit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A2.4&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-B%3A-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%97%90-Git-%EB%84%A3%EA%B8%B0-go-git&quot;&gt;go-git&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;A3.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-C%3A-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%84%A4%EC%B9%98%EC%99%80-%EC%84%A4%EC%A0%95&quot;&gt;Appendix C: Git 명령어&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;A3.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-C%3A-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%84%A4%EC%B9%98%EC%99%80-%EC%84%A4%EC%A0%95&quot;&gt;설치와 설정&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A3.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-C%3A-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0%EC%99%80-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0&quot;&gt;프로젝트 가져오기와 생성하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A3.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-C%3A-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%8A%A4%EB%83%85%EC%83%B7-%EB%8B%A4%EB%A3%A8%EA%B8%B0&quot;&gt;스냅샷 다루기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A3.4&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-C%3A-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-Branch%EC%99%80-Merge&quot;&gt;Branch와 Merge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A3.5&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-C%3A-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EA%B3%B5%EC%9C%A0%ED%95%98%EA%B3%A0-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8%ED%95%98%EA%B8%B0&quot;&gt;공유하고 업데이트하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A3.6&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-C%3A-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%B3%B4%EA%B8%B0%EC%99%80-%EB%B9%84%EA%B5%90&quot;&gt;보기와 비교&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A3.7&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-C%3A-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-Debugging&quot;&gt;Debugging&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A3.8&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-C%3A-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-Patch-%ED%95%98%EA%B8%B0&quot;&gt;Patch 하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A3.9&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-C%3A-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-Email&quot;&gt;Email&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A3.10&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-C%3A-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%8B%A4%EB%A5%B8-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC-%EC%8B%9C%EC%8A%A4%ED%85%9C&quot;&gt;다른 버전 관리 시스템&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A3.11&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-C%3A-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EA%B4%80%EB%A6%AC&quot;&gt;관리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A3.12&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://git-scm.com/book/ko/v2/Appendix-C%3A-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-Plumbing-%EB%AA%85%EB%A0%B9%EC%96%B4&quot;&gt;Plumbing 명령어&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>기술/Git</category>
      <category>git</category>
      <category>git 가이드</category>
      <category>공식</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/54</guid>
      <comments>https://phodobit.kr/54#entry54comment</comments>
      <pubDate>Fri, 25 Dec 2020 01:07:44 +0900</pubDate>
    </item>
    <item>
      <title>CentOS 7에 Git을 설치해보자!</title>
      <link>https://phodobit.kr/53</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;# 부제목&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;CentOS 7 Git 설치 방법&lt;/h4&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;[1] 빠르게 Git 설치하기 (1.x 버전)&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2.x 버전의 Git을 설치하려면 아래쪽(2번 항목)으로 넘어가세요!&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, CentOS 7에서의 Git 설치는 매우 간편하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;패키지 매니저인 yum을 통해 바로 설치할 수 있는데, 터미널을 열고 아래의 명령어를 입력하여 Git을 설치해보자!&lt;/p&gt;
&lt;pre id=&quot;code_1608817547890&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;gt; root 계정일 경우
yum install git

&amp;gt; 관리자 권한을 가진 사용자 계정일 경우
sudo yum install git

&amp;gt; root로 전환후 설치
sudo su
yum install git&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;비밀번호를 묻는 경우 비밀번호를 입력 후 Enter키를 눌러준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dvCoAS/btqRnOaJvT0/eClCdiqYgwOm6ggc87KAhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dvCoAS/btqRnOaJvT0/eClCdiqYgwOm6ggc87KAhk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dvCoAS/btqRnOaJvT0/eClCdiqYgwOm6ggc87KAhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdvCoAS%2FbtqRnOaJvT0%2FeClCdiqYgwOm6ggc87KAhk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git과 Git에 필요한 의존성(Dependency) 목록이 나타난 후 설치할 것인지 물어보는데 y를 입력해준 다음, Enter키를 눌러준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;지금 설치하려는 Git의 버전이 사진과 같이 1.8.3 버전이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;글을 작성하는 기준으로는 2.9.5가 최신 버전인데 최신 버전을 설치하는 방법은 아래에서 다뤄볼 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFOHNm/btqRoP76Gjq/C1VyeJ4ruXmMo1Ny1i4vZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFOHNm/btqRoP76Gjq/C1VyeJ4ruXmMo1Ny1i4vZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFOHNm/btqRoP76Gjq/C1VyeJ4ruXmMo1Ny1i4vZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFOHNm%2FbtqRoP76Gjq%2FC1VyeJ4ruXmMo1Ny1i4vZ1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설치에 필요한 GPG Key를 등록할 것인지 물어본다면 y를 입력 후 Enter를 눌러준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;어느 인터넷의 자료를 보더라도 사용자가 신뢰할 수 있는지 확인을 하는 것이 매우 중요하다. (악성 소프트웨어의 설치와 실행을 방지하기 위해서...)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1TvpB/btqRomE3NNV/Gw8FMPWYYJj82GAe9O7XYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1TvpB/btqRomE3NNV/Gw8FMPWYYJj82GAe9O7XYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1TvpB/btqRomE3NNV/Gw8FMPWYYJj82GAe9O7XYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1TvpB%2FbtqRomE3NNV%2FGw8FMPWYYJj82GAe9O7XYk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Installed 항목에 Git이 표시되고, Complete! 메시지가 나타나면 Git이 성공적으로 설치된 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bosyIE/btqRjfNvVTi/TQEkms30YExT31urLDqHkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bosyIE/btqRjfNvVTi/TQEkms30YExT31urLDqHkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bosyIE/btqRjfNvVTi/TQEkms30YExT31urLDqHkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbosyIE%2FbtqRjfNvVTi%2FTQEkms30YExT31urLDqHkK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래의 명령어를 입력하여 Git이 정상적으로 설치되었는지 확인해보자.&lt;/p&gt;
&lt;pre id=&quot;code_1608818189456&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git --version&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;그림과 같이 Git의 버전이 정상적으로 표시된다면 완벽하게 설치된 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdWNMI/btqRlJgs7hg/rKTz1nYsYrlM9dC3aMlGS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdWNMI/btqRlJgs7hg/rKTz1nYsYrlM9dC3aMlGS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdWNMI/btqRlJgs7hg/rKTz1nYsYrlM9dC3aMlGS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdWNMI%2FbtqRlJgs7hg%2FrKTz1nYsYrlM9dC3aMlGS0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;[2] 2.x 버전의 Git 설치하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그렇다고 2.x 버전의 Git을 설치하는 방법이 당장 어려운 편은 아니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;첫 번째 방법으로는 Git 홈페이지에서 제공하는 소스코드를 다운로드 받아 직접 빌드하여 설치할 수도 있고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;두 번째 방법으로는 제3자 저장소(3rd-party Repository, 써드파티 레포지토리, 3rd-party repo)에서 제공하는 Git 바이너리를 설치할 수도 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 글에서는 제3자 저장소를 패키지 매니저에 등록하여 Git을 설치해보려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3rd-party repo는 반드시 &lt;span style=&quot;color: #ee2323;&quot;&gt;신뢰할 수 있는 저장소만 설치&lt;/span&gt;해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를들어 Git 소스를 빌드하는 과정에 &lt;u&gt;악성코드를 삽입한 코드를 함께 빌드하고 배포할 수도 있기 때문&lt;/u&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;가장 먼저 할 일은 제3자 저장소를 찾는 일이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;3rd repo를 찾는 것은 시간이 조금 필요한데 이미 Git 홈페이지에서는 IUS repo를 소개해주고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://git-scm.com/download/linux&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://git-scm.com/download/linux&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1608818919130&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Git&quot; data-og-description=&quot;Download for Linux and Unix It is easiest to install Git on Linux using the preferred package manager of your Linux distribution. If you prefer to build from source, you can find tarballs on kernel.org. The latest version is 2.29.2. Debian/Ubuntu For the l&quot; data-og-host=&quot;git-scm.com&quot; data-og-source-url=&quot;https://git-scm.com/download/linux&quot; data-og-url=&quot;https://git-scm.com/download/linux&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://git-scm.com/download/linux&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://git-scm.com/download/linux&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Git&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Download for Linux and Unix It is easiest to install Git on Linux using the preferred package manager of your Linux distribution. If you prefer to build from source, you can find tarballs on kernel.org. The latest version is 2.29.2. Debian/Ubuntu For the l&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;git-scm.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwwY5T/btqRoRLElAY/0RhAykFr2pHRUzTgKbeSGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwwY5T/btqRoRLElAY/0RhAykFr2pHRUzTgKbeSGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwwY5T/btqRoRLElAY/0RhAykFr2pHRUzTgKbeSGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwwY5T%2FbtqRoRLElAY%2F0RhAykFr2pHRUzTgKbeSGk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 외에 많이 사용하는 Git 설치를 위한 repo는 WANdisco인데, 두 repo 모두 설명해보고자 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;참고로, 오늘(2020년 12월 24일) 기준으로 각 repo에서 설치되는 Git의 버전은 아래와 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;IUS : 2.24.3&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;WANdisco : 2.8.0&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;[2-1] IUS Repository를 등록하고 Git 설치하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래는 IUS repo를 설치를 위한 페이지이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://ius.io/setup&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://ius.io/setup&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1608819181941&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;IUS - Setup&quot; data-og-description=&quot;Setup To enable the IUS repository on your system, install the ius-release package. This package contains the IUS repository configuration and public package signing keys. Many IUS packages have dependencies from the EPEL repository, so install the epel-re&quot; data-og-host=&quot;ius.io&quot; data-og-source-url=&quot;https://ius.io/setup&quot; data-og-url=&quot;https://ius.io/setup&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://ius.io/setup&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ius.io/setup&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;IUS - Setup&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Setup To enable the IUS repository on your system, install the ius-release package. This package contains the IUS repository configuration and public package signing keys. Many IUS packages have dependencies from the EPEL repository, so install the epel-re&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;ius.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;repo 설치에 필요한 명령어 복사하여, 터미널에 붙여넣거나 수기로 입력한 다음 Enter키를 눌러준다.&lt;/p&gt;
&lt;pre id=&quot;code_1608819244525&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum install https://repo.ius.io/ius-release-el7.rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

* 한 줄에 입력&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설치되는 패키지를 확인 후 y를 입력한 다음 Enter 키를 눌러준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cA8hWd/btqRoQeQJ15/VH0PTaKsaacdKY3Sie5c10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cA8hWd/btqRoQeQJ15/VH0PTaKsaacdKY3Sie5c10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cA8hWd/btqRoQeQJ15/VH0PTaKsaacdKY3Sie5c10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcA8hWd%2FbtqRoQeQJ15%2FVH0PTaKsaacdKY3Sie5c10%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;IUS repo가 정상적으로 설치(등록)된 것을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w0uPo/btqRol7cTWC/Y6MJ1JU7aKCRTtMQcwnZ3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w0uPo/btqRol7cTWC/Y6MJ1JU7aKCRTtMQcwnZ3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w0uPo/btqRol7cTWC/Y6MJ1JU7aKCRTtMQcwnZ3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw0uPo%2FbtqRol7cTWC%2FY6MJ1JU7aKCRTtMQcwnZ3k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래의 명령어를 입력하여 설치할 수 있는 Git 목록을 검색한다.&lt;/p&gt;
&lt;pre id=&quot;code_1608819584378&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum search git&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;'git'이라는 단어가 포함된 패키지 목록이 나열될 것이고, 이 중에서 IUS가 배포하는 Git인 'git2xx.~' 항목을 찾는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 그림에 의하면 현재 시간 기준으로 &lt;b&gt;git224&lt;/b&gt;를 사용할 수 있는 것으로 나타난다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;그냥 git은 기존의 CentOS 기본 repo(base, ... 등)에서 나타나는 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dLjBXO/btqRollUwC1/fi279cm1gRVB5woRnmiTS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dLjBXO/btqRollUwC1/fi279cm1gRVB5woRnmiTS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dLjBXO/btqRollUwC1/fi279cm1gRVB5woRnmiTS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdLjBXO%2FbtqRollUwC1%2Ffi279cm1gRVB5woRnmiTS0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설치할 수 있는 Git을 찾았다면 아래 명령어로 Git 설치를 시작한다.&lt;/p&gt;
&lt;pre id=&quot;code_1608819806839&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum install git224

git224는 바로 이전 단계에서 확인된 이름을 입력하면 된다.
뒤쪽의 &quot;.x86_64&quot;는 아키텍처 구분자로 입력하지 않아도 된다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git이 설치되었다면 아래의 명령어를 입력하여 설치된 Git의 버전을 확인한다.&lt;/p&gt;
&lt;pre id=&quot;code_1608820242237&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git --version&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c1XFHr/btqRlH31oPT/6cymbEHMFlO1JFsguAFay1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c1XFHr/btqRlH31oPT/6cymbEHMFlO1JFsguAFay1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c1XFHr/btqRlH31oPT/6cymbEHMFlO1JFsguAFay1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1XFHr%2FbtqRlH31oPT%2F6cymbEHMFlO1JFsguAFay1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 설치 도중 아래와 같이 &quot;... conflicts(충돌) ... with XXX&quot;라는 오류가 나타난다면 사용중인 시스템에서 &quot;XXX&quot;라는 패키지와 충돌이 나는 것으로 설치할 수 없는 것이다.&lt;/p&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]에서 설치한 Git 1.x 버전으로 인해 충돌이 나는 것이므로 기존 Git을 삭제해버릴 것이다.&lt;/p&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;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bILuBf/btqRol0rimL/lJVzR4VrhZVqXEeJ2Az6L0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bILuBf/btqRol0rimL/lJVzR4VrhZVqXEeJ2Az6L0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bILuBf/btqRol0rimL/lJVzR4VrhZVqXEeJ2Az6L0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbILuBf%2FbtqRol0rimL%2FlJVzR4VrhZVqXEeJ2Az6L0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에 설치된 Git을 삭제하는 명령어&lt;/p&gt;
&lt;pre id=&quot;code_1608820103616&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum remove git&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&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;h3 data-ke-size=&quot;size23&quot;&gt;[2-2] WANdisco Repository를 등록하고 Git 설치하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;WANdisco에서 제공하는 가이드 링크는 아래와 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;http://docs.wandisco.com/git/binaries/#_redhat_enterprise_linux&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;http://docs.wandisco.com/git/binaries/#_redhat_enterprise_linux&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1608820575841&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;WANdisco GitMS Binaries&quot; data-og-description=&quot;If you are updating to a newer version of GitMS, or rolling back to a previous one, then you need to uninstall the current C-Git binaries before installing the correct ones for your new version of GitMS. To do this use the relevant commands below. If you u&quot; data-og-host=&quot;docs.wandisco.com&quot; data-og-source-url=&quot;http://docs.wandisco.com/git/binaries/#_redhat_enterprise_linux&quot; data-og-url=&quot;http://docs.wandisco.com/git/binaries/#_redhat_enterprise_linux&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;http://docs.wandisco.com/git/binaries/#_redhat_enterprise_linux&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;http://docs.wandisco.com/git/binaries/#_redhat_enterprise_linux&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;WANdisco GitMS Binaries&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;If you are updating to a newer version of GitMS, or rolling back to a previous one, then you need to uninstall the current C-Git binaries before installing the correct ones for your new version of GitMS. To do this use the relevant commands below. If you u&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;docs.wandisco.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 root 계정으로 전환한다.&lt;/p&gt;
&lt;pre id=&quot;code_1608820700034&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo su&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래 명령어를 입력하여 WANdisco 저장소 정보를 기록한다.&lt;/p&gt;
&lt;pre id=&quot;code_1608820739165&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat &amp;gt; /etc/yum.repos.d/WANdisco-git.repo &amp;lt;&amp;lt; EOF
[WANdisco-git]
name=WANdisco Replicated Git
baseurl=http://opensource.wandisco.com/centos/\$releasever/git/\$basearch
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-WANdisco
EOF

* 위 7개의 줄을 모두 입력
* 가이드의 내용과 이 곳의 baseurl이 다름에 유의할것!
** 가이드는 최신 버전 대신 사본 버전이 있음.&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VffFV/btqRlIPr3ir/B34x78o0KjXXZu73Q93Ez1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VffFV/btqRlIPr3ir/B34x78o0KjXXZu73Q93Ez1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VffFV/btqRlIPr3ir/B34x78o0KjXXZu73Q93Ez1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVffFV%2FbtqRlIPr3ir%2FB34x78o0KjXXZu73Q93Ez1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;WANdisco의 GPG Key를 등록한다.&lt;/p&gt;
&lt;pre id=&quot;code_1608820847122&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;* KEY 파일 저장
curl -s http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco &amp;gt; RPM-GPG-KEY-WANdisco

* KEY 파일 설치(등록)
rpm --import RPM-GPG-KEY-WANdisco

* 저장된 KEY 파일 삭제(위에서 등록하였으므로 잔여물 삭제)
rm RPM-GPG-KEY-WANdisco&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 패키지 매니저로 git의 정보를 보는데,&amp;nbsp;IUS repo와 다르게 WANdisco에서는 Git을 바로 'git'으로 제공한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래 명령어를 입력하여 설치 가능한 버전을 확인한다.&lt;/p&gt;
&lt;pre id=&quot;code_1608820924684&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum info --showduplicates git&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;수 많은 목록중에 설치가 가능한 원하는 버전을 찾도록 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cSg4f4/btqRqQkVA3A/ugMnxXCnkwhibaKaLMZtp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cSg4f4/btqRqQkVA3A/ugMnxXCnkwhibaKaLMZtp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cSg4f4/btqRqQkVA3A/ugMnxXCnkwhibaKaLMZtp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSg4f4%2FbtqRqQkVA3A%2FugMnxXCnkwhibaKaLMZtp0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 이후에 아래와 같은 명령어를 통해 Git을 설치한다.&lt;/p&gt;
&lt;pre id=&quot;code_1608822751649&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum install git-버전

ex)
yum install git-2.8.0&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설치되 패키지와 의존성, 버전을 확인 한 후 y를 입력 후 Enter 키를 누른다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3aXr7/btqRol0tQ3c/3F1jPxfWvHKBBiI9gLZ4GK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3aXr7/btqRol0tQ3c/3F1jPxfWvHKBBiI9gLZ4GK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3aXr7/btqRol0tQ3c/3F1jPxfWvHKBBiI9gLZ4GK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3aXr7%2FbtqRol0tQ3c%2F3F1jPxfWvHKBBiI9gLZ4GK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git이 설치된 이후 아래이 명령어를 통해 설치된 버전을 다시 확인한다.&lt;/p&gt;
&lt;pre id=&quot;code_1608822873001&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git --version&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yrPvN/btqRje8WrdF/PfVKlH4v8mv96okwd6ITe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yrPvN/btqRje8WrdF/PfVKlH4v8mv96okwd6ITe0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yrPvN/btqRje8WrdF/PfVKlH4v8mv96okwd6ITe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyrPvN%2FbtqRje8WrdF%2FPfVKlH4v8mv96okwd6ITe0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 도중 충돌(Error ... conflicts with ...)이 난다면 어느 패키지와 충돌인지 확인 한 후 적절한 대처를 해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 사진은 IUS repo에서 설치한 git과 충돌이 나는 것이므로 과감히 기존 Git을 삭제후 설치로 해결하였지만, 다른 패키지와의 충돌은 각자가 고민해볼 필요가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cO6zKd/btqRqRRFufX/dhWPU0XQFHG6K9EryD4lY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cO6zKd/btqRqRRFufX/dhWPU0XQFHG6K9EryD4lY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cO6zKd/btqRqRRFufX/dhWPU0XQFHG6K9EryD4lY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcO6zKd%2FbtqRqRRFufX%2FdhWPU0XQFHG6K9EryD4lY0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기술/Git</category>
      <category>CentOS</category>
      <category>CentOS 7</category>
      <category>centos 7 git 설치</category>
      <category>git</category>
      <category>Git 설치</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/53</guid>
      <comments>https://phodobit.kr/53#entry53comment</comments>
      <pubDate>Fri, 25 Dec 2020 00:17:11 +0900</pubDate>
    </item>
    <item>
      <title>Windows(윈도우)에 Git을 설치해보자!</title>
      <link>https://phodobit.kr/52</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;# 부제목&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;윈도우에 Git 설치하기, 윈도우 Git 설치 방법&lt;/h4&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;size18&quot;&gt;이번 시간에는 윈도우에 Git을 설치해보려고 한다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;[1] Git 설치 프로그램 다운로드&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래의 Git 홈페이지를 방문한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://git-scm.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1608696088095&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Git&quot; data-og-description=&quot;&quot; data-og-host=&quot;git-scm.com&quot; data-og-source-url=&quot;https://git-scm.com/&quot; data-og-url=&quot;https://git-scm.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/E1qme/hyIGjHw6dE/OKadLuqlIKogGdsWrg4Gck/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502&quot;&gt;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://git-scm.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/E1qme/hyIGjHw6dE/OKadLuqlIKogGdsWrg4Gck/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Git&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;git-scm.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;아래 그림처럼 홈페이지가 나타나면 중앙에 배치된 [Downloads]를 클릭하여 다운로드 페이지로 이동한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bP4YdS/btqQ0Pausq5/KtCuCiKzLFcg7TAVGk008k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bP4YdS/btqQ0Pausq5/KtCuCiKzLFcg7TAVGk008k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bP4YdS/btqQ0Pausq5/KtCuCiKzLFcg7TAVGk008k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbP4YdS%2FbtqQ0Pausq5%2FKtCuCiKzLFcg7TAVGk008k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다운로드 페이지에서 보이는 [Windows]를 클릭하여 윈도우 설치 프로그램 다운로드 페이지로 이동한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;또는 지금 사용중인 시스템이 Windows라면 바로 오른쪽에 위치한 [Download {버전} for Windows]를 클릭해도 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cxjrPQ/btqQ8MRd2G2/yVNvqVRdcmHVq8grdVxsx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cxjrPQ/btqQ8MRd2G2/yVNvqVRdcmHVq8grdVxsx1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cxjrPQ/btqQ8MRd2G2/yVNvqVRdcmHVq8grdVxsx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcxjrPQ%2FbtqQ8MRd2G2%2FyVNvqVRdcmHVq8grdVxsx1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Windows용 Git 다운로드 페이지로 이동되면 아래 사진에서 보라색으로 밑줄 그어진 버전(현재 사용중인 시스템에 맞춰진 버전)이 자동으로 다운로드 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약, 다른 버전(32비트, 64비트)의 Git이 필요하다면 빨간색 사각형에 표시해둔 링크(청록색)를 클릭하여 다운로드 할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dCPpBP/btqQ8MjiWNm/VlSuLd6DRCip8pF576AJB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dCPpBP/btqQ8MjiWNm/VlSuLd6DRCip8pF576AJB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dCPpBP/btqQ8MjiWNm/VlSuLd6DRCip8pF576AJB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdCPpBP%2FbtqQ8MjiWNm%2FVlSuLd6DRCip8pF576AJB0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;[2] Git 설치하기&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;[1]에서 다운로드 받은 Git 설치 프로그램 아이콘을 더블클릭하여 실행해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dUSU0C/btqReQFebve/qorGx56Epfh6HJKgcPsKS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dUSU0C/btqReQFebve/qorGx56Epfh6HJKgcPsKS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dUSU0C/btqReQFebve/qorGx56Epfh6HJKgcPsKS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdUSU0C%2FbtqReQFebve%2FqorGx56Epfh6HJKgcPsKS1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git의 라이선스를 표시해주는데 GPLv2 라이선스 내용이다. 사용에 동의하면 [Next]를 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmjQbC/btqReRKUCxS/kPrJNeHuRfrQ0qS9kn2e5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmjQbC/btqReRKUCxS/kPrJNeHuRfrQ0qS9kn2e5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmjQbC/btqReRKUCxS/kPrJNeHuRfrQ0qS9kn2e5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmjQbC%2FbtqReRKUCxS%2FkPrJNeHuRfrQ0qS9kn2e5K%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git이 설치될 위치를 지정해준 다음 [Next]를 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8n0xX/btqRcGv6DoB/Rf7wfDC4wEfL1UUnNbD2b0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8n0xX/btqRcGv6DoB/Rf7wfDC4wEfL1UUnNbD2b0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8n0xX/btqRcGv6DoB/Rf7wfDC4wEfL1UUnNbD2b0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8n0xX%2FbtqRcGv6DoB%2FRf7wfDC4wEfL1UUnNbD2b0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설치할 컴포넌트를 선택한 다음 [Next]를 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oXvBw/btqQ58f43fI/VMjCY0FWbFxxZzAeyjBs9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oXvBw/btqQ58f43fI/VMjCY0FWbFxxZzAeyjBs9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oXvBw/btqQ58f43fI/VMjCY0FWbFxxZzAeyjBs9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoXvBw%2FbtqQ58f43fI%2FVMjCY0FWbFxxZzAeyjBs9K%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Additional icons&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;바로가기 아이콘 만들기&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;ㄴ On the Desktop&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;바탕화면에 바로가기 아이콘 만들기&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Windows Explorer integration&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;탐색기(폴더 화면)의 바로가기 메뉴(우클릭 메뉴)에 메뉴 등록하기&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;ㄴ Git Bash Here&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이곳에서 Git Bash 열기&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;ㄴ Git GUI Here&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이곳에서 Git GUI 열기&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Git LFS (Large File Support)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Git에서 대용량 파일을 다루어야 하는 경우. 예를들어 포토샵의 psd나 미디어 파일을 다룰때 등.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Associate .git* configuration files with the default text editor&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;확장자가 git으로 시작하는 파일을 기본 텍스트 편집기(메모장 등)로 연결 프로그램 지정&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Associate .sh files to be run with Bash&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;sh 확장자 파일을 Git Bash로 연결 프로그램 지정&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Use a TrueType font in all console windows&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;콘솔 화면(명령 프롬프트와 같은.)에 트루타입 폰트 사용&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Check daily for Git for Windows updates&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;매일 Windows용 Git 업데이트를 확인&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;시작 메뉴에 생성될 폴더명을 입력한 후 [Next]를 클릭한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약, 시작 메뉴를 만들지 않을 경우 아래쪽의 [Don't create a Start Menu folder]에 체크하면 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYpAwf/btqQ7VnjRFd/zEkQoyrMx88jAkCjz2XxZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYpAwf/btqQ7VnjRFd/zEkQoyrMx88jAkCjz2XxZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYpAwf/btqQ7VnjRFd/zEkQoyrMx88jAkCjz2XxZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYpAwf%2FbtqQ7VnjRFd%2FzEkQoyrMx88jAkCjz2XxZ1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git에서 사용할 기본 편집기를 선택한 다음 [Next]를 클릭한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;필자는 Visual Studio Code를 주로 사용하므로 Visual Studio Code를 선택하였다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEORB3/btqQ56ikWFu/LIXR6rC7KEeq0R8helOV5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEORB3/btqQ56ikWFu/LIXR6rC7KEeq0R8helOV5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEORB3/btqQ56ikWFu/LIXR6rC7KEeq0R8helOV5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEORB3%2FbtqQ56ikWFu%2FLIXR6rC7KEeq0R8helOV5k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git 저장소를 만들때 최초로 생성되는 브런치의 이름을 정한 다음 [Next]를 클릭한다.&lt;/p&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: #333333;&quot;&gt;기본 브런치 이름은 master인데, &quot;master&quot;라는 단어가 좋지 않다는 시각이 있어 요즘은 master 대신 main을 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이와 관련된 내용은 아래 설치 프로그램 그림에 있는 [Intends(푸른색 링크)]를 클릭하면 볼 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;필자는 Override the...에 체크 후 main으로 변경하였다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnjkk6/btqQ7U9LLws/n2VmE29BryQfPjk3zflZD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnjkk6/btqQ7U9LLws/n2VmE29BryQfPjk3zflZD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnjkk6/btqQ7U9LLws/n2VmE29BryQfPjk3zflZD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcnjkk6%2FbtqQ7U9LLws%2Fn2VmE29BryQfPjk3zflZD0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Let Git decide&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Git이 알아서 결정한다. (현재는 master)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Override the default branch name for new repositories&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;새로운 저장소의 기본 브런치 이름을 오버라이딩한다.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;환경변수에 등록할 옵션을 선택한 다음 [Next]를 클릭한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;필자는 Git from the command ...에 체크하였다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kP95z/btqQ8NCCD2Z/91DOhHy82Qy1ZTxVzkxfQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kP95z/btqQ8NCCD2Z/91DOhHy82Qy1ZTxVzkxfQK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kP95z/btqQ8NCCD2Z/91DOhHy82Qy1ZTxVzkxfQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkP95z%2FbtqQ8NCCD2Z%2F91DOhHy82Qy1ZTxVzkxfQK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 60px;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;Use Git from Git Bash Only&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;환경변수를 변경하지 않는다.&lt;br /&gt;- Git 명령어는 Git Bash에서만 사용하도록 한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;Git from the command line and also from 3rd-party software&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;환경변수에 Git 명령어를 등록한다.&lt;br /&gt;- Git Bash 뿐만이 아니라, 명령 프롬프트, 파워쉘, 다른 프로그램(vscode, android studio 등등)에서도 Git을 사용할 수 있다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;Use Git and optional Unix tool from the Command Prompt&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;환경변수에 Git 명령어와 다른 Unix 명령어도 등록한다.&lt;br /&gt;* 주의할 점은 기본 Windows의 명령어인 find나 sort등이 오버라이딩 되어 버린다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;HTTPS 연결에 사용할 SSL/TLS 라이브러리를 선택한 다음 [Next]를 클릭한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통 일반적인 상황에선 OpenSSL을 사용하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 외에 특수한 환경에 의해 인증서가 발급되는 경우에는 Windows Secure Channel을 사용하여 HTTPS에 연결할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGsMlE/btqQ0PBNCY8/cFmk0RILi0OYYObZEZJygk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGsMlE/btqQ0PBNCY8/cFmk0RILi0OYYObZEZJygk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGsMlE/btqQ0PBNCY8/cFmk0RILi0OYYObZEZJygk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGsMlE%2FbtqQ0PBNCY8%2FcFmk0RILi0OYYObZEZJygk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git이 한 줄의 끝(EOL, End of Line, 줄바꿈)을 표현하는 문자를 어떻게 처리 할지 선택 후 [Next]를 클릭한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것이 중요한 이유는 운영체제마다 줄바꿈 문자가 다르다보니 공동 작업시 줄바꿈 문자로 인해 코드가 엉망이 되어버리는 현상을 해결해주기 위해 Git이 소스를 가져올때(체크아웃)나 기록할때(커밋)마다 줄바꿈 문자를 변환할 수 있게 만들어준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본인이 줄바꿈 문자와 코딩 환경에 대해서 잘 모른다면 &quot;Checkout Windows-style, commit Unix-style ...&quot;를 선택하자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cK5PQi/btqRawN91PW/DhuzekNZC2PFPQ2sfhXXkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cK5PQi/btqRawN91PW/DhuzekNZC2PFPQ2sfhXXkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cK5PQi/btqRawN91PW/DhuzekNZC2PFPQ2sfhXXkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcK5PQi%2FbtqRawN91PW%2FDhuzekNZC2PFPQ2sfhXXkK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;Checkout Windows-style, commit Unix-style line endings&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;체크아웃시 Unix 스타일(LF)을 Windows 스타일(CRLF)로 변경하고,&lt;br /&gt;커밋할시 Windows 스타일(CRLF)을 Unix 스타일(LF)로 변경한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;Checkout as-is, commit Unix-style line endings&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;커밋시에만 Windows 스타일(CRLF)을 Unix 스타일(LF)로 변경한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;Checkout as-is, commit as-is&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;원본 소스 그대로 체크아웃 및 커밋한다. (변경 없음)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git Bash를 에뮬레이팅하기 위한 터미널 프로그램을 선택 후 [Next]를 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cl5jL2/btqRgin3wJL/bzRFLlXNKVcPYTm3n57UOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cl5jL2/btqRgin3wJL/bzRFLlXNKVcPYTm3n57UOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cl5jL2/btqRgin3wJL/bzRFLlXNKVcPYTm3n57UOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcl5jL2%2FbtqRgin3wJL%2FbzRFLlXNKVcPYTm3n57UOk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;당겨오기(pull) 명령어가 수행할 기본 옵션을 선택 후 [Next]를 클릭한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 옵션에 대해서는 Git 명령어를 다룰때 확인해보도록 할 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnAs3q/btqRawOcvhA/9KeEfmssmf4Y7kuiPRYtk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnAs3q/btqRawOcvhA/9KeEfmssmf4Y7kuiPRYtk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnAs3q/btqRawOcvhA/9KeEfmssmf4Y7kuiPRYtk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnAs3q%2FbtqRawOcvhA%2F9KeEfmssmf4Y7kuiPRYtk1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git 인증 헬퍼를 구성할지 선택한 다음 [Next]를 클릭한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원격 저장소에 연결할 때 필요한 인증(HTTP(S) 및 SSH 연결후 사용자 로그인)을 구현해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgivaO/btqQ8MKxu7I/C97cqnBJN5WOo6yBpDP24k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgivaO/btqQ8MKxu7I/C97cqnBJN5WOo6yBpDP24k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgivaO/btqQ8MKxu7I/C97cqnBJN5WOo6yBpDP24k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgivaO%2FbtqQ8MKxu7I%2FC97cqnBJN5WOo6yBpDP24k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;필요한 기타 옵션을 선택한 다음 [Next]를 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bU0wPo/btqQ1NKxPSL/SnIZOfKWoykcfIsQKvho6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bU0wPo/btqQ1NKxPSL/SnIZOfKWoykcfIsQKvho6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bU0wPo/btqQ1NKxPSL/SnIZOfKWoykcfIsQKvho6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbU0wPo%2FbtqQ1NKxPSL%2FSnIZOfKWoykcfIsQKvho6k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;사용할 최첨단(?) 옵션이 필요한 경우 선택 선택한 다음 [Next]를 클릭한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 해석하자면 winpty를 사용하지 않고 Git Bash에서 Node나 Python과 같은 네이티브 콘솔 프로그램 사용시 활성화된다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 이것에 대해 아시는 분은 댓글 남겨주세요 ㅠㅠ.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;필자는 우선 사용해보기 위해 체크를 했다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MkpdC/btqReP7vuRo/VuGtbrGPV5QOJcmXDNVRuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MkpdC/btqReP7vuRo/VuGtbrGPV5QOJcmXDNVRuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MkpdC/btqReP7vuRo/VuGtbrGPV5QOJcmXDNVRuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMkpdC%2FbtqReP7vuRo%2FVuGtbrGPV5QOJcmXDNVRuk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;곧이어 설치가 진행된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MLvzb/btqQ0Pohb6V/vUXK6cW8LGPAUsS7sTb3u1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MLvzb/btqQ0Pohb6V/vUXK6cW8LGPAUsS7sTb3u1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MLvzb/btqQ0Pohb6V/vUXK6cW8LGPAUsS7sTb3u1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMLvzb%2FbtqQ0Pohb6V%2FvUXK6cW8LGPAUsS7sTb3u1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;설치가 끝난 모습이다. [Finish]를 클릭하여 끝낼 수 있다.&lt;/p&gt;
&lt;p&gt;[Launch Git Bash]에 체크를 하면 Git Bash가 실행된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b99bZE/btqQ572EWma/JAvoc21PYNbms5yqKPkYSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b99bZE/btqQ572EWma/JAvoc21PYNbms5yqKPkYSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b99bZE/btqQ572EWma/JAvoc21PYNbms5yqKPkYSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb99bZE%2FbtqQ572EWma%2FJAvoc21PYNbms5yqKPkYSk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;[3] 테스트&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git Bash를 실행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1) 설치가 끝날때 Launch Git Bash에 체크를 했다면 자동으로 Git Bash가 열린다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2) 시작 메뉴(설치때 만든 경우)에 Git Bash 바로가기 아이콘을 클릭하여 열 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;3) 바탕화면(설치때 만든 경우)에 Git Bash 바로가기 아이콘을 더블클릭하여 열 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;4) Git 설치 폴더에 있는 &quot;git-bash.exe&quot;를 더블클릭하여 열 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FwRUS/btqQ8NiqbSO/PjkiP00sn1vr3Vt1Nipdxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FwRUS/btqQ8NiqbSO/PjkiP00sn1vr3Vt1Nipdxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FwRUS/btqQ8NiqbSO/PjkiP00sn1vr3Vt1Nipdxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFwRUS%2FbtqQ8NiqbSO%2FPjkiP00sn1vr3Vt1Nipdxk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git Bash 화면에서 아래의 명령어를 입력하여 설치된 Git의 버전을 확인한다.&lt;/p&gt;
&lt;pre id=&quot;code_1608700308734&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git --version&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzIhvV/btqQ1NDDWuK/QKqISaZkMKgydDdcP0vq50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzIhvV/btqQ1NDDWuK/QKqISaZkMKgydDdcP0vq50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzIhvV/btqQ1NDDWuK/QKqISaZkMKgydDdcP0vq50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzIhvV%2FbtqQ1NDDWuK%2FQKqISaZkMKgydDdcP0vq50%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Git의 버전이 정상적으로 표시된다면 잘 설치된 것이다.&lt;/p&gt;</description>
      <category>기술/Git</category>
      <category>git</category>
      <category>git 다운로드</category>
      <category>Git 설치</category>
      <category>git 설치 방법</category>
      <category>Windows git</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/52</guid>
      <comments>https://phodobit.kr/52#entry52comment</comments>
      <pubDate>Wed, 23 Dec 2020 14:13:10 +0900</pubDate>
    </item>
    <item>
      <title>CentOS 7에 Janus-gateway(WebRTC media server) 설치하기</title>
      <link>https://phodobit.kr/51</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;오늘 포스팅할 내용을 제목처럼 CentOS 7에 Janus-gateway(이하 Janus)를 설치하고 실행해볼 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;* 설치 명령어와 아주 작은 설명만 다룬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;* Janus의 transport는 RestAPI 방식으로 설치할 것이다. (다른 블로그에서는 WebSocket 방식의 가이드가 많다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;실제 환경은 윈도우 10 &lt;span style=&quot;font-size: 1.12em; letter-spacing: 0px;&quot;&gt;WSL 기반의 CentOS 7(v7.0.1907.3)이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;순수 CentOS 7 머신에서도, Docker와 Virtual Machine(VMWare, VirtualBox)에서도 설치가 가능한 것을 확인하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Janus 공식 홈페이지는 아래와 같다.&lt;/p&gt;
&lt;figure id=&quot;og_1605412480784&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Janus WebRTC Server: About Janus&quot; data-og-description=&quot;Janus is a WebRTC Server developed by Meetecho conceived to be a general purpose one. As such, it doesn't provide any functionality per se other than implementing the means to set up a WebRTC media communication with a browser, exchanging JSON messages wit&quot; data-og-host=&quot;janus.conf.meetecho.com&quot; data-og-source-url=&quot;https://janus.conf.meetecho.com/&quot; data-og-url=&quot;https://janus.conf.meetecho.com/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://janus.conf.meetecho.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://janus.conf.meetecho.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Janus WebRTC Server: About Janus&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Janus is a WebRTC Server developed by Meetecho conceived to be a general purpose one. As such, it doesn't provide any functionality per se other than implementing the means to set up a WebRTC media communication with a browser, exchanging JSON messages wit&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;janus.conf.meetecho.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Janus는 WebRTC 미디어 서버이면서 자체적으로 제공하는 플러그인이 몇 가지 있고 이를 쉽게 사용할 수 있는 Wrapper 라이브러리를 제공해준다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약에 제공되는 플러그인보다 더 많은 기능을 사용하려면 플러그인을 직접 개발하고 붙여야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 바로 설치에 돌입해보자!&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;lt; yum 업데이트 설치 &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Docker나 WSL환경에서는 업데이트 설치가 없다고 나오는데 정상이다.&lt;/p&gt;
&lt;pre id=&quot;code_1605412902981&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ yum install update&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;lt; epel-release 저장소 설치 &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1605412963669&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ yum install epel-release&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;lt; 유틸리티 설치 &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1605413071784&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ yum install \
  unzip \
  wget \
  curl
  
# Docker에서 which 명령어가 없으므로 설치
$ yum install which&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;lt; 개발툴 설치 &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1605413197190&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ yum install \
  git \
  gcc \
  gcc-c++ \
  libtool \
  autoconf \
  automake \
  make \
  cmake \
  python3 \
  python3-pip \
  gettext \
  gettext-autopoint \
  texinfo&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;lt; Janus의 의존성(디펜던시) 설치 &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;doxygen과 graphviz는 Janus의 document(이하 doc)를 함께 빌드할때 사용된다. doc은 공식 홈페이지에서도 확인할 수 있으니 생략해도 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 doc을 빌드해도 doc이 빌드되지 않았다는 메시지가 나오는데 이 부분에 대해선 무슨 문제가 있는지 잘 모르겠다.&lt;/p&gt;
&lt;pre id=&quot;code_1605413355705&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ yum install \
  jansson-devel \
  libconfig-devel \
  openssl-devel \
  sofia-sip-devel \
  opus-devel \
  libogg-devel \
  libcurl-devel \
  glib2-devel \
  zlib-devel \
  pkgconfig \
  gengetopt
  
# document를 활성화 할 경우 아래 패키지도 설치해야한다.
$ yum install \
  doxygen \
  graphviz&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;lt; libnice 설치 &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;libnice 설치에 필요한 meson과 ninja를 설치해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정석대로 하려면 export 명령어를 통해 실행파일을 shell에 등록해줘야겠지만 간편하게하기 위해 /usr/bin에 단순 복사하는 것으로 했다.&lt;/p&gt;
&lt;pre id=&quot;code_1605413669801&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# meson 설치
$ pip3 install meson
$ ln -s /usr/local/bin/meson /usr/bin/&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1605413876967&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# ninja 설치

# 경로를 home(root)로 이동하여 작업하기 위해 `cd ~`를 수행한다. 필요한 경우 위치를 바꿔도 좋다.
$ cd ~

$ wget https://github.com/ninja-build/ninja/releases/download/v1.10.1/ninja-linux.zip
$ unzip ninja-linux.zip
$ cp ninja /usr/bin/&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1605413991129&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# libnice 빌드 및 설치

# 이 부분도 ninja와 마찬가지로 필요한 경우 원하는 작업 디렉토리로 이동해도 된다.
$ cd ~

$ git clone https://gitlab.freedesktop.org/libnice/libnice.git
$ cd libnice
$ meson --prefix=/usr build
$ ninja -C build
$ ninja -C build install
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;lt; libsrtp2 설치 &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Janus를 사용하기 위해 libsrtp가 필수인데 패키지 매니저(yum 등)으로 libsrtp를 설치하면 Janus의 요구사항(libsrtp 1.5.x)에 미치지 못하는 버전이 설치된다. 만약에 패키지 매니저로 설치했다면 삭제하자&lt;/p&gt;
&lt;pre id=&quot;code_1605414315518&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 원하는 작업 디렉토리
$ cd ~

$ git clone https://github.com/cisco/libsrtp.git
$ cd libsrtp
$ git checkout v2.3.0
$ ./configure --prefix=/usr --libdir=/usr/lib64 --enable-openssl
$ make shared_library
$ make install&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;lt; usrsrtp 설치 &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Data channel에 사용된다.&lt;/p&gt;
&lt;pre id=&quot;code_1605417234986&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 원하는 작업 디렉토리
$ cd ~

$ git clone https://github.com/sctplab/usrsctp
$ cd usrsctp
$ ./bootstrap
$ ./configure --prefix=/usr --libdir=/usr/lib64 --disable-programs --disable-inet --disable-inet6
$ make 
$ make install&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;lt; libmicrohttpd 설치 &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;libmicrohttpd는 Janus의 RestAPI 서버를 동작하게 하기 위함이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 게시글을 참고하여 설치하도록 하자.&lt;/p&gt;
&lt;figure id=&quot;og_1610874357781&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;CentOS 7에 libmicrohttpd 설치하기&quot; data-og-description=&quot;기존에 소스코드를 빌드하여 설치한 경우 반드시 제거해야한다. 제거 방법은 아래 명령어를 사용하도록 한다. 만약 소스코드 디렉토리를 삭제한 경우에는 다시 다운로드 받아 저장한 다음, 설&quot; data-og-host=&quot;phodobit.kr&quot; data-og-source-url=&quot;https://phodobit.kr/55&quot; data-og-url=&quot;https://phodobit.kr/55&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/xZMUk/hyIYGiy9LA/HIQ8vttzTK1FcV9dmFddT1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/tv8vc/hyIXqazLSa/8k3x0wZxgd8HICptTJL6e1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;https://phodobit.kr/55&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://phodobit.kr/55&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/xZMUk/hyIYGiy9LA/HIQ8vttzTK1FcV9dmFddT1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/tv8vc/hyIXqazLSa/8k3x0wZxgd8HICptTJL6e1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;CentOS 7에 libmicrohttpd 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;기존에 소스코드를 빌드하여 설치한 경우 반드시 제거해야한다. 제거 방법은 아래 명령어를 사용하도록 한다. 만약 소스코드 디렉토리를 삭제한 경우에는 다시 다운로드 받아 저장한 다음, 설&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;phodobit.kr&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;size18&quot;&gt;&lt;b&gt;&amp;lt; Janus 설치 &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1605414850521&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 원하는 작업 디렉토리
cd ~

$ git clone https://github.com/meetecho/janus-gateway.git
$ cd janus-gateway

# git checkout을 통해 원하는 커밋으로 버전 변경. (필요한 경우에만 입력)
$ git checkout v0.10.7

$ sh autogen.sh

# doc을 설치할 경우 마지막줄에 --enable-docs를 추가. (이전에 doxygen과 graphviz 설치 우선 필요)
# 두번째 줄의 prefix는 janus가 설치될 위치를 지정. /opt는 리눅스에서 기타 응용프로그램이 설치되는 위치로 적합
$ ./configure \
  --prefix=/opt/janus \
  --disable-websockets \
  --disable-rabbitmq \
  --disable-mqtt \
  --enable-data-channels \
  --enable-rest
  
$ make
$ make install
$ make configs
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;여기까지 했다면 Janus가 정상적으로 설치되었을 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 간단하게 Janus 환경 설정을 하고 서버를 시작해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;lt; Janus 환경 설정 &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Janus 환경 설정 파일은 [Janus설치경로/etc/janus]에 위치한다. 이 위치에 존재하는 파일 중 필요한 것들을 수정해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;필자는 아래 내용만 수정하였다.&lt;/p&gt;
&lt;pre id=&quot;code_1605415445663&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# Janus 환경 설정 파일이 존재하는 디렉토리로 이동
$ cd /opt/janus/etc/janus

# Janus 기본 설정 파일 편집
$ vi janus.jcfg

admin_secret : 관리자용 API 패스워드
stun_server : stun server host 변경 (stun.l.google.com)
stun_port : stun server port 변경 (19302)

# Janus RestAPI 설정 파일 편집
$ vi janus.transport.http.jcfg

admin_http : 관리 API 사용여부 변경 (true)
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;lt; Janus 서버 시작 &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1605415928271&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ /opt/janus/bin/janus

아래는 서버 시작 이후 출력되는 메시지.
============================================================
Janus commit: 04229be3eeceb28dbc57a70a57928aab223895a5
Compiled on:  Sun Nov 15 14:16:13 KST 2020

Logger plugins folder: /opt/janus/lib/janus/loggers
[WARN]  Couldn't access logger plugins folder...
---------------------------------------------------
  Starting Meetecho Janus (WebRTC Server) v0.10.7
---------------------------------------------------

Checking command line arguments...
Debug/log level is 4
Debug/log timestamps are disabled
Debug/log colors are enabled
Adding 'vmnet' to the ICE ignore list...
Using 192.168.0.102 as local IP...
[WARN] Token based authentication disabled
Initializing recorder code
Initializing ICE stuff (Full mode, ICE-TCP candidates disabled, half-trickle, IPv6 support disabled)
STUN server to use: stun.l.google.com:19302
  &amp;gt;&amp;gt; 172.217.211.127:19302 (IPv4)
Testing STUN server: message is of 20 bytes
  &amp;gt;&amp;gt; Our public address is [[자신의 공인 IP]]
TURN REST API backend: (disabled)
Crypto: OpenSSL pre-1.1.0
[WARN] The libsrtp installation does not support AES-GCM profiles
[WARN] No cert/key specified, autogenerating some...
Fingerprint of our certificate: F1:D6:~:8C:14
[WARN] Event handlers support disabled
Plugins folder: /opt/janus/lib/janus/plugins
Joining Janus requests handler thread
Sessions watchdog started
Loading plugin 'libjanus_audiobridge.so'...
JANUS AudioBridge plugin initialized!
Loading plugin 'libjanus_echotest.so'...
JANUS EchoTest plugin initialized!
Loading plugin 'libjanus_nosip.so'...
JANUS NoSIP plugin initialized!
Loading plugin 'libjanus_recordplay.so'...
JANUS Record&amp;amp;Play plugin initialized!
Loading plugin 'libjanus_streaming.so'...
JANUS Streaming plugin initialized!
Loading plugin 'libjanus_textroom.so'...
JANUS TextRoom plugin initialized!
Loading plugin 'libjanus_videocall.so'...
JANUS VideoCall plugin initialized!
Loading plugin 'libjanus_videoroom.so'...
JANUS VideoRoom plugin initialized!
Loading plugin 'libjanus_voicemail.so'...
JANUS VoiceMail plugin initialized!
Transport plugins folder: /opt/janus/lib/janus/transports
Loading transport plugin 'libjanus_http.so'...
HTTP transport timer started
HTTP webserver started (port 8088, /janus path listener)...
[WARN] HTTPS webserver disabled
Admin/monitor HTTP webserver started (port 7088, /admin path listener)...
[WARN] Admin/monitor HTTPS webserver disabled
JANUS REST (HTTP/HTTPS) transport plugin initialized!
Loading transport plugin 'libjanus_pfunix.so'...
[WARN] Unix Sockets server disabled (Janus API)
[WARN] Unix Sockets server disabled (Admin API)
[WARN] No Unix Sockets server started, giving up...
[WARN] The 'janus.transport.pfunix' plugin could not be initialized
============================================================&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 Janus 서버가 실행되었음을 알 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;중간중간 나타나는 기록에서 본인이 설정한 내용이 올바르게 구성되었는지 확인해보아야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;필자는 STUN 서버, REST(admin)을 활성화하였는데 잘 활성화된 것을 확인 할 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;lt; 테스트 &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;테스트 방법은 웹 기반의 Demo(데모)를 띄워보야아한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;[Janus설치경로/share/janus/demos]에 데모 웹 파일이 존재한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;(1) 웹서버를 설치하고 데모웹파일을 복사하여 웹서버로 접근하거나,&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;(2) GUI 환경에서 데모웹파일을 수정하여 웹브라우저로 바로 띄우는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;두 번째 방법이 간편하니 두 번째 방법으로 테스트를 해보려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;혹시 모르니 데모 웹 파일을 아래에 첨부하였다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/UzXOL/btqNr8KifDp/GWpKBWLCr9oelKLrsH80hK/demos.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;demos.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.80MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;오디오나 비디오 테스트는 여건히 충분하지 않아(=웹캠이 없으므로) Text Room(채팅방)으로만 테스트를 해볼 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;데모 파일중 [textroomtest.js] 파일을 열고 아래와 같이 수정한다.&lt;/p&gt;
&lt;pre id=&quot;code_1605416720003&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/////////// 원본 textroomtest.js:45번줄
var server = null;
if(window.location.protocol === 'http:')
	server = &quot;http://&quot; + window.location.hostname + &quot;:8088/janus&quot;;
else
	server = &quot;https://&quot; + window.location.hostname + &quot;:8089/janus&quot;;

var janus = null;
var textroom = null;
var opaqueId = &quot;textroomtest-&quot;+Janus.randomString(12);

/////////// 수정후
var server = &quot;http://janus서버ip:8088/janus&quot;;
// 예시 : &quot;http://192.168.0.10:8088/janus&quot;

var janus = null;
var textroom = null;
var opaqueId = &quot;textroomtest-&quot;+Janus.randomString(12);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;저장한 다음, [textroomtest.html] 파일을 웹브라우저로 연다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* header와 footer가 나타나지 않는 것은 local 파일을 직접 열었기 때문에 CORS 정책이 위반되어 그런 것으로 정상이다. 웹브라우저의 개발자 도구로 확인이 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 후 나타나는 화면에서 [Start] 버튼을 누르면 Janus 서버로 즉시 연결이 되고 Display name(닉네임) 설정 화면이 나타나면 서버 연결이 정상이라는 의미이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 이때 Janus 서버의 콘솔 메시지를 보면 세션이 연결되었다는 메시지가 나타난다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0l9VC/btqNuQoSFbh/nKt1Ch5468FJgV8SWyzoi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0l9VC/btqNuQoSFbh/nKt1Ch5468FJgV8SWyzoi0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0l9VC/btqNuQoSFbh/nKt1Ch5468FJgV8SWyzoi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0l9VC%2FbtqNuQoSFbh%2FnKt1Ch5468FJgV8SWyzoi0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;닉네임을 설정한 이후에 테스트 메시지를 보내고, 데모를 하나 더 열어 접속하여 서로 대화가 주고받아지는지 확인해보자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WMXN7/btqNq0FMjlX/JlFrWzMdWdkwocEAa89T10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WMXN7/btqNq0FMjlX/JlFrWzMdWdkwocEAa89T10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WMXN7/btqNq0FMjlX/JlFrWzMdWdkwocEAa89T10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWMXN7%2FbtqNq0FMjlX%2FJlFrWzMdWdkwocEAa89T10%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약에 자신이 웹캠이 있거나, OBS+VirtualCam 소프트웨어의 사용이 가능하다면 다른 데모도 테스트를 해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Echo Test : 자신의 미디어를 자신에게 전송하고 수신.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Video Room : 화상대화방&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;- 끝 -&lt;/p&gt;</description>
      <category>기술/기타</category>
      <category>CentOS</category>
      <category>Janus</category>
      <category>janus-gateway</category>
      <category>media server</category>
      <category>RTC</category>
      <category>WebRTC</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/51</guid>
      <comments>https://phodobit.kr/51#entry51comment</comments>
      <pubDate>Sun, 15 Nov 2020 14:29:26 +0900</pubDate>
    </item>
    <item>
      <title>OpenJDK 다운로드 및 설치 방법</title>
      <link>https://phodobit.kr/50</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Windows(윈도우) 환경&lt;/b&gt;에 OpenJDK를 설치해볼 것이다.&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;만약 &lt;span style=&quot;color: #ef5369;&quot;&gt;리눅스나 Mac환경이라면 과감히 뒤로가기&lt;/span&gt;를 눌러주자!&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;오늘(2020년 10월 10일) 기준으로 OpenJDK 15이 최신 버전이지만 필자는 11 버전이 필요로 하기 때문에 11버전을 설치할 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다른 버전도 설치 방법은 모두 똑같다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt; OpenJDK 다운로드 &amp;gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 OpenJDK 홈페이지를 방문한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://openjdk.java.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://openjdk.java.net/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1602336867513&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;OpenJDK&quot; data-og-description=&quot;Download and install the open-source JDK for most popular Linux distributions. Oracle's free, GPL-licensed, production-ready OpenJDK JDK&amp;nbsp;15 binaries are at jdk.java.net/15; Oracle's commercially-licensed JDK&amp;nbsp;15 binaries for Linux, macOS, and Windows, bas&quot; data-og-host=&quot;openjdk.java.net&quot; data-og-source-url=&quot;https://openjdk.java.net/&quot; data-og-url=&quot;https://openjdk.java.net/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://openjdk.java.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://openjdk.java.net/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;OpenJDK&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Download and install the open-source JDK for most popular Linux distributions. Oracle's free, GPL-licensed, production-ready OpenJDK JDK&amp;nbsp;15 binaries are at jdk.java.net/15; Oracle's commercially-licensed JDK&amp;nbsp;15 binaries for Linux, macOS, and Windows, bas&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;openjdk.java.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;좌측의 메뉴중 &lt;span style=&quot;color: #006dd7;&quot;&gt;[Installing]&lt;/span&gt;을 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/enp1uO/btqKDawQRlL/pGKWkbItIDjQOQxvONHqMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/enp1uO/btqKDawQRlL/pGKWkbItIDjQOQxvONHqMk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/enp1uO/btqKDawQRlL/pGKWkbItIDjQOQxvONHqMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fenp1uO%2FbtqKDawQRlL%2FpGKWkbItIDjQOQxvONHqMk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다운로드 받으려는 버전의 사이트에 방문한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xJqoe/btqKBO8CDxy/sJLDljNGt7DhqtWxPkeVkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xJqoe/btqKBO8CDxy/sJLDljNGt7DhqtWxPkeVkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xJqoe/btqKBO8CDxy/sJLDljNGt7DhqtWxPkeVkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxJqoe%2FbtqKBO8CDxy%2FsJLDljNGt7DhqtWxPkeVkK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다운로드 사이트에는 원하는 버전이 명시되어 있지 않고, 별 다른 메뉴가 없으므로 우선 아무 버전을 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CqzWC/btqKy6ILY3g/khK1wiclfnPnBXA2zKoPwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CqzWC/btqKy6ILY3g/khK1wiclfnPnBXA2zKoPwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CqzWC/btqKy6ILY3g/khK1wiclfnPnBXA2zKoPwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCqzWC%2FbtqKy6ILY3g%2FkhK1wiclfnPnBXA2zKoPwK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약 바로 위에서 자신이 설치하고자 하는 버전이 있다면 바로 아래 사진에서 [Windows/x64] 우측의 [zip]을 클릭하여 다운로드 받는다. 그 후에 &lt;i&gt;&lt;b&gt;&amp;lt; OpenJDK 설치와 환경 구성 &amp;gt;&lt;/b&gt;&lt;/i&gt;으로 넘어가준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;u&gt;구버전을 받기 위해서는&lt;/u&gt; 왼쪽의 메뉴 중 &lt;span style=&quot;color: #006dd7;&quot;&gt;[Archive]&lt;/span&gt;(아카이브, 구버전들은 아카이브에서 제공)를 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YFrnf/btqKv8AXTvo/FGWhqKPHRI2bVOUQvhBk81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YFrnf/btqKv8AXTvo/FGWhqKPHRI2bVOUQvhBk81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YFrnf/btqKv8AXTvo/FGWhqKPHRI2bVOUQvhBk81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYFrnf%2FbtqKv8AXTvo%2FFGWhqKPHRI2bVOUQvhBk81%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;자신에게 필요한 버전을 찾은 다음 압축 파일을 다운로드한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nb07y/btqKxQzmvAU/UsgOSoMEdbDzD5pLfnWjzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nb07y/btqKxQzmvAU/UsgOSoMEdbDzD5pLfnWjzk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nb07y/btqKxQzmvAU/UsgOSoMEdbDzD5pLfnWjzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fnb07y%2FbtqKxQzmvAU%2FUsgOSoMEdbDzD5pLfnWjzk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt; OpenJDK 설치와 환경 구성 &amp;gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다운로드 받은 OpenJDK 압축 파일을 열고 자신이 원하는 위치에 압축을 푼다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;필자는 C:\에 압축을 풀 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;- C:\ (시스템 드라이브 루트)는 폴더를 만들 수 있다. 그 폴더 내에서는 어떠한 작업도 관리자 권한을 요구하지 않는다. 아무 사용자나 읽기 및 쓰기(수정, 삭제)가 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;- C:\Program Files (프로그램 설치 루트)는 읽기는 모든 사용자가 가능하며, 쓰기는 관리자만 가능하다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tHpXU/btqKy6IMlFs/3iKeQIWGdaNLtboVX1gGy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tHpXU/btqKy6IMlFs/3iKeQIWGdaNLtboVX1gGy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tHpXU/btqKy6IMlFs/3iKeQIWGdaNLtboVX1gGy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtHpXU%2FbtqKy6IMlFs%2F3iKeQIWGdaNLtboVX1gGy0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;시작 버튼을 누른 다음 &quot;환경&quot;을 입력하고&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;(시작을 누른 다음 입력하는 칸이 없이 그냥 키보드로 입력하면 검색모드로 바뀐다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;[시스템 환경 변수 편집]&lt;/b&gt;을 클릭한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약 관리자 권한이 없는 경우 &lt;b&gt;[계정의 환경 변수 편집]&lt;/b&gt;을 클릭한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tGidh/btqKv8uckW6/7pyKbZCstdSzBXv9GcK2d1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tGidh/btqKv8uckW6/7pyKbZCstdSzBXv9GcK2d1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tGidh/btqKv8uckW6/7pyKbZCstdSzBXv9GcK2d1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtGidh%2FbtqKv8uckW6%2F7pyKbZCstdSzBXv9GcK2d1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;간혹 환경변수 설정 창이 나타나지 않고 &lt;u&gt;시스템 속성 창이 나타나는 경우&lt;/u&gt; 아래에 있는 &lt;b&gt;[환경 변수]&lt;/b&gt;를 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ERd0y/btqKwrtxQCl/GEPkbiBo1B1aPvFEIp0Isk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ERd0y/btqKwrtxQCl/GEPkbiBo1B1aPvFEIp0Isk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ERd0y/btqKwrtxQCl/GEPkbiBo1B1aPvFEIp0Isk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FERd0y%2FbtqKwrtxQCl%2FGEPkbiBo1B1aPvFEIp0Isk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;환경 변수 창이 나타나면 위쪽과 아래쪽이 나뉘는데 바로 다음 설명을 참고하여 자신이 원하는 곳에서 작업할 수 있도록 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위쪽(사용자 변수) : 지금 컴퓨터에 로그인된 사용자만 사용할 수 있는 변수들이다. 사용자 마다 이 내용이 다르므로 이곳을 선택한다면 자신의 사용자 계정에서만 가능하다는 점에 유의하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래쪽(시스템 변수) : 위쪽과 다르게 이곳에서 설정되는 내용은 지금 컴퓨터에 있는 모든 사용자가 공통으로 사용된다. 다른 사용자 계정에서도 사용할 경우엔 이 부분에서 작업하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;필자는 시스템 변수에서 작업할 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d7aASW/btqKxlzByKc/36CA17xVctq3JPVU31qYhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d7aASW/btqKxlzByKc/36CA17xVctq3JPVU31qYhk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d7aASW/btqKxlzByKc/36CA17xVctq3JPVU31qYhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd7aASW%2FbtqKxlzByKc%2F36CA17xVctq3JPVU31qYhk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 환경 변수 화면에서 &lt;b&gt;[새로 만들기]&lt;/b&gt;를 클릭하고, 나타나는 화면에서 아래와 같이 입력해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1602338620080&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;변수 이름 : JAVA_HOME

변수 값 : 자신이 다운로드 받고 압축을 푼 OpenJDK의 경로&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 확인 버튼을 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/M7JbR/btqKy6227tD/tSrXQ06g8QfV1qkAXlMYvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/M7JbR/btqKy6227tD/tSrXQ06g8QfV1qkAXlMYvk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/M7JbR/btqKy6227tD/tSrXQ06g8QfV1qkAXlMYvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FM7JbR%2FbtqKy6227tD%2FtSrXQ06g8QfV1qkAXlMYvk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 다음 변수 목록 중 &lt;b&gt;'Path'&lt;/b&gt;를 찾아 클릭한 다음 &lt;b&gt;[편집]&lt;/b&gt;을 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Z1kFu/btqKwR6BTfJ/Zoy7yinm2dFFxbwTmS5Ilk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Z1kFu/btqKwR6BTfJ/Zoy7yinm2dFFxbwTmS5Ilk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Z1kFu/btqKwR6BTfJ/Zoy7yinm2dFFxbwTmS5Ilk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZ1kFu%2FbtqKwR6BTfJ%2FZoy7yinm2dFFxbwTmS5Ilk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;환경 변수 편집 창이 나타나면 우측의 [새로 만들기]를 클릭하면 중간의 상자에 새로운 입력 상자가 한 줄 생긴다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 곳에 아래와 같이 입력해준다.&lt;/p&gt;
&lt;pre id=&quot;code_1602338608697&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;%JAVA_HOME%\bin

(띄어쓰기 없이) 퍼센트 JAVA_HOME 퍼센트 역슬래시 bin

- 역슬래시는 키보드 중 백스페이스(지우기) 버튼 근처에 있다.
또 키보드에 따라 통화기호로 표시된 경우도 있다. (한글 키보드인 경우 W에 줄이 그어져있다.)

- 물음표를 입력할때 사용하는 슬래시(/)가 아닌 것에 유의!&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/O5xby/btqKwqg8Zag/OKwmKlMFrjkm1ibEWdX8g0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/O5xby/btqKwqg8Zag/OKwmKlMFrjkm1ibEWdX8g0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/O5xby/btqKwqg8Zag/OKwmKlMFrjkm1ibEWdX8g0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FO5xby%2FbtqKwqg8Zag%2FOKwmKlMFrjkm1ibEWdX8g0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ljw2w/btqKBPGuo2o/u0U3xYXanWHerFnJsjJ4Zk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ljw2w/btqKBPGuo2o/u0U3xYXanWHerFnJsjJ4Zk/img.png&quot; data-alt=&quot;한글 Windows에서 이렇게 보여야 한다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ljw2w/btqKBPGuo2o/u0U3xYXanWHerFnJsjJ4Zk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fljw2w%2FbtqKBPGuo2o%2Fu0U3xYXanWHerFnJsjJ4Zk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;한글 Windows에서 이렇게 보여야 한다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;입력이 완료되었으면 열었던 창에서 모두 확인 버튼을 클릭하여 저장하면서 닫아준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게하면 OpenJDK의 환경 구성이 끝났다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt; 검증 &amp;gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;OpenJDK가 잘 설치되었는지 검증을 할 차례이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;시작 버튼을 마우스 오른쪽 버튼으로 클릭하고, [명령 프롬프트] 또는 [PowerShell]을 실행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lpwMo/btqKABBJjU6/lyj3TouGyfUM1ilCPZB2X0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lpwMo/btqKABBJjU6/lyj3TouGyfUM1ilCPZB2X0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lpwMo/btqKABBJjU6/lyj3TouGyfUM1ilCPZB2X0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlpwMo%2FbtqKABBJjU6%2Flyj3TouGyfUM1ilCPZB2X0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;명령 프롬프트 화면에 나타나면 아래의 명령어를 입력하여 버전이 정상적으로 표시되는지 확인한다.&lt;/p&gt;
&lt;pre id=&quot;code_1602339041574&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;java -version&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdfGno/btqKC9Y1lUk/eKMzxKovHEXn7o7Mgyfsqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdfGno/btqKC9Y1lUk/eKMzxKovHEXn7o7Mgyfsqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdfGno/btqKC9Y1lUk/eKMzxKovHEXn7o7Mgyfsqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdfGno%2FbtqKC9Y1lUk%2FeKMzxKovHEXn7o7Mgyfsqk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 자신이 설치한 OpenJDK의 버전이 정상적으로 표시된다면 완료!!&lt;/p&gt;</description>
      <category>기술/JAVA</category>
      <category>JAVA_HOME</category>
      <category>openjdk</category>
      <category>구버전</category>
      <category>설치</category>
      <category>자바</category>
      <category>환경변수</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/50</guid>
      <comments>https://phodobit.kr/50#entry50comment</comments>
      <pubDate>Sat, 10 Oct 2020 23:15:09 +0900</pubDate>
    </item>
    <item>
      <title>깃허브 페이지(GitHub Pages) 만들기</title>
      <link>https://phodobit.kr/49</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;오늘 해보려는 것은 Github를 이용해 &lt;a href=&quot;https://ko.wikipedia.org/wiki/%EC%A0%95%EC%A0%81_%EC%9B%B9_%ED%8E%98%EC%9D%B4%EC%A7%80&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;정적(Static) 페이지(Page)&lt;/a&gt;를 만들어보려고 한다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;공식 가이드는 아래와 같다.&lt;/p&gt;
&lt;figure id=&quot;og_1601609991662&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Getting started with GitHub Pages - GitHub Docs&quot; data-og-description=&quot;Getting started with GitHub Pages You can set up a basic GitHub Pages site for yourself, your organization, or your project. GitHub Pages is available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repo&quot; data-og-host=&quot;docs.github.com&quot; data-og-source-url=&quot;https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages/getting-started-with-github-pages&quot; data-og-url=&quot;https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages/getting-started-with-github-pages&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages/getting-started-with-github-pages&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages/getting-started-with-github-pages&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Getting started with GitHub Pages - GitHub Docs&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Getting started with GitHub Pages You can set up a basic GitHub Pages site for yourself, your organization, or your project. GitHub Pages is available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repo&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;docs.github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;* Creating&amp;nbsp;a&amp;nbsp;GitHub&amp;nbsp;Pages&amp;nbsp;site&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;웹을 구성하는 파일(HTML, CSS, JS ...)이 업로드될 저장소(Repository)를 만들어야 한다.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;그림과 같이 Github에 로그인 한 후 오른쪽 상단에 위치하고 있는 [+] 기호를 클릭하여 &quot;New repository&quot;를 클릭한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2hXHh/btqJ0phsjcs/KkZ2X7tEY5mkwg6bWfQQEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2hXHh/btqJ0phsjcs/KkZ2X7tEY5mkwg6bWfQQEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2hXHh/btqJ0phsjcs/KkZ2X7tEY5mkwg6bWfQQEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2hXHh%2FbtqJ0phsjcs%2FKkZ2X7tEY5mkwg6bWfQQEK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;저장소 정보를 입력하는 화면에는 아래 사항에 유의하여 작성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Repository name: &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 반드시 &lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;lt;사용자이름&amp;gt;.github.io&lt;/span&gt; 또는 &lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;lt;조직이름&amp;gt;.github.io&lt;/span&gt;로 명명해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;i&gt;- 아래 사진에 보이겠지만 블로그 주인장은 이 블로그의 이름과 맞추기 위해 phodobit을 사용했다가 낭패를 보았다. &lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;i&gt;- 반드시 &amp;lt;사용자이름&amp;gt;에는 자신의 github 사용자이름을 명확하게 넣자!&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 만약 &lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;lt;사용자이름&amp;gt;.github.&lt;span style=&quot;color: #ee2323;&quot;&gt;com&lt;/span&gt;&lt;/span&gt; 이라는 저장소와 &lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;lt;사용자이름&amp;gt;.github.&lt;span style=&quot;color: #ee2323;&quot;&gt;io&lt;/span&gt;&lt;/span&gt; 라는 저장소가 공존하는 경우 오직 &lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;lt;사용자이름.github.&lt;span style=&quot;color: #ee2323;&quot;&gt;io&lt;/span&gt;&lt;/span&gt; 만 사이트로 배포된다. (github 가이드의 #types-of-github-pages-sites)&lt;/p&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;Description:&lt;/b&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;size18&quot;&gt;&lt;b&gt;Public 또는 Private:&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 당연히 공공연히 공개할 것이므로 Public에 체크한다.&lt;/p&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;Initialize this repo....:&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 'Add a README file' 공식 가이드에서는 체크표시를 해두라고 하지만, 체크를 하거나 안 하거나 아무 문제 없다.&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;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buGqMs/btqJWS5Lrfz/D5qBxpb5YvFtajAGk2zHTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buGqMs/btqJWS5Lrfz/D5qBxpb5YvFtajAGk2zHTK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buGqMs/btqJWS5Lrfz/D5qBxpb5YvFtajAGk2zHTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuGqMs%2FbtqJWS5Lrfz%2FD5qBxpb5YvFtajAGk2zHTK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;방금 만든 Github 저장소의 페이지에 진입한 후에 상단에 있는 [&lt;b&gt;Settings&lt;/b&gt;]를 클릭해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bntPLK/btqJ4F4VPL9/kHC5TZDOEfdavlIaiFdzhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bntPLK/btqJ4F4VPL9/kHC5TZDOEfdavlIaiFdzhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bntPLK/btqJ4F4VPL9/kHC5TZDOEfdavlIaiFdzhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbntPLK%2FbtqJ4F4VPL9%2FkHC5TZDOEfdavlIaiFdzhK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;나타나는 화면에서 스크롤을 거의 아래쪽으로 내리다 보면 [GitHub Pages]라는 항목이 보일 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMXJIO/btqJWq9uCb6/vvKHoPEU7aQOan0ohA5KJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMXJIO/btqJWq9uCb6/vvKHoPEU7aQOan0ohA5KJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMXJIO/btqJWq9uCb6/vvKHoPEU7aQOan0ohA5KJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMXJIO%2FbtqJWq9uCb6%2FvvKHoPEU7aQOan0ohA5KJ0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;기본적으로 [None]으로 선택된 상자를 클릭하고&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;자신이 보여주고자하는 브랜치(Branch, 분기점)를 선택한 다음&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;[&lt;b&gt;Save&lt;/b&gt;] 버튼을 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/olrJw/btqJXWUoqZc/yyAqrfR32r4h25eKeRKZd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/olrJw/btqJXWUoqZc/yyAqrfR32r4h25eKeRKZd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/olrJw/btqJXWUoqZc/yyAqrfR32r4h25eKeRKZd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FolrJw%2FbtqJXWUoqZc%2FyyAqrfR32r4h25eKeRKZd1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 현재 화면이 새로고침되는데, 다시 GitHub Pages 항목을 본다면 아래와 같이&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&quot;Your site is published at http(s)://XXX.github.io&quot; 라는 메시지가 보일 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3wSsG/btqJWRsgCuv/x494oH0dsIeTE8KvF6UKVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3wSsG/btqJWRsgCuv/x494oH0dsIeTE8KvF6UKVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3wSsG/btqJWRsgCuv/x494oH0dsIeTE8KvF6UKVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3wSsG%2FbtqJWRsgCuv%2Fx494oH0dsIeTE8KvF6UKVK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 알려준 주소로 접속해보면 아래와 같이 README.md의 내용이 표시된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b43aA3/btqJV6QXs8t/AkrxrcFIOixDNz8v9z3oK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b43aA3/btqJV6QXs8t/AkrxrcFIOixDNz8v9z3oK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b43aA3/btqJV6QXs8t/AkrxrcFIOixDNz8v9z3oK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb43aA3%2FbtqJV6QXs8t%2FAkrxrcFIOixDNz8v9z3oK1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이쯤되니 md 파일(마크다운, MarkDown)인데 이렇게 HTML로 그려질 수 있는가에 대한 궁금증이 생기는데 이 것은 나중에 알아보기로 하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 나름 HTML을 사용해서 페이지를 만들어볼까 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다시 저장소의 [Code]로 돌아가서 README.md를 지우고 새로운 파일을 작성하기 위해 [Add file]을 클릭한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brPxrY/btqJ1LxOWrE/kXb7EP7ZoaaQkabenDhsPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brPxrY/btqJ1LxOWrE/kXb7EP7ZoaaQkabenDhsPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brPxrY/btqJ1LxOWrE/kXb7EP7ZoaaQkabenDhsPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrPxrY%2FbtqJ1LxOWrE%2FkXb7EP7ZoaaQkabenDhsPK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;파일 이름을 [index.html]로 명명하고 HTML5의 기본 구조를 간략히 작성후 커밋을 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- index.html은 보통 목적지가 html이 아닌 디렉토리(폴더)만 접근하면 나타나는 인덱스 페이지(다시 어느 링크가 있을지 가이드를 해주는 느낌의.)를 의미한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kEf7a/btqJVPB0mJ6/Wet1o7EHJJzwZKqq3tOhy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kEf7a/btqJVPB0mJ6/Wet1o7EHJJzwZKqq3tOhy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kEf7a/btqJVPB0mJ6/Wet1o7EHJJzwZKqq3tOhy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkEf7a%2FbtqJVPB0mJ6%2FWet1o7EHJJzwZKqq3tOhy0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 다시 Github site의 URL을 입력하여 접근해보면...!!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VpXdO/btqJV6pTXCp/cESszWFe3awz8QyyTVHIQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VpXdO/btqJV6pTXCp/cESszWFe3awz8QyyTVHIQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VpXdO/btqJV6pTXCp/cESszWFe3awz8QyyTVHIQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVpXdO%2FbtqJV6pTXCp%2FcESszWFe3awz8QyyTVHIQk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;얼라리?&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;404 Page(File) Not Found가 나타나버렸다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이럴때 여러가지 원인을 파악해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. URL에 잘못 기입된 것은 없는지.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 최상위 또는 디렉토리 접근시 해당 위치에 index.html 파일이 존재하는지. (이름도 잘 확인해보자)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 저장소와 사이트간에 동기화가 아직 안 일어났는지. (GitHub 가이드에서는 커밋/푸쉬 후 &lt;span style=&quot;color: #ef5369;&quot;&gt;최대 20분 가량&lt;/span&gt; 걸릴 수 있다고 안내하고 있다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 기타 등등...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1~2 모두 완벽했다. 시간도 잘 흘러갔지만 여전히 404 오류가 나타나 가이드를 다시 보았더니 &lt;span style=&quot;font-size: 1.12em; letter-spacing: 0px;&quot;&gt;Theme를 사용중이어서 그런 것이었다. (가이드의 &lt;/span&gt;&lt;a style=&quot;font-size: 1.12em; letter-spacing: 0px;&quot; href=&quot;https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages/about-github-pages#static-site-generators&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#Static site generators&lt;/a&gt;&lt;span style=&quot;font-size: 1.12em; letter-spacing: 0px;&quot;&gt; 항목)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;얼른 빠르게 다시 [Code]에서 [Add file] -&amp;gt; [Create new file]을 누른 다음...&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/timvA/btqJ3iIVtaG/J15qKeJRhm1hLt1cn9CjKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/timvA/btqJ3iIVtaG/J15qKeJRhm1hLt1cn9CjKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/timvA/btqJ3iIVtaG/J15qKeJRhm1hLt1cn9CjKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtimvA%2FbtqJ3iIVtaG%2FJ15qKeJRhm1hLt1cn9CjKK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;파일 이름을 &lt;span style=&quot;background-color: #dddddd; color: #ee2323;&quot;&gt;.nojekyll&lt;/span&gt;로 정하고, 내용은 비워둔 상태로 커밋한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJar3H/btqJXVBdpYO/AmiSikh5GkTFe2kIgkZYfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJar3H/btqJXVBdpYO/AmiSikh5GkTFe2kIgkZYfK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJar3H/btqJXVBdpYO/AmiSikh5GkTFe2kIgkZYfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJar3H%2FbtqJXVBdpYO%2FAmiSikh5GkTFe2kIgkZYfK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;저장소를 확인해보면 2개의 파일이 보일 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SVuKJ/btqJVNYr8XM/x9PkeMWP6Y9oKSOjkf7sc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SVuKJ/btqJVNYr8XM/x9PkeMWP6Y9oKSOjkf7sc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SVuKJ/btqJVNYr8XM/x9PkeMWP6Y9oKSOjkf7sc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSVuKJ%2FbtqJVNYr8XM%2Fx9PkeMWP6Y9oKSOjkf7sc0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 나의 GitHub Sites URL로 접근을 하게 된다면!!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfR6RZ/btqJXVOK08b/kXLP3IgEaMF7cB13G1BSe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfR6RZ/btqJXVOK08b/kXLP3IgEaMF7cB13G1BSe1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfR6RZ/btqJXVOK08b/kXLP3IgEaMF7cB13G1BSe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfR6RZ%2FbtqJXVOK08b%2FkXLP3IgEaMF7cB13G1BSe1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;드디어 잘 나온다!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 하여 GitHub Pages를 사용하여 정적 웹사이트를 만들어보게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기술/기타</category>
      <category>github</category>
      <category>github page</category>
      <category>HTML</category>
      <category>page</category>
      <category>깃허브</category>
      <category>웹사이트 만들기</category>
      <category>페이지</category>
      <category>홈페이지 만들기</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/49</guid>
      <comments>https://phodobit.kr/49#entry49comment</comments>
      <pubDate>Fri, 2 Oct 2020 13:39:57 +0900</pubDate>
    </item>
    <item>
      <title>2020.09.10 카테고리 수정</title>
      <link>https://phodobit.kr/notice/48</link>
      <description>&lt;p&gt;카테고리가 수정됐습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;&lt;b&gt;추가&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;FE (HTML &amp;amp; CSS)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 40px;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;&lt;b&gt;변경 전&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;&lt;b&gt;변경 후&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;프로그래밍&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;개발&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;오늘(2020년 9월 10일) 새로운 포스트(CSS 관련)를 등록하는데 있어 소분류 카테고리 &quot;FE (HTML &amp;amp; CSS)&quot;를 추가하였고,&lt;/p&gt;
&lt;p&gt;대분류 카테고리 &quot;프로그래밍&quot; 이름을 &quot;개발&quot;로 변경했습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;HTML은 프로그래밍 언어가 아니다와 맞다의 논란이 있을 수 있고 필자는 아직 논란의 중점에 서있거나 어느 한쪽이 맞다고 표현할 단계가 아니라고 생각합니다.&lt;/p&gt;</description>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/notice/48</guid>
      <pubDate>Thu, 10 Sep 2020 23:01:34 +0900</pubDate>
    </item>
    <item>
      <title>크롬, IE 등 웹브라우저에서 인쇄할때 하이퍼링크(a 태그)에 주소(URL)가 같이 나오는 경우</title>
      <link>https://phodobit.kr/47</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHY5Xp/btqIkvdNQej/k64PloG0PTcIoBREJtoJnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHY5Xp/btqIkvdNQej/k64PloG0PTcIoBREJtoJnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHY5Xp/btqIkvdNQej/k64PloG0PTcIoBREJtoJnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHY5Xp%2FbtqIkvdNQej%2Fk64PloG0PTcIoBREJtoJnk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;이 사진과 같이 웹브라우저에서 페이지를 인쇄할 때 하이퍼링크(a 태그)의 주소(URL)가 붙어서 나오는 경우가 있었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byTh3Z/btqInqQVEOT/Yt3Ub3rnbXHxvRugVQcK5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byTh3Z/btqInqQVEOT/Yt3Ub3rnbXHxvRugVQcK5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byTh3Z/btqInqQVEOT/Yt3Ub3rnbXHxvRugVQcK5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyTh3Z%2FbtqInqQVEOT%2FYt3Ub3rnbXHxvRugVQcK5k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;그저 웹브라우저로 보는 화면은 위와 같은데 인쇄할때만 계속 주소가 붙어서 나오는 것이였다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1599743671987&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;meta charset=&quot;utf-8&quot;&amp;gt;
	&amp;lt;title&amp;gt;프린트 테스트&amp;lt;/title&amp;gt;
	&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;bootstrap-3.3.7-dist/css/bootstrap.min.css&quot;&amp;gt;
	&amp;lt;script type=&quot;text/javascript&quot; src=&quot;bootstrap-3.3.7-dist/js/bootstrap.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
	&amp;lt;style type=&quot;text/css&quot;&amp;gt;
		html, body { width: 100%; height: 100%; margin: 0; padding: 0; }
		body &amp;gt; .container { height: 100%; background-color: #eeeeee; padding: 10px; }
	&amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;div class=&quot;container&quot;&amp;gt;
		&amp;lt;nav&amp;gt;
			&amp;lt;ul&amp;gt;
				&amp;lt;li&amp;gt;
					&amp;lt;a href=&quot;https://phodobit.kr&quot;&amp;gt;
						포도빛 블로그
					&amp;lt;/a&amp;gt;
				&amp;lt;/li&amp;gt;
				
				&amp;lt;li&amp;gt;
					&amp;lt;a href=&quot;https://www.naver.com&quot;&amp;gt;
						네이버
					&amp;lt;/a&amp;gt;
				&amp;lt;/li&amp;gt;
				
				&amp;lt;li&amp;gt;
					&amp;lt;a href=&quot;https://www.tistory.com&quot;&amp;gt;
						티스토리
					&amp;lt;/a&amp;gt;
				&amp;lt;/li&amp;gt;
			&amp;lt;/ul&amp;gt;
		&amp;lt;/nav&amp;gt;
	&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;소스보기를 해도 URL이 표시되도록 한 것이 없는데 말이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그런데 알고보니 bootstrap(부트스트랩)이 문제인 것이였다.&lt;/p&gt;
&lt;p&gt;* bootstrap 3에서만 발생하고, bootstrap 4에서는 발생하지 않는다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eGqfSG/btqInN547qc/B0e6zNevoWrpRg00IayTNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eGqfSG/btqInN547qc/B0e6zNevoWrpRg00IayTNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eGqfSG/btqInN547qc/B0e6zNevoWrpRg00IayTNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeGqfSG%2FbtqInN547qc%2FB0e6zNevoWrpRg00IayTNk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;CSS의 &lt;i&gt;@media print&lt;/i&gt;를 사용해 인쇄 화면에서 a태그에 URL을 붙여주는 모습을 볼 수 있었다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;따라서 FE 개발자는 아래 3가지 방법중 하나를 택하여 페이지를 고쳐야 하고,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;사이트 방문자라면 아래 4번 방법을 사용하여 일시적으로 해결할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;방법은 더 있을 수도 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&lt;span&gt;&amp;lt; 방법1 (개발자가 고치려는 경우) &amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;근본적인 bootstrap 3을 사용하지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;어처구니가 없는 소리겠지만 bootstrap 3에서 4로 넘어가보는건 어떨까?&lt;/p&gt;
&lt;p&gt;이미 프로젝트의 규모가 커졌다면 이 방법을 사용해서는 안 된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;lt; 방법2&lt;b&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(개발자가 고치려는 경우)&lt;/span&gt;&lt;/b&gt; &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;영향을 받는 페이지 또는 모든 common include(공용 포함) css 또는 style 태그에 아래와 같은 코드를 넣어준다.&lt;/p&gt;
&lt;pre id=&quot;code_1599744200685&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@media print {
    a:after {
        content: &quot;&quot; !important;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;인쇄 화면에서 bootstrap 3가 만들어주는 내용물을 없애버리는 것이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;lt; 방법3&lt;b&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(개발자가 고치려는 경우)&lt;/span&gt;&lt;/b&gt; &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;bootstrap 3 css 파일에서 해당 코드를 삭제한다.&lt;/p&gt;
&lt;p&gt;이 포스트 본문에 캡처한 css 소스코드 기준으로 205~207번 line을 삭제하는 것이다.&lt;/p&gt;
&lt;p&gt;만약에 bootstrap 3을 CDN URL로 include 한 경우엔 이 방법을 사용할 수 없다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;만약에 자신은 &lt;b&gt;FE 개발자가 아니고 단순 사이트를 방문한 사용자이면서 이 현상을 사이트 담당자가 바꿔줄 수 없는 상태&lt;/b&gt;라면 아래 방법을 시도해보자.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;lt; 방법4 (방문자가 일시적으로 인쇄 화면에서 URL을 없애려는 경우) &amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;크롬, IE 기준으로 해당 문제가 나타나는 화면에서 키보드의 [F12]키를 누른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 이때 화면은 인쇄화면이 아니라 인쇄를 하기 전에 방문자가 보고 있는 화면이어야 한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;잠시 기다리면 나타나는 '개발자 도구(Developer Tools)' 화면 속에서 위쪽을 보면 '콘솔(Console)'이 있을텐데 클릭한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;'콘솔' 화면 아래쪽에 입력하는 칸에 바로 밑의 문장(코드)을 복사하여 붙여넣고 엔터를 누른다.&lt;/p&gt;
&lt;pre id=&quot;code_1599744789066&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;(function(){ var s = document.createElement(&quot;style&quot;); s.innerHTML = &quot;@media print { a:after { content: '' !important; } }&quot;; document.body.appendChild(s); })();&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dSZlb3/btqIrHqVndh/yDx2JQjpUtQYk2heCvPrIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dSZlb3/btqIrHqVndh/yDx2JQjpUtQYk2heCvPrIK/img.png&quot; data-alt=&quot;크롬의 개발자 도구 - 콘솔에서 위 코드를 입력 및 실행한 모습&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dSZlb3/btqIrHqVndh/yDx2JQjpUtQYk2heCvPrIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdSZlb3%2FbtqIrHqVndh%2FyDx2JQjpUtQYk2heCvPrIK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;크롬의 개발자 도구 - 콘솔에서 위 코드를 입력 및 실행한 모습&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;이제 인쇄를 하게 되면 URL이 나타나지 않을 것이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;참고1. 어떠한 사이트에서는 '개발자 도구'를 차단해서 열리지 않는 경우가 있다.&lt;/p&gt;
&lt;p&gt;(결제 화면이나 은행 사이트)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;참고2. 어떠한 사이트에서는 style이 위 문장(코드)이랑 관련도가 없게 만들어진 경우도 있고 그럴땐 작동하지 않는다.&lt;/p&gt;
&lt;p&gt;(해당 웹 페이지의 속에서 다른 웹 페이지를 또 다시 불러오는 경우 등)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기술/FE (HTML &amp;amp; CSS)</category>
      <category>Bootstrap</category>
      <category>CSS</category>
      <category>fe</category>
      <category>IE</category>
      <category>부트스트랩</category>
      <category>인쇄</category>
      <category>주소가 같이 나오는 경우</category>
      <category>크롬</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/47</guid>
      <comments>https://phodobit.kr/47#entry47comment</comments>
      <pubDate>Thu, 10 Sep 2020 22:42:01 +0900</pubDate>
    </item>
    <item>
      <title>윈도우(Windows)에서 PHP8 (8.0.0 beta2)을 컴파일하고 빌드하는 방법을 알아보자! #php8 베타2 다운로드</title>
      <link>https://phodobit.kr/46</link>
      <description>&lt;p&gt;윈도우용 php 8 beta2 &lt;b&gt;다운로드만 받으러 오신분&lt;/b&gt;께:&lt;/p&gt;
&lt;p&gt;이 글에 첨부한 php8은 &lt;b&gt;php 8.0.0 beta2&lt;/b&gt;이며 &lt;span style=&quot;color: #ef5369;&quot;&gt;실서버용으로 사용이 불가능&lt;/span&gt;하며 &lt;span style=&quot;color: #0593d3;&quot;&gt;테스트용도로만 사용&lt;/span&gt;되는 버전입니다.&lt;/p&gt;
&lt;p&gt;첨부파일은 글 맨 아래에 있으니 내용은 생략하셔도 되십니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;먼저 PHP 공식 홈페이지에 있는 PHP 7.x까지는 마이크로소프트(Microsoft)가 PHP의 소스를 직접 빌드하고 나온 사전 빌드된(Prebuilt) 패키지를 PHP 공식 홈페이지에 배포해주었었다. 따라서 윈도우 사용자는 PHP 공식 다운로드 페이지에서 간편하게 내려받고 바로 실행할 수 있는 형태였었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;00 php 베타2 릴리즈.png&quot; data-origin-width=&quot;1062&quot; data-origin-height=&quot;779&quot; width=&quot;640&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c8qltu/btqHy41hg7d/glt2rQavqyeK6iwmsLu5EK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c8qltu/btqHy41hg7d/glt2rQavqyeK6iwmsLu5EK/img.png&quot; data-alt=&quot;PHP 공식 홈페이지에 PHP 8.0.0 베타2가 릴리즈 되었음을 알려주고 있다. 소스코드만 제공된다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c8qltu/btqHy41hg7d/glt2rQavqyeK6iwmsLu5EK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc8qltu%2FbtqHy41hg7d%2Fglt2rQavqyeK6iwmsLu5EK%2Fimg.png&quot; data-filename=&quot;00 php 베타2 릴리즈.png&quot; data-origin-width=&quot;1062&quot; data-origin-height=&quot;779&quot; width=&quot;640&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;PHP 공식 홈페이지에 PHP 8.0.0 베타2가 릴리즈 되었음을 알려주고 있다. 소스코드만 제공된다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그러나 PHP8 부터는 마이크로소프트의 빌드 지원이 없어지기 때문에 윈도우에서는 앞으로 사전 빌드된 패키지가 지원되지 않기 때문에 이번 글에서는 윈도우에서 PHP8을 직접 빌드하고 사용해보는 시간을 가져보려고 한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;(예상을 하나 하자면 굳이 직접 빌드할 필요없이 흔히 번들로 제공해주는 수많은 APM 패키지들(비트나미=bitnami, XAMPP 등)에서 자체 빌드하여 제공을 해주겠지만...)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;먼저 PHP를 빌드하는 &lt;b&gt;step-by-step(한단계 한단계 따라하기) 방법&lt;/b&gt;을 알아보기 위해 PHP 공식 홈페이지의 wiki를 참고하자.&lt;/p&gt;
&lt;figure id=&quot;og_1598674932062&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;PHP: internals:windows:stepbystepbuild_sdk_2&quot; data-og-description=&quot;Build your own PHP on Windows This tutorial concerns the new PHP SDK and PHP 7.2 and later, while the described PHP SDK is compatible with at least PHP 7.0. To build PHP prior to 7.0, or if you experience issues building PHP lower than 7.2 with the new PHP&quot; data-og-host=&quot;wiki.php.net&quot; data-og-source-url=&quot;https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2&quot; data-og-url=&quot;https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;PHP: internals:windows:stepbystepbuild_sdk_2&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Build your own PHP on Windows This tutorial concerns the new PHP SDK and PHP 7.2 and later, while the described PHP SDK is compatible with at least PHP 7.0. To build PHP prior to 7.0, or if you experience issues building PHP lower than 7.2 with the new PHP&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;wiki.php.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;이 아래부터는 바로 위 페이지의 가이드를 직접 하나씩 따라해보며 진행할 것이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;# 요구사항(필요한 것들)&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;윈도우에서 PHP를 빌드하려면 3가지 사항이 요구된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일부 파일은 블로그 본문에 사용했던 파일을 직접 올려두지만 &lt;span style=&quot;color: #ef5369;&quot;&gt;&lt;b&gt;가능하면 공식 홈페이지에서 직접 다운로드&lt;/b&gt;&lt;/span&gt; 받자!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;1. 잘 구성된 환경(컴파일러, PHP SDK)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; (1) 윈도우용 PHP 소스 컴파일에 사용되는 &lt;b&gt;컴파일러&lt;/b&gt;는 마이크로소프트의 &lt;b&gt;Visual C++ 컴파일러만 지원&lt;/b&gt;한다고 한다. PHP8을 git의 'master' branch로 판단하였을때 최소한 Visual Studio 2019 사용을 권장한다. 개인/비상업/비영리는 VS Community 에디션 라이선스를 사용할 수 있으므로 설치해도 무방하다. VS 공식 홈페이지( &lt;a href=&quot;https://visualstudio.microsoft.com/ko&quot;&gt;https://visualstudio.microsoft.com/ko&lt;/a&gt; )&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/Z9e4M/btqHAUquooy/VvhG5nxnaiaEycXmKYJEX0/vs_community.exe?attach=1&amp;amp;knm=tfile.exe&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;vs_community.exe&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;1.33MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&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; &amp;nbsp; (2) &lt;b&gt;PHP SDK&lt;/b&gt;는 이 링크(&lt;a href=&quot;https://github.com/Microsoft/php-sdk-binary-tools&quot;&gt;https://github.com/Microsoft/php-sdk-binary-tools&lt;/a&gt;)에 접속 후 나타나는 화면의 중앙에서 상단 또는 우측에 Release가 있을 것이다. 이 Release를 클릭한 후 최신 버전을 다운로드 받은 다음 적절한 디렉토리(폴더)에 압축을 풀자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bURjN5/btqHujybvlG/SaXFFVhZPpiFT1r6OT8Ri0/php_sdk_220.z01?attach=1&amp;amp;knm=tfile.z01&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;php_sdk_220.z01&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bMM0Po/btqHy5TmUpx/ZBX0L6OpK9c0knKhI9OvB1/php_sdk_220.z02?attach=1&amp;amp;knm=tfile.z02&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;php_sdk_220.z02&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bRENoU/btqHAm1ER6s/lPxojcDBXLviOK5pBQRiPK/php_sdk_220.z03?attach=1&amp;amp;knm=tfile.z03&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;php_sdk_220.z03&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/6NgCc/btqHA3HBycF/lPL7x8bBYe4icPYzIvQGU1/php_sdk_220.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;php_sdk_220.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;1.93MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;2. PHP에서 사용되는 미리 빌드된(prebuilt) 라이브러리, 서드파티(3rd party = 외부) 라이브러리 / 종속 라이브러리&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; 만약 우리가 리눅스를 사용하고 있다면 패키지 관리자(apt, yum, dnf 등)를 사용하여 쉽게 운영체제에 맞는 사전 빌드된 라이브러리를 설치할 수 있지만 윈도우이기 때문에 사전 빌드된 라이브러리를 찾기 어려울 것이다. 다행히도 PHP에서 사용되는 라이브러리들은 모두 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;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; 이곳에서 자신이 사용하는 버전에 맞게 접근하여 필요한 라이브러리를 다운로드 받아야 한다. 우리는 Visual Studio 2019(16.x)이니 먼저 vs16 디렉토리를 접근한 다음, 빌드를 하고 싶은 아키텍처(필자는 64비트)인 x64 디렉토리에서 모든 라이브러리를 다운로드 받자.&lt;/span&gt;&lt;span style=&quot;color: #333333;&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: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;u&gt;다운로드 받기전 알아야 할 사실: 아래에서 소개할 PHP 빌드 환경 설정 중에 라이브러리를 &lt;b&gt;자동으로 다운로드 받는 방법&lt;/b&gt;도 있다.&lt;/u&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; &amp;nbsp; 링크: &lt;a href=&quot;https://windows.php.net/downloads/php-sdk/deps/&quot;&gt;https://windows.php.net/downloads/php-sdk/deps/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/A2v3q/btqHsdedeFg/kGD4MHeEwpgSj2wS9ApNK0/deps.z01?attach=1&amp;amp;knm=tfile.z01&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;deps.z01&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bVzUmR/btqHoWDDDhf/sPnnhOk5qWT4FQZpiztGMk/deps.z02?attach=1&amp;amp;knm=tfile.z02&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;deps.z02&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/eB0gVo/btqHByHvbzv/4doKlMLQ8QY6hnKtu1o921/deps.z03?attach=1&amp;amp;knm=tfile.z03&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;deps.z03&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bqPoTv/btqHsb1tkEN/62pPaiOJoAAOhvUjk66FN1/deps.z04?attach=1&amp;amp;knm=tfile.z04&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;deps.z04&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/wayOv/btqHCWnOJnK/80ZoNsziraUVg9ouONR6i0/deps.z05?attach=1&amp;amp;knm=tfile.z05&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;deps.z05&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/boF3aw/btqHAlIstNG/dfqVCau9LAOLidNNrCLwMK/deps.z06?attach=1&amp;amp;knm=tfile.z06&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;deps.z06&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/ckSvBC/btqHBSTkWJf/Dck9QOq8yD9fifD7BcUCWk/deps.z07?attach=1&amp;amp;knm=tfile.z07&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;deps.z07&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/cpEXHL/btqHAVCU6gt/qi24kGBOXAaEzEHynkE6a0/deps.z08?attach=1&amp;amp;knm=tfile.z08&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;deps.z08&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/V3jd5/btqHBTdDJAu/DZKmf5kPoWDelitTk3LO1k/deps.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;deps.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;8.98MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;3. PHP 소스&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; 우리는 PHP 8.0.0 beta2를 빌드할 것이므로 PHP 8.0.0 beta2 소스코드를 다운로드 받자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; 공식 다운로드 페이지 : &lt;a href=&quot;https://downloads.php.net/~pollita/&quot;&gt;https://downloads.php.net/~pollita/&lt;/a&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; &amp;nbsp; 이곳에서 tar.bz, tar.gz, tar.xz중 하나만 다운로드 받고 적절한 위치에 압축을 풀자. 필자는 php-8.0.0beta2.tar.gz을 선택하였다.&lt;/p&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; asc 파일은 다운로드 받은 파일이 올바르게 다운로드 되었는지(다운로드 중에 깨지지 않았는지, 해커가 변조하지 않았는지) 확인하기 위해 사용되는 체크섬 파일이다. 이 글에서는 asc 파일로 올바르게 받았는지 검증하는 방법은 다루지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/puqL9/btqHxc6kw80/kSxczrDWX8Wkolxh4MOR9k/php-8.0.0beta2.z01?attach=1&amp;amp;knm=tfile.z01&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;php-8.0.0beta2.z01&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/YxGl6/btqHuh8dvHM/aqBXRbHdV22KsKWkuPiE61/php-8.0.0beta2.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;php-8.0.0beta2.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;6.15MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;# 빌드 디렉토리 구성 갖추기&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;이제 빌드 환경을 갖춰볼 시간이 됐다. (PHP 공식 가이드의 Setup the build directory 파트)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;여러분들이 위에서 다운로드 받은 SDK, 라이브러리, 소스코드를 어느 곳에 압축을 풀었는지 알 수는 없지만 필자의 경우 다음 그림과 같은 구조로 압축을 풀었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oOKXF/btqHByncYcv/gA6mHspdghTZt2dGkuaZAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oOKXF/btqHByncYcv/gA6mHspdghTZt2dGkuaZAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oOKXF/btqHByncYcv/gA6mHspdghTZt2dGkuaZAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoOKXF%2FbtqHByncYcv%2FgA6mHspdghTZt2dGkuaZAk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이제 공식 가이드처럼 따라해보자&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. PHP SDK 설정&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; (1) PHP SDK 디렉토리(=폴더)를 만든다. (예를들어 C:\php\phpsdk2)&lt;/p&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; (2) 위에서 만든 디렉토리에 'PHP SDK 바이너리 툴즈'의 압축을 푼다. (이 디렉토리에는 bin, lib, msys2라는 3개의 디렉토리가 존재해야 한다)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. 명령 프롬프트(cmd)를 열고 PHP SDK 디렉토리에 접근한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cxxh0n/btqHwhtxGyj/VJRiatJ4kbFnc6AuoM5Tx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cxxh0n/btqHwhtxGyj/VJRiatJ4kbFnc6AuoM5Tx0/img.png&quot; data-alt=&quot;명령어 [cd C:\php\phpsdk2]&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cxxh0n/btqHwhtxGyj/VJRiatJ4kbFnc6AuoM5Tx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcxxh0n%2FbtqHwhtxGyj%2FVJRiatJ4kbFnc6AuoM5Tx0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;명령어 [cd C:\php\phpsdk2]&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;3. starter 스크립트를 실행(invoke)한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; 주의할 것은 앞으로 나오는 모든 명령어는 이 starter 스크립트가 실행된 명령 프롬프트 안에서 입력되어야 한다.&lt;/p&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; 필자는 Visual Studio 2019 64비트를 사용하므로 'phpsdk-vs16-x64.bat'을 입력할 것이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQyjYM/btqHAorRi7h/LUl7MMPBx3hlb1ITIpMFh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQyjYM/btqHAorRi7h/LUl7MMPBx3hlb1ITIpMFh1/img.png&quot; data-alt=&quot;이렇게 나올 것이다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQyjYM/btqHAorRi7h/LUl7MMPBx3hlb1ITIpMFh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQyjYM%2FbtqHAorRi7h%2FLUl7MMPBx3hlb1ITIpMFh1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이렇게 나올 것이다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;4. phpsdk_buildtree 배치 스크립트를 실행하여 원하는 디렉토리 구조를 만든다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; 필자는 php8dev 디렉토리 구조로 만들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1r7WF/btqHscTAvPL/3kKMXWtyUVP3tJ0ShjhSdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1r7WF/btqHscTAvPL/3kKMXWtyUVP3tJ0ShjhSdk/img.png&quot; data-alt=&quot;명령어 [phpsdk_buildtree php8dev]&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1r7WF/btqHscTAvPL/3kKMXWtyUVP3tJ0ShjhSdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1r7WF%2FbtqHscTAvPL%2F3kKMXWtyUVP3tJ0ShjhSdk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;명령어 [phpsdk_buildtree php8dev]&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;5. phpsdk_buildtree 스크립트는 [2]에서 실행된 버전의 디렉토리를 새로 만들게 된다&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vYozh/btqHApEg0cv/jBrQrq7A4tytQTf09MSY1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vYozh/btqHApEg0cv/jBrQrq7A4tytQTf09MSY1K/img.png&quot; data-alt=&quot;잘 만들어졌는지 확인해보자.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vYozh/btqHApEg0cv/jBrQrq7A4tytQTf09MSY1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvYozh%2FbtqHApEg0cv%2FjBrQrq7A4tytQTf09MSY1K%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;잘 만들어졌는지 확인해보자.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;6. PHP 소스 코드를 [5]에서 만들어진 디렉토리에 압축을 푼다. (이미 압축을 풀었으면 복사 or 이동하자)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; PHPSDK디렉토리 -&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; [4]에서 만든 이름 (= php8dev) -&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; [3]에서 선택한 Visual Studio(C++) 버전 (= vs16) -&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; [3]에서 선택한 아키텍쳐 (= x64)&lt;/p&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; 이곳에 php 소스 디렉토리가 남겨지게끔 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/16LWS/btqHsbtDux0/nDEHGEoyrQk50SR4JlzyMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/16LWS/btqHsbtDux0/nDEHGEoyrQk50SR4JlzyMK/img.png&quot; data-alt=&quot;이런 구조로 남아야 한다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/16LWS/btqHsbtDux0/nDEHGEoyrQk50SR4JlzyMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F16LWS%2FbtqHsbtDux0%2FnDEHGEoyrQk50SR4JlzyMK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이런 구조로 남아야 한다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;7. [6]에서의 소스 디렉토리가 존재하는 디렉토리에 deps라는 디렉토리가 존재하는 것이 확인되는데, 아래 &lt;u&gt;2가지중 하나를 선택해서 수행&lt;/u&gt;한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; PHP 공식 가이드에서의 첫번째 방법이 이곳에서 두번째 방법이다.&lt;/p&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;첫번째 방법&lt;/b&gt;: 라이브러리를 &lt;b&gt;수동&lt;/b&gt;으로 다운로드 받아 설정하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; (1) 수동으로 모든 라이브러리를 모두 다운로드 받는다. (이미 위쪽에서 했을 것이다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; (2) 다운로드 받은 라이브러리의 압축을 모두 해제한다. 반드시&lt;span style=&quot;color: #333333;&quot;&gt; [6]에서 보이는 deps 디렉토리에 압축을 풀어주자&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 필자의 빌드 환경 수정의 디렉토리 구조처럼 [작업디렉토리\deps\include]와 [작업디렉토리\deps\lib]같이 있도록말이다.&lt;/p&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; 만약에 &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; &amp;nbsp; &amp;nbsp; &amp;nbsp; [작업경로\deps\라이브러리1\include], [작업디렉토리\deps\라이브러리1\lib],&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #333333;&quot;&gt;[작업경로\deps\라이브러리2\include], [작업디렉토리\deps\라이브러리2\lib],&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&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; &amp;nbsp; &lt;b&gt;두번째 방법&lt;/b&gt;: 라이브러리를 &lt;b&gt;자동&lt;/b&gt;으로 다운로드 받아 설정하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; 명령 프롬프트에서 php 소스 디렉토리로 이동한 다음, [phpsdk_deps -u] 명령어를 입력한다.&lt;/p&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; $ cd C:\php\phpsdk2\php8dev\vs16\x64\php8source&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $ phpsdk_deps -u&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8Mv5Z/btqHAUKOwyQ/4MoLQNDRrYzm1Z64HwvOu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8Mv5Z/btqHAUKOwyQ/4MoLQNDRrYzm1Z64HwvOu1/img.png&quot; data-alt=&quot;명령어를 입력하면 이 화면과 같이 자동으로 라이브러리를 다운로드 받고 압축을 풀어준다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8Mv5Z/btqHAUKOwyQ/4MoLQNDRrYzm1Z64HwvOu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8Mv5Z%2FbtqHAUKOwyQ%2F4MoLQNDRrYzm1Z64HwvOu1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;명령어를 입력하면 이 화면과 같이 자동으로 라이브러리를 다운로드 받고 압축을 풀어준다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;여기까지 했다면 빌드 디렉토리 구성 갖추기(Setup the build directory)는 끝이났다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;# 컴파일 및 빌드&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;알아야 할 사실: 현재(2020년 8월 29일) PHP SDK Starter에서는 크로스 빌드를 지원하지 않는다고 한다. (한번에 x64와 x86의 빌드라던가...)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. starter 스크립트를 실행한다. (빌드 디렉토리 구성 갗추기의 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;&amp;nbsp; &amp;nbsp; 이미 실행중인 상태면 당연히 또 할 필요는 없고 반드시 starter 스크립트에서 진행되어야 하기 때문에 가이드에 있는 것 같다.&lt;/p&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; &amp;nbsp; 명령어:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;gt; cd&amp;nbsp;C:\php\phpsdk2&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;gt; phpsdk-vs16-x64.bat&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. 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; &amp;nbsp; 명령어:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; $ cd&amp;nbsp;C:\php\phpsdk2\php8dev\vs16\x64\php8source&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3. buildconf를 실행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; $ buildconf&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4kiaS/btqHq2RhTeL/RfEJm3DpG1Cz9S31RIWhbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4kiaS/btqHq2RhTeL/RfEJm3DpG1Cz9S31RIWhbK/img.png&quot; data-alt=&quot;실행하니 configure.js를 재빌드하고 configure --help를 실행할 수 있다고 알려준다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4kiaS/btqHq2RhTeL/RfEJm3DpG1Cz9S31RIWhbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4kiaS%2FbtqHq2RhTeL%2FRfEJm3DpG1Cz9S31RIWhbK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;실행하니 configure.js를 재빌드하고 configure --help를 실행할 수 있다고 알려준다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;4. 컴파일 플래그를 알기 위해서는 다음 명령어를 입력하여 알아볼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; $ configure --help&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7Knlx/btqHBTrcQIJ/pzxEkYi3B6noXGXqoM7H00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7Knlx/btqHBTrcQIJ/pzxEkYi3B6noXGXqoM7H00/img.png&quot; data-alt=&quot;플래그들이 많다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7Knlx/btqHBTrcQIJ/pzxEkYi3B6noXGXqoM7H00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7Knlx%2FbtqHBTrcQIJ%2FpzxEkYi3B6noXGXqoM7H00%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;플래그들이 많다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;5. 자신의 configure 명령어를 만든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &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;&amp;nbsp; &amp;nbsp; $ configure --disable-all --enable-cli (기타등등)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &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;&amp;nbsp; &amp;nbsp; 필자는 아래와 같은 명령어를 사용했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; 무슨 내용인지는 [4]에서 나타나는 내용들로 확인해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; $ configure&amp;nbsp;--enable-snapshot-build&amp;nbsp;--enable-debug-pack&amp;nbsp;--disable-zts&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/laPzR/btqHuisvJdL/FcjjJMFyXfBK7DWLJZ4jB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/laPzR/btqHuisvJdL/FcjjJMFyXfBK7DWLJZ4jB1/img.png&quot; data-alt=&quot;무수히 많은 내용이 나오고 최종적으로는 이런 화면이 될 것이다. 중간에 자신이 활성화한 플래그들 정보도 나오므로 결과를 확인해보도록 하자.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/laPzR/btqHuisvJdL/FcjjJMFyXfBK7DWLJZ4jB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlaPzR%2FbtqHuisvJdL%2FFcjjJMFyXfBK7DWLJZ4jB1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;무수히 많은 내용이 나오고 최종적으로는 이런 화면이 될 것이다. 중간에 자신이 활성화한 플래그들 정보도 나오므로 결과를 확인해보도록 하자.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;6. 이제 빌드를 하기 위해 아래 명령어를 입력한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; $ nmake&lt;/p&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;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ndXYe/btqHxc6lriw/59AL8cr8CyBkmpdkZtSTYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ndXYe/btqHxc6lriw/59AL8cr8CyBkmpdkZtSTYK/img.png&quot; data-alt=&quot;열심히 빌드를 하고 있다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ndXYe/btqHxc6lriw/59AL8cr8CyBkmpdkZtSTYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FndXYe%2FbtqHxc6lriw%2F59AL8cr8CyBkmpdkZtSTYK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;열심히 빌드를 하고 있다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbzUvZ/btqHxP4DMVj/s5HnXkiAHhPExf8qbkbaGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbzUvZ/btqHxP4DMVj/s5HnXkiAHhPExf8qbkbaGK/img.png&quot; data-alt=&quot;빌드가 끝나면 커서가 깜박거릴 것이다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbzUvZ/btqHxP4DMVj/s5HnXkiAHhPExf8qbkbaGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbzUvZ%2FbtqHxP4DMVj%2Fs5HnXkiAHhPExf8qbkbaGK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌드가 끝나면 커서가 깜박거릴 것이다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;7. 만약에 빌드된 PHP와 확장(extension: 익스텐션)을 압축하려면 [6]이 완료된 이후에 아래 명령어를 입력한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; $ nmake snap&lt;/p&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;/p&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; 필자는 압축을 하는 것을 추천한다. 왜냐하면 빌드 이후 디렉토리에는 컴파일 과정에서 있던 목적프로그램(.obj 파일)들은 단독적으로 실행할 수도 없고, 그 파일의 양도 많기 때문에 실행에 필요한(실행 가능 파일=EXE과 외부 라이브러리=DLL) 파일만 따로 묶어주므로 다른 곳으로의 배포에 용이하다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;8. 컴파일 및 빌드된 결과는 아래 위치에 저장된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; 32비트의 경우 (x86)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; 여기까지 작업한 PHP 소스코드 디렉토리 -&amp;gt; Release 또는 ReleaseTS&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; 64비트의 경우 (x64)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; 여기까지 작업한 PHP 소스코드 디렉토리 -&amp;gt; x64 -&amp;gt; Release 또는 ReleaseTS&lt;/p&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; 만약 Non-thread-safe하게 컴파일 및 빌드했다면 (configure의 플래그에 --disable-zts를 넣은 경우) Release 디렉토리이고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; Thread-safe하게 컴파일 및 빌드했다면 ReleaseTS 디렉토리이다.&lt;/p&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; 그리고 [7]에서 압축한 결과물도 같은 디렉토리에 zip 파일 형식으로 저장된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이렇게하면 PHP 8.0.0 베타2의 컴파일 및 빌드가 완성되고 PHP 8.0.0 베타2를 바로 사용해볼 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cikfzq/btqHAV32TiN/UUV8Eg6iGS1hRCdrrQJ8MK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cikfzq/btqHAV32TiN/UUV8Eg6iGS1hRCdrrQJ8MK/img.png&quot; data-alt=&quot;빌드된 파일들과 CUI 환경으로 phpinfo()를 출력한 결과. (PHP 8.0.0 beta2 NTS)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cikfzq/btqHAV32TiN/UUV8Eg6iGS1hRCdrrQJ8MK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcikfzq%2FbtqHAV32TiN%2FUUV8Eg6iGS1hRCdrrQJ8MK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌드된 파일들과 CUI 환경으로 phpinfo()를 출력한 결과. (PHP 8.0.0 beta2 NTS)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bf5qE9/btqHujrqu0q/zHJBLmP9h6YGwJF7GVhZBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bf5qE9/btqHujrqu0q/zHJBLmP9h6YGwJF7GVhZBk/img.png&quot; data-alt=&quot;Apache 2.4와 php 8.0.0 beta2를 연동하여 phpinfo()를 출력한 결과 (PHP 8.0.0 beta2)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bf5qE9/btqHujrqu0q/zHJBLmP9h6YGwJF7GVhZBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbf5qE9%2FbtqHujrqu0q%2FzHJBLmP9h6YGwJF7GVhZBk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Apache 2.4와 php 8.0.0 beta2를 연동하여 phpinfo()를 출력한 결과 (PHP 8.0.0 beta2)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;만약 소스에서 무언가를 수정했거나 configure를 다시 하여 재컴파일(재빌드)를 하고 싶으면 아래 명령어를 순서대로 입력하면 된다.&lt;/p&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; $ nmake clean&lt;/p&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; buildconf 강제 재설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; $ buildconf --force&lt;/p&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; $ configure &amp;lt;플래그&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;&amp;nbsp; &amp;nbsp; 컴파일 및 빌드&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; $ nmake&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;여기까지 하면서 필자가 빌드한 PHP 8.0.0 베타2 바이너리를 아래에 첨부하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;빌드 환경은 이 글에 나타난대로 VS16(2019) x64임에 유의하고, Release.zip는 NTS(non-thread-safe), ReleaseTS.zip은 TS(thread-safe)이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 PHP 공식 홈페이지에서는 PHP 8.0.0 베타2를 production 환경(실제 서비스 환경)에서 사용하면 안되고 반드시 테스트용으로만 사용을 권장하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;경고:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;누군가가 빌드한 프로그램을 사용할때는 반드시 직접 바이러스(악성코드)를 검사한 후에,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 사람을 신뢰할 수 있는 경우에만 사용할 것.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또 가능하면 샌드박스 환경 또는 가상머신 환경에서의 실행을 추천함.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Non-Thread-Safe (IIS 또는 Nginx에 적합. Apache에서는 cgi로만 가능)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/mT7FA/btqHq2DCMHe/7gI9TswavrZwiPiY139D2k/Release.z01?attach=1&amp;amp;knm=tfile.z01&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Release.z01&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bBshZu/btqHA40OIzH/iNi92MxmR8p91UPUvtkpdk/Release.z02?attach=1&amp;amp;knm=tfile.z02&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Release.z02&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bClW2K/btqHA4T3Zzr/eoBtR7aHjyBWVKBZLCfAzk/Release.z03?attach=1&amp;amp;knm=tfile.z03&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Release.z03&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bfDrsV/btqHAWokai7/UKQWiS0IxjgSklgdIfGuOk/Release.z04?attach=1&amp;amp;knm=tfile.z04&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Release.z04&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/d4cZsj/btqHAnl0iwr/kM2FacMxiGchCXKcDDAlx0/Release.z05?attach=1&amp;amp;knm=tfile.z05&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Release.z05&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bKQ3JG/btqHAluVHFW/O5jDhVPLvVcR1xvMyvMCG0/Release.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Release.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;8.35MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thread-Safe (Apache 2.4.x용 모듈이 있으며 모듈명은 'php_module'임에 유의)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/ctcrE9/btqHzEBK7wH/13pgDWXfxX74ndFRy7JAUk/Release_TS.z01?attach=1&amp;amp;knm=tfile.z01&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Release_TS.z01&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/conMbd/btqHy6dMjg9/QxcjxzatqPYsK0kFDDPFL1/Release_TS.z02?attach=1&amp;amp;knm=tfile.z02&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Release_TS.z02&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/nT04s/btqHujZhsYK/wQOBO958fMymy3Nu4KkgA0/Release_TS.z03?attach=1&amp;amp;knm=tfile.z03&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Release_TS.z03&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/4uZC2/btqHEeBTJNe/iN0BaCHEzZ4OBNiLQm1W4k/Release_TS.z04?attach=1&amp;amp;knm=tfile.z04&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Release_TS.z04&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/pXgG9/btqHuj52mIP/D4kDGXuGoG2NvsMXDmvkxK/Release_TS.z05?attach=1&amp;amp;knm=tfile.z05&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Release_TS.z05&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;9.77MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/ulXYz/btqHBS0a6Ld/9OEJWeK3mnkZuBKQtLhw50/Release_TS.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Release_TS.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;8.51MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>기술/PHP</category>
      <category>php</category>
      <category>php8</category>
      <category>php8 다운로드</category>
      <category>php8.0.0</category>
      <category>php8베타</category>
      <category>Windows</category>
      <category>빌드</category>
      <category>윈도우</category>
      <category>컴파일</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/46</guid>
      <comments>https://phodobit.kr/46#entry46comment</comments>
      <pubDate>Sat, 29 Aug 2020 15:49:46 +0900</pubDate>
    </item>
    <item>
      <title>코드이그나이터4(CodeIgniter4)에서 model의 escape가 이상하게 동작한다고!?</title>
      <link>https://phodobit.kr/45</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;The wrong escape in CodeIgniter4's model!?&lt;/h3&gt;
&lt;p&gt;최근(?)에 CodeIgniter4가 출시됨에 따라 새로운 웹 프로젝트는 CodeIgniter4로 개발하게 되었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;당연하듯이 CodeIgniter3의 문법이 거의 동일하게 작동하는줄 알고 열심히 모델을 구현하는 도중 이상한 문제에 도달했었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;문제의 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1598158443173&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/** @var TestModel $model */
$model = model('TestModel');
try {
	$model-&amp;gt;set('name', 'phodobit')
		-&amp;gt;set('point', 0)
		-&amp;gt;set('update_date', 'CURRENT_TIMESTAMP()', FALSE)
		-&amp;gt;update();
} catch(\Exception $ex) {

}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;이 코드를 실행해보면 Database Syntax Error가 발생하게 된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;모델을 잘못 짠건가..?라는 생각에 모델을 다시 보았는데 Syntax Error가 발생할 만한 코드는 존재하지 않았다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;흠..? CI3의 코드랑 비교를 해보자&lt;/p&gt;
&lt;pre id=&quot;code_1598158561738&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 코드이그나이터3
$builder = $this-&amp;gt;db
	-&amp;gt;set('name', 'phodobit')
	-&amp;gt;set('point', 0)
	-&amp;gt;set('update_date', 'CURRENT_TIMESTAMP()', FALSE)
    -&amp;gt;update('test');&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;아니 이건 왜 잘되는거야 ㅠㅠ...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;일단 Syntax Error이 나타나니 마지막으로 시도한 SQL 구문을 불러서 보았다.&lt;/p&gt;
&lt;pre id=&quot;code_1598158635012&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/* 코드이그나이터4 */
UPDATE `test` SET name = phodobit, point = 0, update_date = CURRENT_TIMESTAMP()

/* 코드이그나이터3 */
UPDATE `test` SET `name` = 'phodobit', `point` = 0, update_date = CURRENT_TIMESTAMP()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;뭐지 이건!? 왜 CI4에서 key(column)와 value에 escape가 되지 않은거지;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;혹시 몰라서 CI4 코드에서 set() 메소드(함수)에 있는 escape 파라미터의 값을 TRUE로 바꿔보았다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btOHOe/btqG6g2ImQg/XFIvO4yffIXiok4fosYTL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btOHOe/btqG6g2ImQg/XFIvO4yffIXiok4fosYTL0/img.png&quot; data-alt=&quot;뭐가 문제니.......?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btOHOe/btqG6g2ImQg/XFIvO4yffIXiok4fosYTL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtOHOe%2FbtqG6g2ImQg%2FXFIvO4yffIXiok4fosYTL0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;뭐가 문제니.......?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;이번엔 escape가 동작을 하긴 했는데 원치 않는 구간도 escape가 되어버렸다.&lt;/p&gt;
&lt;p&gt;혹시 몰라 set() 구문을 &lt;i&gt;$model-&amp;gt;set('update_date', 'CURRENT_TIMESTAMP()', FALSE)-&amp;gt;set()...-&amp;gt;update();&lt;/i&gt; 로 해보았더니 이번엔 모든 key와 value가 escape=TRUE를 한 것과 동일한 결과가 나타났다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&quot;아 혹시 이거 버그인가?&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;라는 생각으로 바로 코드이그나이터4 github issue에 글을 남겨보았다.&lt;/p&gt;
&lt;figure id=&quot;og_1598755626878&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;object&quot; data-og-title=&quot;Bug: A wrong escape on BaseBuilder::set() &amp;middot; Issue #3127 &amp;middot; codeigniter4/CodeIgniter4&quot; data-og-description=&quot;Describe the bug I guess it is a bug that the function named BaseBuilder::set() building wrong escape character CodeIgniter 4 version 4.0.3 on master branch. Affected module(s) i don't know Exp...&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/codeigniter4/CodeIgniter4/issues/3127&quot; data-og-url=&quot;https://github.com/codeigniter4/CodeIgniter4/issues/3127&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/j4wz2/hyHjJ3GsQS/cKY5Lu4ATPxNwOzzOr7SG1/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200&quot;&gt;&lt;a href=&quot;https://github.com/codeigniter4/CodeIgniter4/issues/3127&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/codeigniter4/CodeIgniter4/issues/3127&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/j4wz2/hyHjJ3GsQS/cKY5Lu4ATPxNwOzzOr7SG1/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Bug: A wrong escape on BaseBuilder::set() &amp;middot; Issue #3127 &amp;middot; codeigniter4/CodeIgniter4&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Describe the bug I guess it is a bug that the function named BaseBuilder::set() building wrong escape character CodeIgniter 4 version 4.0.3 on master branch. Affected module(s) i don't know Exp...&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;(영어를 잘 못해서 끔찍한 의사소통이 이루어진다)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;issue에 올렸던 예시에서는 set()을 이 글처럼 하되, [VIEW_COUNT + 1]라는 예시를 들었었다.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;그러나 돌아온 답변은 &quot;버그가 아니다&quot;라는 답과 +1 처리는 increment()를 사용하라는 답변이었다. (이걸 원한게 아닌데 ㅠㅠ...)&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&quot;도대체 왜 안되는건가?&quot;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;CI4에서 사용하는 Model의 코드를 보면 set()을 호출할때마다 Model 객체 멤버변수에 escape를 할지 말지 결정하고 SQL을 조합할때 결국에 하나뿐인 escape 멤버변수만 바라보기 때문에 전체가 escape되거나 말거나였다.&lt;/p&gt;
&lt;pre id=&quot;code_1598160298662&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 코드이그나이터4 Model의 set()
public function set($key, ?string $value = '', bool $escape = null)
{
  $data = is_array($key)
    ? $key
    : [$key =&amp;gt; $value];

  $this-&amp;gt;tempData['escape'] = $escape; // 여기에 하필 저장을 해버리다니 ㅠㅠ..
  $this-&amp;gt;tempData['data']   = array_merge($this-&amp;gt;tempData['data'] ?? [], $data);

  return $this;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&quot;어떻게 해결 할 수 있는가?&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;이런 복합적인 데이터 처리를 할때는 Model에서 builder를 가져온 다음에 작업해야만 한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그러나 주의할 점은 Controller 등 외부에서 Model의 builder를 가져올 수는 없다.&lt;/p&gt;
&lt;p&gt;왜냐하면 현재 CodeIgniter4(최신 4.0.3)에서 Model의 멤버객체인 $builder를 가져오는 메소드는 protected로 선언된 builder()메소드이므로 외부에서 $model-&amp;gt;builder()를 호출하는 경우 __call() 메소드에서 $this(모델 객체)를 리턴해버리기 때문이다.&lt;/p&gt;
&lt;pre id=&quot;code_1598163175614&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 컨트롤러에서 builder와 model의 비교한 경우 같다고 나타난다.
$model = model('TestModel');
var_dump($model === $model-&amp;gt;builder());
// 실행결과: bool(true)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;결국엔 아래와 같이 모델에서 builder를 가져온 후 처리하면 되는 것이다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1598161336798&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 반드시 *Model*에서 코딩되어야 한다.
public function test() {
	try {
		$this-&amp;gt;builder() // builder를 가져와서 하는 것이 매우 중요!
			-&amp;gt;set('name', 'phodobit')
			-&amp;gt;set('point', 0)
			-&amp;gt;set('update_date', 'CURRENT_TIMESTAMP()', FALSE)
			-&amp;gt;update();
	} catch(\Exception $ex) {
	}
  
	return $this-&amp;gt;getLastQuery();
}
// 실행결과:
// UPDATE `users` SET `name` = 'phodobit', `point` = '0', update_date = CURRENT_TIMESTAMP()
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기술/PHP</category>
      <category>CodeIgniter</category>
      <category>CodeIgniter4</category>
      <category>Escape</category>
      <category>php</category>
      <category>SET</category>
      <category>코드이그나이터</category>
      <category>코드이그나이터4</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/45</guid>
      <comments>https://phodobit.kr/45#entry45comment</comments>
      <pubDate>Sun, 23 Aug 2020 14:45:41 +0900</pubDate>
    </item>
    <item>
      <title>드디어 확인한 나의 구글 코드잼(Google Code jam) 2020 참여 결과 (구글 코드잼 2020 참가 후기)</title>
      <link>https://phodobit.kr/44</link>
      <description>&lt;p&gt;일단은 처참쓰(?)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbvuTl/btqHbZkTB3R/sLMx7N6NngJG5PekLH2gxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbvuTl/btqHbZkTB3R/sLMx7N6NngJG5PekLH2gxk/img.png&quot; data-alt=&quot;최종적으로 예선전을 통과했다는 인증서 (...?)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbvuTl/btqHbZkTB3R/sLMx7N6NngJG5PekLH2gxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbvuTl%2FbtqHbZkTB3R%2FsLMx7N6NngJG5PekLH2gxk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;최종적으로 예선전을 통과했다는 인증서 (...?)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;나의 경쟁 프로필에서 확인한 정보를 보니 너무 처참하다... &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;알고리즘 공&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;부를 더 많이 해야하겠다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvkdKN/btqG3lQ02HI/JAsSpvLFTAuyvUbSd8Df00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvkdKN/btqG3lQ02HI/JAsSpvLFTAuyvUbSd8Df00/img.png&quot; data-alt=&quot;2라운드 간적은 없지만...&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvkdKN/btqG3lQ02HI/JAsSpvLFTAuyvUbSd8Df00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvkdKN%2FbtqG3lQ02HI%2FJAsSpvLFTAuyvUbSd8Df00%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;2라운드 간적은 없지만...&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;코드잼에서는 내가 제출한 소스코드가 올바른 답을 출력하는지 대회가 끝날때까지 비밀로 하는 점수가 있어서(Hidden Set) 답안을 제출하면 맞거나 틀리거나 바로 점수를 준다.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;(올해에 처음 참여해본 것이라 잘 몰랐는데 당연히 그대로 점수를 받는거고 남들에게만 비공개인줄 알았더니... 아니였다.)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;제목-없음-1.png&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;1080&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lL0NS/btqIP0vTu9l/kuLcKosyTiKFbSWIPC0jDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lL0NS/btqIP0vTu9l/kuLcKosyTiKFbSWIPC0jDk/img.png&quot; data-alt=&quot;중간중간마다 답을 제출하고 스코어보드를 찍었다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lL0NS/btqIP0vTu9l/kuLcKosyTiKFbSWIPC0jDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlL0NS%2FbtqIP0vTu9l%2FkuLcKosyTiKFbSWIPC0jDk%2Fimg.png&quot; data-filename=&quot;제목-없음-1.png&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;1080&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;중간중간마다 답을 제출하고 스코어보드를 찍었다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;덕분에 몇 문제 풀고나니 예선 중간에 375위를 찍고 점차 밀려나기도 했었다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;그래도 이때 너무 기뻤다. 이제 사실을 알았으니 내년엔 안 기쁘겠지.. (모르는게 약)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>활동</category>
      <category>Code jam</category>
      <category>code jam 2020</category>
      <category>구글</category>
      <category>대회</category>
      <category>알고리즘</category>
      <category>참가후기</category>
      <category>코드잼</category>
      <category>코드잼 2020</category>
      <category>코딩</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/44</guid>
      <comments>https://phodobit.kr/44#entry44comment</comments>
      <pubDate>Sat, 22 Aug 2020 23:25:38 +0900</pubDate>
    </item>
    <item>
      <title>Windows에서 PHP 7.4.x 실행 오류 해결하기 &amp;quot;PHP Warning:  'vcruntime140.dll' 14.0 is not compatible with this PHP build linked with 14.16 in Unknown on line 0&amp;quot; 그리고 &amp;quot;컴퓨터에 VCRUNTIME140.dll이(가) 없어 프로그램을 시작할 수..</title>
      <link>https://phodobit.kr/43</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/daDuHu/btqG62bz1ac/jRAI8u3QmLESwoKrf0BdYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/daDuHu/btqG62bz1ac/jRAI8u3QmLESwoKrf0BdYK/img.png&quot; data-alt=&quot;PHP Windows 빌드 다운로드 홈페이지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/daDuHu/btqG62bz1ac/jRAI8u3QmLESwoKrf0BdYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdaDuHu%2FbtqG62bz1ac%2FjRAI8u3QmLESwoKrf0BdYK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;PHP Windows 빌드 다운로드 홈페이지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Windows에서 PHP 7.4.x를 설치하고 실행한다면 가장 처음에 이런 오류 메시지가 나타난다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;==============================================&lt;/p&gt;
&lt;p&gt;컴퓨터에 VCRUNTIME140.dll이(가)&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;해결하십시오.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;==============================================&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이 문제는 당연하게도 맨 위 홈페이지 캡처에 나타나있듯이 PHP 7.4.x가 Visual C++ 15 (Visual Studio 2017)로 빌드되었기 때문에 실행하기 위해 필요한 환경(런타임)을 갖지 못해 실행할 수 없다는 메시지이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이 오류 메시지만 검색하여 찾아가는 상당한 수의 블로그를 보면 중간에 나와있는 DLL 파일만 다운로드 받아 시스템 폴더에 집어넣으라는 방법이 포스팅되어 있는데 이 방법은 사실 프로그램을 실행하는데 있어서는 상관이 없지만 잘못된 설치 방법이다.&lt;/p&gt;
&lt;p&gt;어차피 이렇게 DLL 파일을 수동으로 시스템 폴더에 넣어도 또 다른 의존성 파일(DLL)이 없다고 오류 메시지가 나타날 확률이 높다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;정확하게 이 문제를 해결하려면 VCRUNTIME140.DLL이 어떤 Visual C++ 버전에 포함이 되는지 알아보아야하는데 필자는 단순히 검색하여 이 파일이 Visual C++ 2015인줄 알고 Microsoft 공식 홈페이지에서 Visual C++ 2015 런타임 패키지를 설치하게 되었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그런데 다행히도 이 문제는 더 이상 나타나지 않았지만 다른 문제가 생긴 것이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;============================&lt;/p&gt;
&lt;p&gt;PHP&amp;nbsp;Warning:&amp;nbsp;&amp;nbsp;'vcruntime140.dll' 14.0 is not compatible with this PHP build linked with&amp;nbsp;14.16&amp;nbsp;in&amp;nbsp;Unknown&amp;nbsp;on&amp;nbsp;line&amp;nbsp;0&lt;/p&gt;
&lt;p&gt;============================&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;오우... 내가 설치한 파일이 호환되지 않는다고 하는 것이였다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그래서 다시 잘 찾아보니 해답은 바로 맨 위 사진의 PHP 홈페이지에 있던 것이였다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;356&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLcBex/btqG6Hk37yc/IamyfqkmugLrHWc9KCeOoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLcBex/btqG6Hk37yc/IamyfqkmugLrHWc9KCeOoK/img.png&quot; data-alt=&quot;&amp;amp;quot;최신 버전의 PHP는 Visual C++ 15 또는 Visual Studio 16으로 빌드된다.&amp;amp;quot; 고로, &amp;amp;quot;Visual Studio 2015-2019의 Visual C++ 재배포 가능 패키지의 설치가 요구된다.&amp;amp;quot;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLcBex/btqG6Hk37yc/IamyfqkmugLrHWc9KCeOoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLcBex%2FbtqG6Hk37yc%2FIamyfqkmugLrHWc9KCeOoK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;356&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&quot;최신 버전의 PHP는 Visual C++ 15 또는 Visual Studio 16으로 빌드된다.&quot; 고로, &quot;Visual Studio 2015-2019의 Visual C++ 재배포 가능 패키지의 설치가 요구된다.&quot;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;홈페이지에서 안내해주는 링크 덕분에 &quot;Visual Studio 2015-2019의 Visual C++ 재배포 가능 패키지&quot;를 설치하여 문제를 해결할 수 있었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;참고로 재배포 가능 패키지는 본인의 운영체제(Windows)의 아키텍처(32비트 또는 64비트)에 따라 설치하는게 아니라 실행하려는 프로그램이 어떤 아키텍처를 대상으로 빌드되었는지에 따라 설치해야하는 것이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그리고 32비트는 i386, i486, i586, x86 으로 표현하고, 64비트는 amd64, ia64, x64 로 표현된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;필자는 64비트 PHP를 사용할 예정이므로 64비트 패키지를 설치했다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;참고 링크:&lt;/p&gt;
&lt;p&gt;Windows용 PHP 다운로드 사이트&lt;/p&gt;
&lt;p&gt;&lt;a style=&quot;letter-spacing: 0px;&quot; href=&quot;https://windows.php.net/download/&quot;&gt;https://windows.php.net/download/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;VS2015-2019의 VC++ 재배포 가능 패키지&lt;/p&gt;
&lt;p&gt;32비트 다운로드 링크 &lt;a href=&quot;https://aka.ms/vs/16/release/VC_redist.x86.exe&quot;&gt;https://aka.ms/vs/16/release/VC_redist.x86.exe&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;64비트 다운로드 링크&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://aka.ms/vs/16/release/VC_redist.x64.exe&quot;&gt;https://aka.ms/vs/16/release/VC_redist.x64.exe&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기술/PHP</category>
      <category>php</category>
      <category>php warning</category>
      <category>php7</category>
      <category>vcruntime140.dll</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/43</guid>
      <comments>https://phodobit.kr/43#entry43comment</comments>
      <pubDate>Sat, 22 Aug 2020 11:53:21 +0900</pubDate>
    </item>
    <item>
      <title>삼성 시큐리티 테크 포럼 2020 (Samsung Security Tech Forum 2020, SSTF 2020) 에 참가하게 됐다!</title>
      <link>https://phodobit.kr/42</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;about.PNG&quot; data-origin-width=&quot;1065&quot; data-origin-height=&quot;410&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yPpbw/btqGUfBXN7Y/rngB6v7HTnauWVRyacTUiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yPpbw/btqGUfBXN7Y/rngB6v7HTnauWVRyacTUiK/img.png&quot; data-alt=&quot;SSTF 소개. &amp;amp;quot;해커놀이터에 오신걸 환영합니다!!&amp;amp;quot;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yPpbw/btqGUfBXN7Y/rngB6v7HTnauWVRyacTUiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyPpbw%2FbtqGUfBXN7Y%2FrngB6v7HTnauWVRyacTUiK%2Fimg.png&quot; data-filename=&quot;about.PNG&quot; data-origin-width=&quot;1065&quot; data-origin-height=&quot;410&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;SSTF 소개. &quot;해커놀이터에 오신걸 환영합니다!!&quot;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;오늘은 삼성에서 주최한 SSTF 2020 (&amp;lt;초보자의&amp;gt; 해킹 실력 자랑하기)에 학교 선배와 함께 2인으로 JSon이라는 팀을 결성하여 &lt;span style=&quot;color: #333333;&quot;&gt;참가하게 됐습니다~!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;sche.PNG&quot; data-origin-width=&quot;520&quot; data-origin-height=&quot;260&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brziV2/btqGQc0aEEq/nk3a42MHe4UoxuO8ZlPMi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brziV2/btqGQc0aEEq/nk3a42MHe4UoxuO8ZlPMi1/img.png&quot; data-alt=&quot;2020년 8월 18일 오전 10시부터 오후 4시까지 6시간에 걸쳐 진행되는 대회 일정!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brziV2/btqGQc0aEEq/nk3a42MHe4UoxuO8ZlPMi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrziV2%2FbtqGQc0aEEq%2Fnk3a42MHe4UoxuO8ZlPMi1%2Fimg.png&quot; data-filename=&quot;sche.PNG&quot; data-origin-width=&quot;520&quot; data-origin-height=&quot;260&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;2020년 8월 18일 오전 10시부터 오후 4시까지 6시간에 걸쳐 진행되는 대회 일정!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;문제의 종류로는 pwn, crypto, reversing, forensic이고 해킹 대상 플랫폼은 android app, web, linux binary 등이 있었어요!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;score.PNG&quot; data-origin-width=&quot;1086&quot; data-origin-height=&quot;748&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKK1DH/btqGK2Kyidh/wJW7wt9QWTWDqslaONXnK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKK1DH/btqGK2Kyidh/wJW7wt9QWTWDqslaONXnK1/img.png&quot; data-alt=&quot;실시간으로 고공행진하는 똑똑한 팀들!! The Duck(더덕..?)팀이 가장 높은 점수를 받았네요.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKK1DH/btqGK2Kyidh/wJW7wt9QWTWDqslaONXnK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKK1DH%2FbtqGK2Kyidh%2FwJW7wt9QWTWDqslaONXnK1%2Fimg.png&quot; data-filename=&quot;score.PNG&quot; data-origin-width=&quot;1086&quot; data-origin-height=&quot;748&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;실시간으로 고공행진하는 똑똑한 팀들!! The Duck(더덕..?)팀이 가장 높은 점수를 받았네요.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;예전부터 프로그램의 분석과 부수기(?)를 좋아했던 저로서는 도저히 이러한 팀들만큼 따라갈 실력이 되지 않더라구요.&lt;/p&gt;
&lt;p&gt;그렇지만 이러한 대회를 참가하고 문제를 풀어보니 더욱 더 해결(해킹)하고 싶다는 욕구가 넘쳐난다랄까요? 앞으로는 이런 쪽으로도 공부를 해보아야 겠어요.&lt;/p&gt;
&lt;p&gt;어떻게 공부해야할지는 모르겠지만, 과거에 프로그래밍 카페에서 인지도가 있으셨던 분들(&lt;span style=&quot;color: #333333;&quot;&gt;현재는 모두 좋은곳을 가셨더라구요..&lt;/span&gt;)이랑 1~3년 정도 수다도 떨고 했었는데 이분들의 특징은 모두 저랑 같은 프로그램의 분석과 부수기시더라구요! 저는 단지 그분들보다는 덜 부순거죠!(?). 그래서 앞으로는 더 부숴볼까 합니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;score2.PNG&quot; data-origin-width=&quot;889&quot; data-origin-height=&quot;365&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OrqPd/btqGH1yTiv3/AK0sijpXdimYQcwb7vPWR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OrqPd/btqGH1yTiv3/AK0sijpXdimYQcwb7vPWR1/img.png&quot; data-alt=&quot;457점을 받고 31위를 차지한 JSon!!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OrqPd/btqGH1yTiv3/AK0sijpXdimYQcwb7vPWR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOrqPd%2FbtqGH1yTiv3%2FAK0sijpXdimYQcwb7vPWR1%2Fimg.png&quot; data-filename=&quot;score2.PNG&quot; data-origin-width=&quot;889&quot; data-origin-height=&quot;365&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;457점을 받고 31위를 차지한 JSon!!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Scoreboard(점수판)에 따르면 마지막 Rank(순위)가 1130위로 나타나있던데 총 1130개의 팀 중에서 453개의 팀은 참여를 하지 못한 것으로 보이고, 남은 677개의 팀 중 낮은 점수로 31위를 차지하게 되었어요! (순위는 높게 나오더라구요. 점수는 절대로 높은게 아니에요)&lt;/p&gt;
&lt;p&gt;결론적으로 멘탈을 탈탈 털리고 높은 점수를 획득하지 못해서 분하지만 다음 SSTF 2021(나와주어야 하지만..)에서는 더 높은 점수를 받고 말겠어요!&lt;/p&gt;
&lt;p&gt;그나저나 오늘 문제 풀이를 누군가 올려주시겠지?!?!?!?!?&lt;/p&gt;</description>
      <category>활동</category>
      <category>SSTF</category>
      <category>SSTF2020</category>
      <category>삼성</category>
      <category>삼성시큐리티테크포럼</category>
      <category>포도빛</category>
      <category>해킹</category>
      <category>해킹대회</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/42</guid>
      <comments>https://phodobit.kr/42#entry42comment</comments>
      <pubDate>Tue, 18 Aug 2020 20:09:25 +0900</pubDate>
    </item>
    <item>
      <title>[VB6] VB6으로 컴파일 된 프로그램의 End 함수 무력화 프로그램 소스 코드</title>
      <link>https://phodobit.kr/33</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/0174F74451B0A0B311&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/zip.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;vbaEnd.zip&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이 프로그램은 타겟이 되는 VB6 프로그램의 End 함수를 무력화합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;예를들어&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Private sub command1_click()&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;end&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;end sub&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위와 같이 코딩된&amp;nbsp;프로그램에 이 프로그램을 적용하면 command1을 아무리 클릭해도 종료되지 않습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;재미있는건&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;647&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border: none; border-collapse: collapse; font-size: 12px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width: 647px; height: 109px; border: 1px solid rgb(204, 204, 204);&quot;&gt;&lt;p&gt;&lt;b&gt;If ver &amp;lt;&amp;gt; newver then&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;msgbox &quot;최신 버전 다운받으세요&quot;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;end&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;End if&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;' ... 정상작동&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위와 같이 코딩된 프로그램은 end가 무력화당해서 정상작동으로 넘어갑니다.&lt;/p&gt;</description>
      <category>기술/VB Classic &amp;amp; VBA</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/33</guid>
      <comments>https://phodobit.kr/33#entry33comment</comments>
      <pubDate>Thu, 6 Jun 2013 23:50:12 +0900</pubDate>
    </item>
    <item>
      <title>카이로소프트 DAT 조합 도구</title>
      <link>https://phodobit.kr/16</link>
      <description>&lt;p style=&quot;line-height: 2; &quot;&gt;카이로소프트 DAT 조합 도구 입니다.&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;DAT 분해 도구와 반대입니다.&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/1201DC3B4F852A1931&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/zip.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;KairoDATimport.zip&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;&lt;b&gt;사용 방법:&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;1. DAT으로 만들어질 파일이 들어있는 폴더 경로 입력 (폴더까지만)&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;2. [파일 목록 표시] 버튼 클릭&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;3. 파일 목록이 제대로 표시되었는지 확인&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;4. [DAT 조합] 버튼 클릭&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;5. (1)에서 입력한 폴더 경로에 _LoveMomory.dat이 생성됩니다.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;line-height: 24px;&quot;&gt;&lt;a href=&quot;http://cafe.naver.com/hanapps/17957&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://cafe.naver.com/hanapps/17957&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 2; &quot;&gt;핵심 파일 암호: lovem0ry&lt;/p&gt;</description>
      <category>게임</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/16</guid>
      <comments>https://phodobit.kr/16#entry16comment</comments>
      <pubDate>Wed, 11 Apr 2012 15:54:39 +0900</pubDate>
    </item>
    <item>
      <title>카이로소프트 DAT 분해 도구 b2</title>
      <link>https://phodobit.kr/15</link>
      <description>&lt;p&gt;카이로소프트 DAT 분해 도구 b2&lt;/p&gt;&lt;p&gt;복호화된 DAT에 한해서만 가능합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;사용하기 전 백신으로 바이러스 검사를 꼭 해주세요.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;복호화된 DAT 두 개&amp;nbsp;넣었습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/1726714F4F84E85F1E&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/zip.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;KairoDAT.zip&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;바이러스 검사 결과:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.virustotal.com/file/c3fd0193ba581bd8855d4b8dd3b429f1e57bf285037e0cbe62791104ab2bbf86/analysis/1334110206/&quot;&gt;https://www.virustotal.com/file/c3fd0193ba581bd8855d4b8dd3b429f1e57bf285037e0cbe62791104ab2bbf86/analysis/1334110206/&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;개선된 점:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;- 파일 이름에 폴더가 포함되어있을 때 폴더를 생성할 수 있음&lt;/p&gt;&lt;p&gt;- 분해할 시 폴더를 선택할 수 있음.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;사용 방법:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;1. 실행&lt;/p&gt;&lt;p&gt;2. [파일열기] 클릭&lt;/p&gt;&lt;p&gt;3. 복호화된 DAT 파일 경로 입력&lt;/p&gt;&lt;p&gt;4. 확인&lt;/p&gt;&lt;p&gt;5. 파일 리스트 확인 후 [파일분해] 클릭&lt;/p&gt;&lt;p&gt;6. 분해된 파일이 저장될 폴더를&amp;nbsp;선택&amp;nbsp;후 확인&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://cafe.naver.com/hanapps/17824&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://cafe.naver.com/hanapps/17824&lt;/a&gt;&lt;/p&gt;</description>
      <category>게임</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/15</guid>
      <comments>https://phodobit.kr/15#entry15comment</comments>
      <pubDate>Sun, 8 Apr 2012 20:45:40 +0900</pubDate>
    </item>
    <item>
      <title>카이로소프트 DAT 복호화/암호화 도구</title>
      <link>https://phodobit.kr/14</link>
      <description>&lt;p&gt;카이로소프트 모험던전마을&amp;nbsp;DAT 복호화/암호화 도구&lt;/p&gt;&lt;p&gt;모험던전마을 기준으로 작성 됨&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;JRE 1.7(자바 런타임 환경) 권장&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/111016464F8171D119&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/unknown.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;kairo_dat.jar&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;사용방법 (암호화, 복호화 공통):&lt;/b&gt;&lt;/p&gt;&lt;p&gt;java -jar &quot;kairo_dat.jar&quot; &quot;DAT파일&quot;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://cafe.naver.com/hanapps/17821&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://cafe.naver.com/hanapps/17821&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;다른 게임용:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;패독그랑프리GP :&lt;/p&gt;&lt;p&gt;http://cafe.naver.com/hanapps/17949&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;명문포켓학원2 (JPN) :&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/170D4E3F4F96A60B15&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/unknown.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;kairo_dat_a.jar&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;어패럴 양품점 (JPN) :&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/125885344F96A76009&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/unknown.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;kairo_dat_b.jar&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;별이 된 카이로군 (JPN) :&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/1560AE464FAF52E621&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/unknown.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;kairo_dat_c.jar&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>게임</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/14</guid>
      <comments>https://phodobit.kr/14#entry14comment</comments>
      <pubDate>Sun, 8 Apr 2012 20:10:21 +0900</pubDate>
    </item>
    <item>
      <title>[윈도우 7] 윈도우 업데이트 없이(하지 않고) 시스템 종료 하기</title>
      <link>https://phodobit.kr/12</link>
      <description>&lt;p style=&quot;margin:0&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 264px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1924F64B4F4F80BD24&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1924F64B4F4F80BD24&quot; width=&quot;264&quot; height=&quot;152&quot; filename=&quot;01.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
윈도우 7 에서는 멍청하게도 윈도우 업데이트가 설치되고 나면&lt;br /&gt;
시작메뉴의 시스템 종료가 무조건 &quot;업데이트 설치 + 시스템 종&quot;료 넘어가게 됩니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
나중에 설치하고 시스템을 종료하는 방법은 아래와 같습니다.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
1. 바탕화면을 빈 공간을 클릭합니다.&lt;br /&gt;
2. 키보드의 [ALT]키를 누른채 [F4]키를 누릅니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p style=&quot;margin:0&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 496px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2024F64B4F4F80BD25&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2024F64B4F4F80BD25&quot; width=&quot;496&quot; height=&quot;246&quot; filename=&quot;02.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;
그럼 위와 같은 윈도우 종료 창이 나오는데..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p style=&quot;margin:0&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 496px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1124F64B4F4F80BD26&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1124F64B4F4F80BD26&quot; width=&quot;496&quot; height=&quot;246&quot; filename=&quot;03.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
메뉴 중에 &quot;시스템 종료&quot;라고만 되어 있는 것이 있습니다.&lt;br /&gt;
이것으로 선택한 뒤 확인하시면 시스템 종료가 됩니다.&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
// 물론 다른 방법도 있겠지만 수 많은 방법 중 한가지를 소개해드렸습니다.&lt;/div&gt;
&lt;/div&gt;</description>
      <category>정보/Windows 팁</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/12</guid>
      <comments>https://phodobit.kr/12#entry12comment</comments>
      <pubDate>Thu, 1 Mar 2012 23:02:40 +0900</pubDate>
    </item>
    <item>
      <title>지구별 현재 시간 플래시 (11.10.02 수정)</title>
      <link>https://phodobit.kr/1</link>
      <description>&lt;STRONG&gt;지구별에서의 낮:&lt;/STRONG&gt; 1시, 5시, 9시&lt;br /&gt;
&lt;STRONG&gt;저녁:&lt;/STRONG&gt; 2시, 6시, 10시&lt;br /&gt;
&lt;STRONG&gt;밤: &lt;/STRONG&gt;3시, 7시, 11시&lt;br /&gt;
&lt;STRONG&gt;새벽:&lt;/STRONG&gt; 4시, 8시, 12시 
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0px&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;span id=&quot;m118bc56f0a74e3fcf08e230d5d24cc035764&quot;&gt;&lt;embed id=&quot;m118bc56f0a74e3fcf08e230d5d24cc035764&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;300&quot; height=&quot;400&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; src=&quot;https://t1.daumcdn.net/cfile/tistory/187C93334E88084E01&quot; allowScriptAccess=&quot;always&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/P&gt;
&lt;P&gt;
&lt;P style=&quot;MARGIN: 0px&quot;&gt;&lt;/P&gt;&lt;br /&gt;
&lt;STRONG&gt;HTML로 적용하는 방법:&lt;br /&gt;
&lt;/STRONG&gt;&amp;lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;&lt;FONT color=#800000&gt;&lt;A href=&quot;https://t1.daumcdn.net/cfile/tistory/187C93334E88084E01&quot;&gt;https://t1.daumcdn.net/cfile/tistory/187C93334E88084E01&lt;/A&gt;&lt;/FONT&gt;&quot; width=&quot;400&quot; height=&quot;300&quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&quot;movie&quot; value=&quot;&lt;A href=&quot;https://t1.daumcdn.net/cfile/tistory/187C93334E88084E01&quot;&gt;https://t1.daumcdn.net/cfile/tistory/187C93334E88084E01&lt;/A&gt;&quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&quot;quality&quot; value=&quot;high&quot;&amp;gt;&lt;br /&gt;
&amp;lt;embed src=&quot;&lt;FONT color=#800000&gt;&lt;A href=&quot;https://t1.daumcdn.net/cfile/tistory/187C93334E88084E01&quot;&gt;https://t1.daumcdn.net/cfile/tistory/187C93334E88084E01&lt;/A&gt;&lt;/FONT&gt;&quot; quality=&quot;high&quot; width=&quot;400&quot; height=&quot;300&quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
11.10.02 수정된 내용:&lt;br /&gt;
- 만든이가 낮에만 표시되는 문제.</description>
      <category>게임</category>
      <author>포도빛</author>
      <guid isPermaLink="true">https://phodobit.kr/1</guid>
      <comments>https://phodobit.kr/1#entry1comment</comments>
      <pubDate>Sat, 24 Sep 2011 21:17:28 +0900</pubDate>
    </item>
  </channel>
</rss>