-
Notifications
You must be signed in to change notification settings - Fork 0
/
rss2.xml
225 lines (131 loc) · 79.8 KB
/
rss2.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>YoungBin</title>
<link>http://dudqls5271.github.io/</link>
<atom:link href="http://dudqls5271.github.io/rss2.xml" rel="self" type="application/rss+xml"/>
<description>개인 공부 및 작업물 공유</description>
<pubDate>Thu, 08 Jul 2021 11:28:45 GMT</pubDate>
<generator>http://hexo.io/</generator>
<item>
<title>자바 - 3.연산자(operater)</title>
<link>http://dudqls5271.github.io/2021/06/29/hexo_JAVA04/</link>
<guid>http://dudqls5271.github.io/2021/06/29/hexo_JAVA04/</guid>
<pubDate>Tue, 29 Jun 2021 13:14:20 GMT</pubDate>
<description><p>연산자는 ‘연산을 수행하는 기호’를 말한다. 예를 들어서 ‘+’기호는 덧셈을 연산을 수행하며,<br>‘덧샘 얀산자’라고한다. 자바에서는 사칙연산(+, -, *, /)을 비롯해서 다양한 연산자들을 제공한다.</p></description>
<content:encoded><![CDATA[<p>연산자는 ‘연산을 수행하는 기호’를 말한다. 예를 들어서 ‘+’기호는 덧셈을 연산을 수행하며,<br>‘덧샘 얀산자’라고한다. 자바에서는 사칙연산(+, -, *, /)을 비롯해서 다양한 연산자들을 제공한다.</p><span id="more"></span><h2 id="1-연산자와-피연산자"><a href="#1-연산자와-피연산자" class="headerlink" title="1 연산자와 피연산자"></a>1 연산자와 피연산자</h2><p>연산자가 연산을 수행하려면 반드시 연산의 대상이 있어야하는데, 이것을 ‘피연산자(operand)’ 라고 한다. 피연산자로 상수, 변수 또는 식 등을 사용 할 수 있다.</p><blockquote><p>연산자(operator) 연산을 수행하는 기호(+, -, *, /)<br>피연산다(operand) 연산자의 작업 대상(변수, 상수, 리터럴, 수식)</p></blockquote><p>다음과 같이 ‘x + 3’ 이라는 식이 있을때 ‘+는 두 피연산자를 더해서 그 결과를 반환 하는 것셈 연산자이고, 변수 x와 상수 3은 연산자의 피연산자이다.</p><h2 id="연산자의-종류"><a href="#연산자의-종류" class="headerlink" title="연산자의 종류"></a>연산자의 종류</h2><p>배워야할 연산자의 개수가 많아서 부담스러울 수 있는데, 기증이 비슷한 것들끼리 묶어놓고 보면 몇 종류 안 된다.</p><table><thead><tr><th>종류</th><th>내용</th><th>설명</th></tr></thead><tbody><tr><td>산술 연산자</td><td>+, -, *, /, %, <<, >></td><td>사칙 연산(+,-,*,/) 과 나머지 연산자 (%)</td></tr><tr><td>비교 연산자</td><td>>, <, >=, <=, == !=</td><td>크고 작음과 같고 다름을 비교</td></tr><tr><td>논리 연산자</td><td>&&, !, &, ^, ~</td><td>‘그리고(AND)’, 와 또는(OR)으로 조건을 연결</td></tr><tr><td>기 타</td><td>(type) ?: instanceof</td><td>형변환 연산자, 삼항연산자, instanceof연산자</td></tr></tbody></table><p>연산자는 위의 표에서 알 수 있는 거처럼, 크게 산술, 비교, 논리 대입 4가지로 나눌 수 있다. 산술, 비교, 대입 연산자는 이미 알고 있는 걸들이고, 논리 연산자도 쉽게 이해가 될 것이다.</p><h2 id="피연산자의-개수에-의한-분류"><a href="#피연산자의-개수에-의한-분류" class="headerlink" title="피연산자의 개수에 의한 분류"></a>피연산자의 개수에 의한 분류</h2><p>피연산자의 갸수로 연산자를 분류하기도 하는데, 피연산자의 개수가 하나면 <b>“단항연산자”</b>, 두개면 <b>“이항연산자”</b>, 세 개면 <b> “삼항연산자” </b>라고 부른다. 대부분의 연산자는 “이항연산자”이고 삼항 연산자는 오직 “? :” 하나 뿐이다.</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">-<span class="number">3</span> -<span class="number">5</span></span><br><span class="line"><span class="comment">// 3앞에 있는 -는 부호연산자 이고</span></span><br><span class="line"><span class="comment">//3과 5 사이에 있는 -는 뺄샘 연산자 이다.</span></span><br></pre></td></tr></table></figure><p>위의 식에서는 두 개의 연산자가 포함 되어있는데, 둘다 같은 기호 <b>‘-‘</b>로 나타 내지만 엄연히 다른 연산자 이다.</p><h2 id="산술-변환-usual-arithmetic-conversion"><a href="#산술-변환-usual-arithmetic-conversion" class="headerlink" title="산술 변환(usual arithmetic conversion)"></a>산술 변환(usual arithmetic conversion)</h2><p>이항 연산자는 두 피연산자의 타입이 일치해야 연산이 가능하므로, 피연산자의 타입이 서로 다르다면 연산 전에 형변환 연산자로 타입을 일치 시켜야한다.</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">int</span> i = <span class="number">10</span>;</span><br><span class="line"><span class="keyword">float</span> f = <span class="number">20.0f</span>;</span><br><span class="line"></span><br><span class="line"><span class="keyword">float</span> result = f + (<span class="keyword">float</span>)i; <span class="comment">//형변환으로 두 피연산자의 타입이 일치 함</span></span><br></pre></td></tr></table></figure><p>대부분의 경우, 두 피연산자의 타입 중에서 더 큰 타입으로 일피시키는데, 그 이유는 작은 타입으로 형변환하면 원래의 값이 손실될 가능성이 있기 때문이다.</p><p>이처럼 연산 전에 피연산자 타입의 일치를 위해 자동 형변환되는 것을 <b>‘산술변환’</b> 또는 <b>‘일반 산술 변화’</b>이라 하며 , 이 변환은 이항 연산자에서만 아니라 단항 연산자에서도 일어난다.</p><ol><li><p>두 피연산자의 타입을 같게 일치시킨다. (보다 큰 타입으로 일치)</p> <figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">long</span> + <span class="keyword">int</span> --> <span class="keyword">long</span> + <span class="keyword">long</span> --> <span class="keyword">long</span></span><br><span class="line"><span class="keyword">float</span> + <span class="keyword">int</span> --> <span class="keyword">float</span> + <span class="keyword">float</span> --> <span class="keyword">float</span></span><br><span class="line"><span class="keyword">double</span> + <span class="keyword">float</span> --> <span class="keyword">double</span> + <span class="keyword">double</span> --> <span class="keyword">double</span></span><br></pre></td></tr></table></figure></li><li><p>피연산자의 타입이 int보다 작은 타입이면 int로 변환된다.</p> <figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">byte</span> + <span class="keyword">short</span> --> <span class="keyword">int</span> + <span class="keyword">int</span> --> <span class="keyword">int</span></span><br><span class="line"><span class="keyword">char</span> + <span class="keyword">short</span> --> <span class="keyword">int</span> + <span class="keyword">int</span> --> <span class="keyword">int</span></span><br></pre></td></tr></table></figure></li></ol><p>첫번째는 자동현변환은 피연산자의 값손실 을 최소화 하기 위한 것이다. 두번째 규칙은 int가 가장 효율적인 처리할 수 있는 타입이고, int 보다 작은 타입 (short, char)은 표현 범위가 작아서 연산중에 오버풀로우(overflow)가 발생할 가능성이 높기때문에 만들어 진것 이다.</p>]]></content:encoded>
<category domain="http://dudqls5271.github.io/tags/java/">java</category>
<comments>http://dudqls5271.github.io/2021/06/29/hexo_JAVA04/#disqus_thread</comments>
</item>
<item>
<title>자바 - 2. 변수(Variable) 타입</title>
<link>http://dudqls5271.github.io/2021/06/23/hexo_JAJA02/</link>
<guid>http://dudqls5271.github.io/2021/06/23/hexo_JAJA02/</guid>
<pubDate>Tue, 22 Jun 2021 15:50:00 GMT</pubDate>
<description><h2 id="변수의-타입"><a href="#변수의-타입" class="headerlink" title="변수의 타입"></a>변수의 타입</h2><p>우리가 주로 사용하는 값(data)의 종류(type)는 크게 ‘문자의 숫자’로 나눌 수 있으며, 숫자는 다시 ‘정수와 실수’로 나눌 수 있다.</p></description>
<content:encoded><![CDATA[<h2 id="변수의-타입"><a href="#변수의-타입" class="headerlink" title="변수의 타입"></a>변수의 타입</h2><p>우리가 주로 사용하는 값(data)의 종류(type)는 크게 ‘문자의 숫자’로 나눌 수 있으며, 숫자는 다시 ‘정수와 실수’로 나눌 수 있다.</p><span id="more"></span><p><img src="https://user-images.githubusercontent.com/49426352/122957441-e8eb9e00-d3bc-11eb-9601-a1296d08178c.png" alt="그림2"></p><p>이러한 값(data)의 종류(type)에 따라 값이 지정될 공간의 크기와 저장형식을 정의한 것 이 자료형(data type)이다. 자료형에는 문자형(char),정수형(dyte, short, int, long), 실수형 (float, double)등이 있으며, 변수를 선언할 때는 저장하는 값의 특성을 고려하여 가장 알맞은 자료형을 변수의 타입으로 선택하면 된다.</p><h2 id="기본형과-참조형"><a href="#기본형과-참조형" class="headerlink" title="기본형과 참조형"></a>기본형과 참조형</h2><p>자료형은 크게 ‘기본형’과 ‘참조형’ 두 가지로 나눌 수 있는데, <b>기본형 변수는 실제 값(data)을 저장</b>하는 반면, <b>참조형 변수는</b>어떤 값이 저장되어 있는 <b>주소(memory address)를 값으로 갖는다.</b> 자바는 참조형 변수 간의 연산을 할 수 없으므로 실제 연산에 사용되는 것은 모두 기본형 변수 이다.</p><blockquote><ol><li>기본형(primitive type)<br>논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double)</li><li>참조형(reference type)<br>객체의 주소를 저장한다. 8개의 기본형을 제외한 나머지 타입.</li></ol></blockquote><p>참조형 변수(또는 참조변수)를 선언할 때는 변수의 타입으로 클래스의 이름을 사용하므로 클래스의 이름이 참조변수의 타입이 된다. 그래서 새로운 클래스를 작성한다는 것은 새로운 참조형을 추가하는 셈이다.</p><p>다음은 참조변수를 선언하는 방법이다. 기본형 변수와 같이 변수이름 앞에 타입을 적어 주는데 참조변수의 타입은 클래스의 이름이다.</p><blockquote><p>// 변수의 타입이 기본형이 아닌 것들은 모두 참조변수이다.<br>클래스이름 변수이름;</p></blockquote><p>다음은 Data클래스 타입의 참조변수 today를 선언한 것이다. 참조변수는 null 또는 객체의 주소를 값으로 갖으며 참조변수의 초기화는 다음과 같다.</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// Data객체를 생성해서, 그 주소를 today 저장</span></span><br><span class="line">Data today = <span class="keyword">new</span> data();</span><br></pre></td></tr></table></figure><p>객체를 생성하는 연산자 new의 경과는 생성된 객체의 주소이다. 이 주소가 대입연산자 “=”에 의해서 참조변수 today에 저장되는 것이다. 이제 참조변수 today를 통해서 생성된 객체를 사용할 수 있게 된다.</p><h2 id="상수-constant"><a href="#상수-constant" class="headerlink" title="상수(constant)"></a>상수(constant)</h2><p>‘상수(constant)’는 변수와 마찬가지로 ‘값을 지정할 수 있는 공간’이지만, 변수와 동일하며, 단지 변수의 타입 앞에 키워드 ‘final’을 붙여주기만 하면 된다.</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// 상수 MAX_SPEED을 선언 & 초기화</span></span><br><span class="line"><span class="keyword">final</span> <span class="keyword">int</span> MAX_SPEED = <span class="number">10</span>;</span><br></pre></td></tr></table></figure><p><b>그리고 상수는 반드시 신언과 동시에 초기와해야 하며</b>, 그 이후 부터는 <b> 상수의 값을 변경하는 것이 허용되지 않는다.</b></p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">final</span> <span class="keyword">int</span> MAX_SPEED; <span class="comment">// 에러. 상수는 선언과 동시에 초기화 해야한다.</span></span><br><span class="line"><span class="keyword">final</span> <span class="keyword">int</span> MAX_VALUE = <span class="number">100</span>; <span class="comment">// OK. 선언와 동시에 초기화했음</span></span><br><span class="line">MAX_VALUE = <span class="number">200</span>; <span class="comment">// 에러. 상수 값은 변경할 수 없음</span></span><br></pre></td></tr></table></figure><p>상수의 이름은 <b>모두 대문자로 하는 것이 암목적인 관례이며</b> (이건 나도 몰랐네여), <b>여러 단어로 이루어 져있는 경우 ‘_‘로 구분한다.</b></p><h2 id="리터럴-literal"><a href="#리터럴-literal" class="headerlink" title="리터럴(literal)"></a>리터럴(literal)</h2><p>프로그래밍 상의 상수는 ‘값을 한 번 저장하면 변경할 수 없는 저장공간’으로 정의가 되어있기에 이와 구분하기 위해서 상수를 ‘리터럴’이라는 용어를 사용한다.</p><blockquote><p>변수(variable) 하나의 값을 저장하기 위한 공간<br>상수(constant) 값을 한번만 저장할 수 있는 공간<br>리터럴(literal) 그 자체로 값을 의미 하는 것</p></blockquote>]]></content:encoded>
<category domain="http://dudqls5271.github.io/tags/java/">java</category>
<comments>http://dudqls5271.github.io/2021/06/23/hexo_JAJA02/#disqus_thread</comments>
</item>
<item>
<title>자바 - 1. 변수(Variable) 란?</title>
<link>http://dudqls5271.github.io/2021/06/22/hexo_JAVA01/</link>
<guid>http://dudqls5271.github.io/2021/06/22/hexo_JAVA01/</guid>
<pubDate>Tue, 22 Jun 2021 03:12:26 GMT</pubDate>
<description><h2 id="변수-Variable-란"><a href="#변수-Variable-란" class="headerlink" title="변수(Variable) 란?"></a>변수(Variable) 란?</h2><p>수학에서 ‘변수’를 ‘변하는 수’ 라고 정의하지만 프로그래밍언에서의 <span style="color: red">변수(Variable)는 값을 지정할 수 있는 메모리상의 공간을 의미 한다.</span> 이 공간에 저장된 값은 변경될 수 있기에 변수(Variable)라는 수학용어의 정의와 상통하는 면이 있기에 변수 라고 불리게 된것이다.</p>
<blockquote>
<p>변수(Variable)는 값을 지정할 수 있는 메모리상의 공간을 의미 한다.</p>
</blockquote></description>
<content:encoded><![CDATA[<h2 id="변수-Variable-란"><a href="#변수-Variable-란" class="headerlink" title="변수(Variable) 란?"></a>변수(Variable) 란?</h2><p>수학에서 ‘변수’를 ‘변하는 수’ 라고 정의하지만 프로그래밍언에서의 <span style="color: red">변수(Variable)는 값을 지정할 수 있는 메모리상의 공간을 의미 한다.</span> 이 공간에 저장된 값은 변경될 수 있기에 변수(Variable)라는 수학용어의 정의와 상통하는 면이 있기에 변수 라고 불리게 된것이다.</p><blockquote><p>변수(Variable)는 값을 지정할 수 있는 메모리상의 공간을 의미 한다.</p></blockquote><span id="more"></span> </br><h2 id="변수의-선언과-초기화"><a href="#변수의-선언과-초기화" class="headerlink" title="변수의 선언과 초기화"></a>변수의 선언과 초기화</h2><p>변수를 사용할려면 먼저 변수를 선언해야하는데, 변수의 선언방법은 다음과 같다.</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">int</span> i;</span><br></pre></td></tr></table></figure><p>변수타입은 변수에 지정된 값이 어떤 ‘타입(type)’인지를 지정하는 것이다. 지정하고자 하는 값이 종류에 맞게 변수의 타입을 선택해서 적어주면 된다.</p><p><b>변수이름</b>운 말 그대로 변수에 붙인 이름이다. 변수는 ‘값을 저장 할 수 있는메모지 공간’ 이므로 변수의 이름은 메모리 공간에 이름을 붙여주는 것이다. 그래야 그 이름을 이용해 서 저장공간에 값읋 지정하고, 지정된 값을 읽어오기도 할 수 있는 것이다.</p></br><h2 id="변수의-초기화"><a href="#변수의-초기화" class="headerlink" title="변수의 초기화"></a>변수의 초기화</h2><p>변수를 선언한 이후로 부터는 변수를 사용할 수 있으나, 그 전에 반드시 ‘초기화’을 해야한다. ㅂ메모리는 여러 프로그램이 공유하는 자원이므로 전에 다른 프로그램에의해 저장된 ‘알 수 없는 값(쓰래기 값, garbage value)’가 남아 있을 수 있기 때문이다.</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">//변수 i을 선언하고 0으로 초기화 한다.</span></span><br><span class="line"><span class="keyword">int</span> i = <span class="number">0</span>;</span><br><span class="line"></span><br><span class="line"><span class="keyword">int</span> a;</span><br><span class="line"><span class="keyword">int</span> b;</span><br><span class="line"></span><br><span class="line"><span class="keyword">int</span> a, b;</span><br><span class="line"></span><br><span class="line"><span class="keyword">int</span> j = <span class="number">0</span>;</span><br><span class="line"><span class="keyword">int</span> k = <span class="number">0</span>;</span><br><span class="line"></span><br><span class="line"><span class="keyword">int</span> j = <span class="number">0</span>, k = <span class="number">0</span>;</span><br></pre></td></tr></table></figure><p>위에서 본것 처럼 a 와 b을 한번에 <b>int a,b;</b>로 선언 할 수 있고,<br>int j = 0;<br>int k = 0;<br>은 <b>int j = 0, k = 0;</b>로 선언할 수 있다.</p></br><h2 id="변수의-명명규칙"><a href="#변수의-명명규칙" class="headerlink" title="변수의 명명규칙"></a>변수의 명명규칙</h2><p>‘변수의 이름’처럼 프로그래밍에 사용하는 모든 이름은 <b>‘식별자(identifier)’</b>라고 하며, 식별자는 같은 영역 내에서 서로 구분(식별)될 수 있어야 한다. 그리고 식별자를 만들 때는 다음과 같은 규칙을 지켜야 한다.</p><blockquote><ol start="0"><li>변수는 반드시 다른 사람이 보았을 때 알아볼 수 있어야 한다.<br>-test, a, a1, a2 이런거는 절때 사용하면 않된다.</li><li>대소문자 구분되며 길이에 제한이 없다.<br>-YoungBin와 youngbin는 서로 다른 것으로 간주한다.</li><li>예약어를 사용해서는 안 된다.<br>-true와 같은 프로그래밍언어 상에서 사용되는 단어는 변수의 이름으로 사용할 수 없다.</li><li>숫자로 시작해서눈 안 돤다.<br>-top10은 허용되지만 10top은 안 된다.</li><li>특수 문자는 ‘_‘와 ‘$’만을 허용한다.<br>-$narp은 허용되지만, S#sarp는 허용되지 않는다.</li></ol></blockquote><p>0번째 처럼 변수이름을 지정했다가는 당시에는 알 수 있겠지만 정작 1일이라도 그 코드을 보지 않는다면 그 변수가 무엇을 의미 하는지 모를수도 있다. 그리고 회사나 학교에서 같이 프로젝트를 하다 보면 다른 사람도 test나 a1, a2 같은 변수를 보고 찾아야 함으로 변수의 이름은 꼭 그게 맞는 이름으로 해주길 바란다.</p>]]></content:encoded>
<category domain="http://dudqls5271.github.io/tags/java/">java</category>
<comments>http://dudqls5271.github.io/2021/06/22/hexo_JAVA01/#disqus_thread</comments>
</item>
<item>
<title>Python으로 행맨 게임 만들기</title>
<link>http://dudqls5271.github.io/2021/06/19/hexo_pythonHangman/</link>
<guid>http://dudqls5271.github.io/2021/06/19/hexo_pythonHangman/</guid>
<pubDate>Sat, 19 Jun 2021 14:16:51 GMT</pubDate>
<description><p>저번에 과제로 나온 행맨 게임 만들기이다.<br>파이썬에는 랜덤으로 숫자를 만들어주는 함수가 있다고 하는데 나는 만들어 보았다.</p>
<p>random*Word() 에서는 랜덤으로 숫자를 추출해 Word_list을 뽑는다.<br>그 다음 Word_list에서 랜덤으로 나온 값을 배열 형태로 만들어서 각각 저장을 한다.<br>그리고 word_qust에는 Word_list의 배열의 개수 만큼 *이 있는 배열을 만들어 주는 것이다.</p></description>
<content:encoded><![CDATA[<p>저번에 과제로 나온 행맨 게임 만들기이다.<br>파이썬에는 랜덤으로 숫자를 만들어주는 함수가 있다고 하는데 나는 만들어 보았다.</p><p>random*Word() 에서는 랜덤으로 숫자를 추출해 Word_list을 뽑는다.<br>그 다음 Word_list에서 랜덤으로 나온 값을 배열 형태로 만들어서 각각 저장을 한다.<br>그리고 word_qust에는 Word_list의 배열의 개수 만큼 *이 있는 배열을 만들어 주는 것이다.</p><span id="more"></span><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> random</span><br><span class="line"></span><br><span class="line">word_list = []</span><br><span class="line">word_qust = []</span><br><span class="line">word_len = <span class="number">0</span></span><br><span class="line"><span class="function"><span class="keyword">def</span> <span class="title">random_Word</span>() :</span></span><br><span class="line"> <span class="comment"># 글로벌 변수 생성</span></span><br><span class="line"> <span class="keyword">global</span> word_list</span><br><span class="line"> <span class="keyword">global</span> word_qust</span><br><span class="line"> <span class="keyword">global</span> word_len</span><br><span class="line"> <span class="keyword">while</span> <span class="literal">True</span> :</span><br><span class="line"> <span class="built_in">list</span> = [] <span class="comment"># 리스트생성</span></span><br><span class="line"> rnum = random.randint(<span class="number">0</span>, <span class="number">8</span>)</span><br><span class="line"></span><br><span class="line"> <span class="keyword">for</span> i <span class="keyword">in</span> <span class="built_in">range</span>(<span class="number">1</span>):</span><br><span class="line"> <span class="keyword">while</span> rnum <span class="keyword">in</span> <span class="built_in">list</span>:</span><br><span class="line"> rnum = random.randint(<span class="number">0</span>, <span class="number">8</span>)</span><br><span class="line"> <span class="built_in">list</span>.append(rnum)</span><br><span class="line"></span><br><span class="line"> <span class="built_in">list</span>.sort()</span><br><span class="line"></span><br><span class="line"> Word_list = [<span class="string">"apple"</span>, <span class="string">"actor"</span>, <span class="string">"airplane"</span>, <span class="string">"always"</span>, <span class="string">"animal"</span>, <span class="string">"angry"</span>, <span class="string">"arrive"</span>, <span class="string">"autumm"</span>, <span class="string">"baby"</span>, <span class="string">"maplestory"</span>]</span><br><span class="line"> word_len = <span class="built_in">len</span>(Word_list[<span class="built_in">list</span>[<span class="number">0</span>]])</span><br><span class="line"> random_word = Word_list[<span class="built_in">list</span>[<span class="number">0</span>]]</span><br><span class="line"></span><br><span class="line"> word_list = []</span><br><span class="line"> word_qust = []</span><br><span class="line"></span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"\n"</span>)</span><br><span class="line"></span><br><span class="line"> <span class="comment"># 랜덤으로 뽑힌 단어을 리스트화 시키는 것이다.</span></span><br><span class="line"> <span class="keyword">for</span> i <span class="keyword">in</span> random_word:</span><br><span class="line"> word_list.append(i)</span><br><span class="line"></span><br><span class="line"> <span class="comment"># 우선 랜덤으로 뽑힌 단어의 글자 수를 받아와 그 겟수 만큼 _을 word_qust에 저장</span></span><br><span class="line"> <span class="keyword">for</span> i <span class="keyword">in</span> <span class="built_in">range</span>(word_len):</span><br><span class="line"> word_qust.append(<span class="string">"_"</span>)</span><br><span class="line"></span><br><span class="line"> <span class="comment"># 리스트가 된 word_qust을 print로 출력 여기서</span></span><br><span class="line"> <span class="comment"># end =" " 는 프린트로 출력 될때 줄바 꿈을 공백으로 변경하는 것이다.</span></span><br><span class="line"> <span class="keyword">for</span> i <span class="keyword">in</span> word_qust:</span><br><span class="line"> <span class="built_in">print</span>(i, end=<span class="string">" "</span>)</span><br><span class="line"> <span class="keyword">break</span></span><br></pre></td></tr></table></figure><p>try_num는 남은 횟수를 저장하는 변수 이다.</p><p>처음에 user_ch에 알파벳을 입력 해주면<br>for문을 통해 word_list와 비교를 한다.</p><p>만약에 사용자가 입력한 값과 word_list와 같다면<br>해당 word_list의 값을 *로변경해준다.</p><p>그다음은 try_num -1, score + 1 이된다.<br>try_num은 위에서 언급 했던 그대로의 의미 이고 score은 현제 정답의 개수을 의미한다.</p><p>만약 try_num이 0이 되면 게임은 처음부터 시작하고<br>score가 word_len과 같으면 게임은 정답으로 종료가 되고 새로운 게임이 시작된다.</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">def</span> <span class="title">ex</span>():</span></span><br><span class="line"> try_num = <span class="number">10</span></span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"\n"</span>)</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"현제 남은 횟수는 "</span> + <span class="built_in">str</span>(try_num) + <span class="string">"번 입니다."</span>)</span><br><span class="line"></span><br><span class="line"> score = <span class="number">0</span></span><br><span class="line"> <span class="keyword">while</span> <span class="literal">True</span>:</span><br><span class="line"> user_ch = <span class="built_in">input</span>(<span class="string">"알파벳을 입력해주세요 > "</span>)</span><br><span class="line"> <span class="comment"># 입력 받은 input을 word_list랑 비교 한다.</span></span><br><span class="line"> <span class="keyword">for</span> i <span class="keyword">in</span> word_list:</span><br><span class="line"> <span class="comment"># 만약에 사용자가 입력한 값이 word_list에 있는 값과 같으면</span></span><br><span class="line"> <span class="comment"># *로 처리하는 과정을 적은것이다.</span></span><br><span class="line"> <span class="comment"># 이거는 중복되는 글자들을 무시하기 위한것이다.</span></span><br><span class="line"> <span class="keyword">if</span> user_ch == i:</span><br><span class="line"> word_qust[word_list.index(i)] = user_ch</span><br><span class="line"> word_list[word_list.index(i)] = <span class="string">"*"</span></span><br><span class="line"> <span class="keyword">for</span> k <span class="keyword">in</span> word_qust:</span><br><span class="line"> <span class="built_in">print</span>(k, end=<span class="string">" "</span>)</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"\n"</span>)</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"정답 입니다."</span>)</span><br><span class="line"> score = score + <span class="number">1</span></span><br><span class="line"> try_num = try_num - <span class="number">1</span></span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"현제 남은 횟수는 "</span> + <span class="built_in">str</span>(try_num) + <span class="string">"번 입니다."</span>)</span><br><span class="line"> <span class="keyword">break</span></span><br><span class="line"> <span class="keyword">if</span> user_ch != i:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"틀렸습니다."</span>)</span><br><span class="line"> try_num = try_num - <span class="number">1</span></span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"현제 남은 횟수는 "</span> + <span class="built_in">str</span>(try_num) + <span class="string">"번 입니다."</span>)</span><br><span class="line"> <span class="keyword">break</span></span><br><span class="line"> <span class="comment"># 횟수가 0이 되면 게임이 끝나고 다음 문제가 나온다.</span></span><br><span class="line"> <span class="keyword">if</span> try_num == <span class="number">0</span> :</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"아웃 입니다."</span>)</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"다음 문제 나옵니다."</span>)</span><br><span class="line"> <span class="keyword">break</span></span><br><span class="line"> <span class="keyword">if</span> score == word_len:</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">"정답입니다!"</span>)</span><br><span class="line"> <span class="keyword">break</span></span><br></pre></td></tr></table></figure><p>main에는 while True로 무한 반복 되도록 만들었다.<br>만약 게임이 끝나도 바로 다음 게임이 시작되도록 설계한것이다.</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">if</span> __name__ == <span class="string">"__main__"</span>:</span><br><span class="line"> <span class="keyword">while</span> <span class="literal">True</span>:</span><br><span class="line"> random_Word()</span><br><span class="line"> ex()</span><br></pre></td></tr></table></figure>]]></content:encoded>
<category domain="http://dudqls5271.github.io/tags/python/">python</category>
<comments>http://dudqls5271.github.io/2021/06/19/hexo_pythonHangman/#disqus_thread</comments>
</item>
<item>
<title>Hexo - 검색엔진 최적화</title>
<link>http://dudqls5271.github.io/2021/06/03/hexo_goole/</link>
<guid>http://dudqls5271.github.io/2021/06/03/hexo_goole/</guid>
<pubDate>Thu, 03 Jun 2021 14:51:46 GMT</pubDate>
<description><h2 id="검색-엔진-최적화-SEO"><a href="#검색-엔진-최적화-SEO" class="headerlink" title="검색 엔진 최적화(SEO)"></a>검색 엔진 최적화(SEO)</h2><p>블로그 생성 후 내가 작성한 포스트가 검색에 노출되기 위해서는 검색엔진에 노출 될 수 있도록 검색 엔진 최적화 작업을 진행해 주어야 한다.</p>
<blockquote>
<p>검색 엔진 최적화(search engine optimization, SEO)는 웹 페이지 검색엔진이 자료를 수집하고 순위를 매기는 방식에 맞게 웹 페이지를 구성해서 검색 결과의 상위에 나올 수 있도록 하는 작업을 말한다. 웹 페이지와 관련된 검색어로 검색한 검색 결과 상위에 나오게 된다면 방문 트래픽이 늘어나기 때문에 효과적인 인터넷 마케팅 방법 중의 하나라고 할 수 있다. 기본적인 작업 방식은 특정한 검색어를 웹 페이지에 적절하게 배치하고 다른 웹 페이지에서 링크가 많이 연결되도록 하는 것이다. 구글 등장 이후 검색 엔진들이 콘텐츠의 신뢰도를 파악하는 기초적인 지표로 다른 웹사이트에 얼마나 인용되었나를 사용하기 때문에 타 사이트에 인용되는 횟수를 늘리는 방향으로 최적화 한다.<br></br> <b>위키백과검색</b> 엔진 최적화</p>
</blockquote>
<h2 id="검색엔진-최적화-SEO-에-유용한-플러그인-설치"><a href="#검색엔진-최적화-SEO-에-유용한-플러그인-설치" class="headerlink" title="검색엔진 최적화(SEO)에 유용한 플러그인 설치"></a>검색엔진 최적화(SEO)에 유용한 플러그인 설치</h2><p>HEXO에서는 SEO와 관련된 다양한 플로그인들이 있으며 그 중 몇 가지를 이용할 수 있도록 정리해 보았다.</p>
<ul>
<li>hexo-auto-canonical</li>
<li>hexo-generator-robotstxt</li>
<li>hexo-autonofollow</li>
<li>hexo-generator-feed</li>
<li>hexo-generator-seo-friendly-sitemap</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ npm install --save hexo-auto-canonical</span><br></pre></td></tr></table></figure>
<ul>
<li>사용<br>– 설치한 테마 내 HEAD태그 내 삽입해서 사용한다.<br>– 보통 <b style="color: red">themes &gt; 본인 테마 이름 -&gt; layout -&gt; common -&gt; head.ejs</b><br>– 만약 위의 위치에 없으면 VS 코드 기준으로 <b style="color: red">Control + P</b>을 눌러서 head.ejs를 검색해보자</li>
</ul>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">head.ejs</span><br><span class="line"> &lt;%- autoCanonical(config, page) %&gt;</span><br></pre></td></tr></table></figure></description>
<content:encoded><![CDATA[<h2 id="검색-엔진-최적화-SEO"><a href="#검색-엔진-최적화-SEO" class="headerlink" title="검색 엔진 최적화(SEO)"></a>검색 엔진 최적화(SEO)</h2><p>블로그 생성 후 내가 작성한 포스트가 검색에 노출되기 위해서는 검색엔진에 노출 될 수 있도록 검색 엔진 최적화 작업을 진행해 주어야 한다.</p><blockquote><p>검색 엔진 최적화(search engine optimization, SEO)는 웹 페이지 검색엔진이 자료를 수집하고 순위를 매기는 방식에 맞게 웹 페이지를 구성해서 검색 결과의 상위에 나올 수 있도록 하는 작업을 말한다. 웹 페이지와 관련된 검색어로 검색한 검색 결과 상위에 나오게 된다면 방문 트래픽이 늘어나기 때문에 효과적인 인터넷 마케팅 방법 중의 하나라고 할 수 있다. 기본적인 작업 방식은 특정한 검색어를 웹 페이지에 적절하게 배치하고 다른 웹 페이지에서 링크가 많이 연결되도록 하는 것이다. 구글 등장 이후 검색 엔진들이 콘텐츠의 신뢰도를 파악하는 기초적인 지표로 다른 웹사이트에 얼마나 인용되었나를 사용하기 때문에 타 사이트에 인용되는 횟수를 늘리는 방향으로 최적화 한다.<br></br> <b>위키백과검색</b> 엔진 최적화</p></blockquote><h2 id="검색엔진-최적화-SEO-에-유용한-플러그인-설치"><a href="#검색엔진-최적화-SEO-에-유용한-플러그인-설치" class="headerlink" title="검색엔진 최적화(SEO)에 유용한 플러그인 설치"></a>검색엔진 최적화(SEO)에 유용한 플러그인 설치</h2><p>HEXO에서는 SEO와 관련된 다양한 플로그인들이 있으며 그 중 몇 가지를 이용할 수 있도록 정리해 보았다.</p><ul><li>hexo-auto-canonical</li><li>hexo-generator-robotstxt</li><li>hexo-autonofollow</li><li>hexo-generator-feed</li><li>hexo-generator-seo-friendly-sitemap</li></ul><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ npm install --save hexo-auto-canonical</span><br></pre></td></tr></table></figure><ul><li>사용<br>– 설치한 테마 내 HEAD태그 내 삽입해서 사용한다.<br>– 보통 <b style="color: red">themes > 본인 테마 이름 -> layout -> common -> head.ejs</b><br>– 만약 위의 위치에 없으면 VS 코드 기준으로 <b style="color: red">Control + P</b>을 눌러서 head.ejs를 검색해보자</li></ul><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">head.ejs</span><br><span class="line"> <%- autoCanonical(config, page) %></span><br></pre></td></tr></table></figure><span id="more"></span><h2 id="hexo-generator-robotstxt"><a href="#hexo-generator-robotstxt" class="headerlink" title="hexo-generator-robotstxt"></a>hexo-generator-robotstxt</h2><p>자동으로 robot.txt 파일을 생성해주는 플러그인 이다.</p><blockquote><p>로봇 배제 표준은 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 규약으로, 일반적으로 접근 제한에 대한 설명을 robots.txt에 기술한다. 이 규약은 권고안이며, 로봇이 robots.txt 파일을 읽고 접근을 중지하는 것을 목적으로 한다. 따라서, 접근 방지 설정을 하였다고 해도, 다른 사람들이 그 파일에 접근할 수 있다. robots.txt 파일은 항상 사이트의 루트 디렉토리에 위치해야 한다.<br><b>위키백과로봇 배제</b> 표준</p></blockquote><ul><li>설치</li></ul><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ npm install hexo-generator-robotstxt --save</span><br></pre></td></tr></table></figure><ul><li>사용<br>이것도 자신의 theme의 _config.yml에 넣어주면 된다.</li></ul><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">nofollow:</span></span><br><span class="line"> <span class="attr">enable:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">exclude:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">exclude1.com</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">exclude2.com</span></span><br></pre></td></tr></table></figure><h2 id="hexo-generator-feed"><a href="#hexo-generator-feed" class="headerlink" title="hexo-generator-feed"></a>hexo-generator-feed</h2><ul><li>자동으로 RSS feed를 생성해주는 플러그인 이다.</li></ul><blockquote><p>어떤 사이트가 있을 때, 그 사이트를 매일 방문해서 재미있는 새로운 기사가 있는지 확인하는 것은 번거롭습니다. 특히 새 기사가 매일 또는 정기적으로 올라오는 것이 아니라 불규칙할 때는 더욱 그렇습니다.<br>그 사이트를 직접 방문하지 않고, 새 기사들만 자신의 컴퓨터로 “배달”이 된다면 편리할 것입니다.<br>RSS(Really Simple Syndication 의 약자) 같은 “사이트 피드”란, 새 기사들의 제목만, 또는 새 기사들 전체를 뽑아서 하나의 파일로 만들어 놓은 것입니다.<br>이제 각 사이트들에서 제공하는 RSS파일 주소만 수집하여 확인하면, 자신의 취향에 맞는 새로운 읽을거리를 쉽게 찾아서 읽을 수 있습니다.<br>그러나 모든 사이트에서 RSS피드를 제공하는 것은 아닙니다. 1년 내내 새로운 내용이 없는 정적인 사이트에서는 제공하지 않는 것이 보통입니다. 새로운 읽을거리가 자주 올라오는 “뉴스형”, “블로그형” 사이트에서 주로 제공됩니다.</br> <b>RSS Feed</b></p></blockquote><ul><li>설치</li></ul><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ npm install hexo-generator-feed --save</span><br></pre></td></tr></table></figure><ul><li>사용</li></ul><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">feed:</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">rss2</span></span><br><span class="line"> <span class="attr">path:</span> <span class="string">rss2.xml</span></span><br><span class="line"> <span class="attr">limit:</span> <span class="number">20</span></span><br></pre></td></tr></table></figure><h2 id="검색엔진-등록하기"><a href="#검색엔진-등록하기" class="headerlink" title="검색엔진 등록하기"></a>검색엔진 등록하기</h2><ul><li><p><a href="https://analytics.google.com/">구글 애널리틱스</a>(Google Analytic)</p><ul><li>위 사이트에서 가입을 하고 <b>이름과 URL</b>을 입력하고 <b>추척ID</b>를 발급 받는다. </br> 이 아이디는 themes의 <span style="color: red">_config.yml</span> 내 <span style="color: red">google_analytics</span>에 넣어 준다.</li></ul></li></ul><p>가입이 완료 되면 다음과 같은 화면이 나오는것을 보게 될 것이다.<br><img src="https://user-images.githubusercontent.com/49426352/120660092-f0a4da80-c4c1-11eb-8de1-2425caf96246.png" alt="화면 캡처 2021-06-03 230347"><br>설정에 들어가면 나는 미리 만들어 놓은것들이 있어서 이렇게 뜨는데 처음 만드는 사람들은 다음과 같이 뜨지 않을것이다.<br>위에 <b>계정 만들기</b>을 눌러서 계정을 만들어 준다.<br><img src="https://user-images.githubusercontent.com/49426352/120661993-bb998780-c4c3-11eb-811c-0a5dadfc15e2.png" alt="화면 캡처 2021-06-03 232412"><br>계정을 다 만들었다면 홈-> 검색창에 <b style="color:red">“추적 코드”</b> 을 검색해준다.<br>그러면 측정ID 탭이 나오는데 그걸을 클릭해서 들어가준다.</p><p><img src="https://user-images.githubusercontent.com/49426352/120663571-18497200-c4c5-11eb-9c1e-7e8a72bfa526.png" alt="화면 캡처 2021-06-03 232755"><br>측정 ID을 클릭해주고<br><img src="https://user-images.githubusercontent.com/49426352/120665295-9a866600-c4c6-11eb-81ca-fa1466ec0b6f.png" alt="화면 캡처 2021-06-03 234231"><br>네모칸 쪽을 클릭해주면<br><img src="https://user-images.githubusercontent.com/49426352/120665300-9b1efc80-c4c6-11eb-97e8-b94ab3fb05b4.png" alt="화면 캡처 2021-06-03 234419"><br>다음과 같은 스크립트 코드가 나오게 된다.<br><img src="https://user-images.githubusercontent.com/49426352/120665303-9bb79300-c4c6-11eb-8ddd-3824cea3d006.png" alt="화면 캡처 2021-06-03 234929"><br>이 스크립트 코드를 head.ejs에 붙어 넣어주면 된다.<br>이 과정을 진행하면 확인 하는데 2~3일 정도 걸린다. -끝-</p>]]></content:encoded>
<category domain="http://dudqls5271.github.io/tags/hexo/">hexo</category>
<category domain="http://dudqls5271.github.io/tags/SEO/">SEO</category>
<comments>http://dudqls5271.github.io/2021/06/03/hexo_goole/#disqus_thread</comments>
</item>
<item>
<title>겍채지향 프로그래밍 이란?</title>
<link>http://dudqls5271.github.io/2021/05/13/hexo_OOP/</link>
<guid>http://dudqls5271.github.io/2021/05/13/hexo_OOP/</guid>
<pubDate>Wed, 12 May 2021 15:45:11 GMT</pubDate>
<description><h1 id="객채-지향-프로그래밍"><a href="#객채-지향-프로그래밍" class="headerlink" title="객채 지향 프로그래밍"></a>객채 지향 프로그래밍</h1><p>객체 지향 프로그래밍(이하 OOP)는 컴퓨터 프로그램을 “객체(Object)”들의 모임으로<br>파악하고자 하는 프로그래밍의 패러다임 중에 하나이다. 각 “객체(Object)” 들은 서로 메시지를<br>주고 받을 수 있으며 데이터를 처리할 수 있다.</p>
<h3 id="객체-지향-프로그래밍-OOP-의-장점은"><a href="#객체-지향-프로그래밍-OOP-의-장점은" class="headerlink" title="객체 지향 프로그래밍(OOP)의 장점은"></a>객체 지향 프로그래밍(OOP)의 장점은</h3><ul>
<li>프로그램을 유연하고 변경이 용이하게 만든다.</li>
<li>프로그램의 개발과 보수를 간편하게 만든다</li>
<li>직관적인 코드 분석을 가능하게 한다.</li>
</ul></description>
<content:encoded><![CDATA[<h1 id="객채-지향-프로그래밍"><a href="#객채-지향-프로그래밍" class="headerlink" title="객채 지향 프로그래밍"></a>객채 지향 프로그래밍</h1><p>객체 지향 프로그래밍(이하 OOP)는 컴퓨터 프로그램을 “객체(Object)”들의 모임으로<br>파악하고자 하는 프로그래밍의 패러다임 중에 하나이다. 각 “객체(Object)” 들은 서로 메시지를<br>주고 받을 수 있으며 데이터를 처리할 수 있다.</p><h3 id="객체-지향-프로그래밍-OOP-의-장점은"><a href="#객체-지향-프로그래밍-OOP-의-장점은" class="headerlink" title="객체 지향 프로그래밍(OOP)의 장점은"></a>객체 지향 프로그래밍(OOP)의 장점은</h3><ul><li>프로그램을 유연하고 변경이 용이하게 만든다.</li><li>프로그램의 개발과 보수를 간편하게 만든다</li><li>직관적인 코드 분석을 가능하게 한다.</li></ul><span id="more"></span><p>객체 지향 프로그래밍의 중요한 특성은 <strong>_강한 응집력(Strong Cohesion)과 약한 결합력(Weak Coupling)을 지향한다는</strong> 점이다.</p><p><strong>응집력(Strong Cohesion)</strong></p><blockquote><p>프로그램의 한 요소가 특정 목적을 위해 밀접하게 연관된 기능들이 모여서 구현되어 있고, 지나치게 많은 일을 하지 않으면 그것을 응집력이 높다고 표현한다.</p></blockquote><p><strong>결합력(coupling)</strong></p><blockquote><p>프로그램 코드의 한 요소가 다른 것과 얼마나 강력하게 연결되어 있는지, 얼마나 의존적인지를 나타내는 정도. 결합력이 낮다는 것은 한 요소가 다른 요소들과 관계를 크게 맺고 있지 않은 상태를 의미한다.</p></blockquote><p><img src="https://user-images.githubusercontent.com/49426352/118004452-7088ca80-b384-11eb-85bd-46e73b50ef72.jpg" alt="download"></p><p>필드에 몬스터들을 배치하고 싶다.<br>몬스터의 종류는 파랑 버섯, 주황 버섯, 뿔 버섯, 좀비 버섯이 있다.<br>각 몬스터들은 시간이 흐르고 래벨업을 할 수 있다.</p><h3 id="OOP의-기본-구성-요소"><a href="#OOP의-기본-구성-요소" class="headerlink" title="OOP의 기본 구성 요소"></a>OOP의 기본 구성 요소</h3><ul><li><p>클래스(Class)<br>같은 종류의 집단에 속하는 속성과 행위를 정의한 것.<br>다른 클래스와 독립적으로 만들어줘야 한다.<br>위의 예제에서 몬스터의 특성과 행위들을 정의한 객체가 클래스가 될 것이다.</p></li><li><p>객체(Object)<br>클래스의 인스턴스(Instance). 상위 클래스의 속성을 가지고 있으면서 개별적인 특성과<br>행위 (메서드 : Method)또한 가지고 있다.</p></li><li><p>메서드(Method)<br>클래스로부터 생성된 객체를 사용하는 방법. 객체의 속성을 조작하는 데 사용한다.<br>위의 예제에서 각각의 몬스터들이 레벨업을 하는 행위가 메서드(Method)라고 볼 수 있다.</p></li></ul><h1 id="OOP의-특성"><a href="#OOP의-특성" class="headerlink" title="OOP의 특성"></a>OOP의 특성</h1><h3 id="캡슐화-Encapsulation"><a href="#캡슐화-Encapsulation" class="headerlink" title="캡슐화(Encapsulation)"></a>캡슐화(Encapsulation)</h3><p>캡슐화는 객체의 데이터를 외부에서 직접 접근하지 못하게 막고, 함수를 통해서만 조작이 가능한 작업이다.</p><p>몬스터 레벨(Lv)과 같은 경우는 이용자가 입의로 조작하게 만들면 문제가 생길 가능성이 있기에, 그래서 래벨업(LvUp)이라는 함수를 통해서만 레벨업이 가능하도록 해야한다.</p><h3 id="추상화-Abstraction"><a href="#추상화-Abstraction" class="headerlink" title="추상화(Abstraction)"></a>추상화(Abstraction)</h3><p>추상화는 객체들이 가진 공통의 특성들을 파악하고 불필요한 특성들을 제거 하는 과정을 말한다.</p><p>객체들이 가진 동작들을 기준으로 이용자들이 동작만 쉽게 구동할 수 있도록 한다<br>레벨업(LvUp) 메소드를 실행만 하면 Lv이라는 속성을 컨트롤 할 수 있었던 것처럼.</p><p>이러한 추상화 과정을 통해 이용자들은 프로그래머가 만든 객체를 더 쉽게 사용할 수 있게 된다.</p><p>추상화를 할 때 주의할 점은 <b style="color: red">속성 위주가 아닌 동작 위주로 정의 하는 작업을 하는 것</b>이다.</p><p>어떠한 동작과 속성을 정의하고 불필요한 정의들을 삭제하여 이용자가 편리하게 객체를 이용할 수 있도록 구성한 것이 추상화이다.</p><h1 id="객체지향-프로그래밍-VS-클래스-기반-프로그래밍"><a href="#객체지향-프로그래밍-VS-클래스-기반-프로그래밍" class="headerlink" title="객체지향 프로그래밍 VS 클래스 기반 프로그래밍"></a>객체지향 프로그래밍 VS 클래스 기반 프로그래밍</h1><p>클래스 단위 프로그래밍과 객체지향 프로그래밍이 똑같은 내용인지 알고 있는 사람들이 있는데 일부는 맞고 일부는 틀리다.</p><h3 id="엄격한-의미에서-해석"><a href="#엄격한-의미에서-해석" class="headerlink" title="엄격한 의미에서 해석"></a><span style="color:#5058bd;">엄격한 의미에서 해석</span></h3><p>객체지향 프로그래밍은 네가지특징(<em>추상화, 캡슐화, 상속, 다향성</em>)을 골고루 사용해 프로그램을 만드는것을 객체지향이라고 한다. 하지만 클래스 단위 프로그래밍은 이런 객체지향의 특징을 전혀 사용하지 않고 오직 클래스만을 이용해 프로그래밍 하는 방식을 말한다.</p><h3 id="유연한-의미에서-해석"><a href="#유연한-의미에서-해석" class="headerlink" title="유연한 의미에서 해석"></a><span style="color:#5058bd;">유연한 의미에서 해석</span></h3><p>클래스 단위 프로그램을 객체지향 프로그램이라고 부를 수 있는 이유는 클래스를 만들어 프로그래밍 하는 자체에 이미 객체지향 프로그래밍에 포함 되는 구조를 가지고 있다고 한다.</p><table><thead><tr><th>구분</th><th>절차 지향 프로그래밍</th><th>객체 지향 프로그래밍</th></tr></thead><tbody><tr><td><center>처리 방식</center></td><td><center>문제를 여러 개의 함수로 나누어순차적으로 호출하여 처리하는 방식</center></td><td><center>문제를 여러개의 <span style="color:red">객체</span> 단위로 나누어 처리 하는 방식</center></td></tr><tr><td><center>단점</center></td><td><center>오래된 방식이며 협업해서 진행하는 큰 프로젝트에는 적합하지 않음</center></td><td><center>학습 난이도가 눞음. <br>개발자의 활용능력이 중요함</center></td></tr><tr><td><center>장점</center></td><td><center>간단하고 소규모 프로젝트에 용이함.<br> 비교적 배우기 쉬움</center></td><td><center>최근 가장 많이 사용하는 방식임. <br> 협업이 중요한 대형 프로젝트에 적합함<center></td></tr></tbody></table>]]></content:encoded>
<category domain="http://dudqls5271.github.io/tags/java/">java</category>
<category domain="http://dudqls5271.github.io/tags/OOP/">OOP</category>
<comments>http://dudqls5271.github.io/2021/05/13/hexo_OOP/#disqus_thread</comments>
</item>
<item>
<title>Github Page와 Hexo 유용한 플러그인 설치</title>
<link>http://dudqls5271.github.io/2021/05/10/hexo_Plugin/</link>
<guid>http://dudqls5271.github.io/2021/05/10/hexo_Plugin/</guid>
<pubDate>Mon, 10 May 2021 13:09:37 GMT</pubDate>
<description><h3 id="SED"><a href="#SED" class="headerlink" title="SED"></a>SED</h3><p>SEO란?:<br>영어로 Search Engine Optimization로 대부분 검색엔진 최적화(SEO)와 관련되어있다.</p>
<h3 id="플러그인-설치-or-삭제"><a href="#플러그인-설치-or-삭제" class="headerlink" title="플러그인 설치 or 삭제"></a>플러그인 설치 or 삭제</h3><blockquote>
<p>$ npm install -save</p>
</blockquote>
<h3 id="삭제"><a href="#삭제" class="headerlink" title="삭제"></a>삭제</h3><blockquote>
<p>$ npm uninstall</p>
</blockquote>
<hr>
<h3 id="hexo-autonofollow"><a href="#hexo-autonofollow" class="headerlink" title="hexo-autonofollow"></a>hexo-autonofollow</h3><p>이 플러그인은 rel=”external nofollow” 속성을 추가하여 외부 링크 크롤링을 막아 준다고 한다.</p></description>
<content:encoded><![CDATA[<h3 id="SED"><a href="#SED" class="headerlink" title="SED"></a>SED</h3><p>SEO란?:<br>영어로 Search Engine Optimization로 대부분 검색엔진 최적화(SEO)와 관련되어있다.</p><h3 id="플러그인-설치-or-삭제"><a href="#플러그인-설치-or-삭제" class="headerlink" title="플러그인 설치 or 삭제"></a>플러그인 설치 or 삭제</h3><blockquote><p>$ npm install -save</p></blockquote><h3 id="삭제"><a href="#삭제" class="headerlink" title="삭제"></a>삭제</h3><blockquote><p>$ npm uninstall</p></blockquote><hr><h3 id="hexo-autonofollow"><a href="#hexo-autonofollow" class="headerlink" title="hexo-autonofollow"></a>hexo-autonofollow</h3><p>이 플러그인은 rel=”external nofollow” 속성을 추가하여 외부 링크 크롤링을 막아 준다고 한다.</p><span id="more"></span><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">$ npm install hexo-autonofollow --save</span><br><span class="line"></span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">nofollow:</span><br><span class="line"><span class="built_in">enable</span>: <span class="literal">true</span></span><br><span class="line">exclude:</span><br><span class="line">- exclude1.com</span><br><span class="line">- exclude2.com</span><br></pre></td></tr></table></figure><h3 id="hexo-auto-canonical"><a href="#hexo-auto-canonical" class="headerlink" title="hexo-auto-canonical"></a>hexo-auto-canonical</h3><p>이 플러그인은 대표 URL을 지정해준다고 한다.</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install --save hexo-auto-canonical</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><%- autoCanonical(config, page) %></span><br></pre></td></tr></table></figure><p>나는 head.ejs안에 위의 코드를 넣었다, 근데 테마마다 다름으로 주위 해줘야한다.<br>Control + P 을 누르면 파일 검색이 가능하다.</p><h3 id="hexo-generator-seo-friendly-sitemap"><a href="#hexo-generator-seo-friendly-sitemap" class="headerlink" title="hexo-generator-seo-friendly-sitemap"></a>hexo-generator-seo-friendly-sitemap</h3><p>이 플러그인은 더욱 효율적으로 크롤링을 할 수 있도록 사이트맵 xml 파일을 자동으로 생성해 주는 것 이다.</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ npm install hexo-generator-seo-friendly-sitemap --save</span><br></pre></td></tr></table></figure><p>_config.yml에 아래 코드를 추가 해준다.</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># sitemap auto generator</span></span><br><span class="line">sitemap:</span><br><span class="line"> path: sitemap.xml</span><br></pre></td></tr></table></figure><h3 id="hexo-generator-feed"><a href="#hexo-generator-feed" class="headerlink" title="hexo-generator-feed"></a>hexo-generator-feed</h3><p>RSS 피드를 만들어서 일종의 블로그 구독기능을 만들어 주는 것이다.</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-generator-feed --save</span><br></pre></td></tr></table></figure><p>_config.yml에 아래 내용을 추가 해준다.</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"> <span class="comment"># rss feed auto generator</span></span><br><span class="line">feed:</span><br><span class="line"> <span class="built_in">type</span>: rss2</span><br><span class="line"> path: rss2.xml</span><br><span class="line"> <span class="built_in">limit</span>: 20</span><br></pre></td></tr></table></figure><p>각각<br>type : feed의 종류 (atom/rss2) - * 네이버는 atom을 지원하지 않음<br>path : feed가 생성될 경로(default : atom.xml, rss2.xml)<br>limit : 최신 포스트 수 설정 (0 또는 false - 전체 포스트)</p><h3 id="hexo-asset-link-필수-설치"><a href="#hexo-asset-link-필수-설치" class="headerlink" title="hexo-asset-link 필수 설치"></a>hexo-asset-link <em>필수 설치</em></h3><p>말 그래도 이 플러그인은 필수 설치이다.<br>내가 평소에 md파일에 글을 올리때 vs코드를 사용하는데, 이미지를 올릴때는 Github에 들어가서 이미지 파일을 따로 넣어줘야 했는데 이 플러그인을 설치해주면</p><p>md파일이 있는곳에 포스트의 이름과 동의한 폴더를 만들고 이미지를 넣어주면 아래와 같이 나온다.</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">+-- _posts/</span><br><span class="line">| +-- hexo_insatall.md</span><br><span class="line">| +-- hexo_insatall/</span><br><span class="line">| +-- Test-Image.png</span><br><span class="line">| +-- Test-Other-File.pdf</span><br></pre></td></tr></table></figure><p>그러면 이제 이미지에 접근할때</p><p>!”[이미지 설명]”(Test-Image)<br>으로 간단하게 접근이 가능해진다.</p><p>자세한 설명은 <a href="https://www.npmjs.com/package/hexo-asset-link">여기</a>에서 확인할 수 있다.</p>]]></content:encoded>
<category domain="http://dudqls5271.github.io/tags/hexo/">hexo</category>
<comments>http://dudqls5271.github.io/2021/05/10/hexo_Plugin/#disqus_thread</comments>
</item>
<item>
<title>Github Page와 Hexo로 블로그 만들고 테마 적용하기</title>
<link>http://dudqls5271.github.io/2021/05/08/hexo_install/</link>
<guid>http://dudqls5271.github.io/2021/05/08/hexo_install/</guid>
<pubDate>Sat, 08 May 2021 14:50:48 GMT</pubDate>
<description><p>JAVA온라인스터디를 하면서 사람들이 Github로 블로그를 만드는 것을 보고 신기해서 만들게 되었다.<br>조금 검색 해보니깐 Github는 Github Pages애 블로그를 만들어 볼려고 한다. 조금 구글에서 검색해보니깐 대부분 hexo?을 많이 사용한다고 하길래 나도 한번 hexo을 이용해서 블로그를 만들어 볼려고 한다.</p>
<h3 id="기본-설치-프로그램"><a href="#기본-설치-프로그램" class="headerlink" title="기본 설치 프로그램"></a>기본 설치 프로그램</h3><p>vscode와 NodeJS을 깔아주었다.<br><a href="https://code.visualstudio.com/download">vscode</a>, <a href="https://nodejs.org/ko/">NodeJS</a> 다운 링크</p>
<p><img src="https://user-images.githubusercontent.com/49426352/117543472-09070e00-b058-11eb-8d5e-d3ffd3693707.png" alt="p2"></p>
<p>NodeJs는 다음과 같이 cmd에 Node라고 처주면 설치확인이 가능하다.</p></description>
<content:encoded><![CDATA[<p>JAVA온라인스터디를 하면서 사람들이 Github로 블로그를 만드는 것을 보고 신기해서 만들게 되었다.<br>조금 검색 해보니깐 Github는 Github Pages애 블로그를 만들어 볼려고 한다. 조금 구글에서 검색해보니깐 대부분 hexo?을 많이 사용한다고 하길래 나도 한번 hexo을 이용해서 블로그를 만들어 볼려고 한다.</p><h3 id="기본-설치-프로그램"><a href="#기본-설치-프로그램" class="headerlink" title="기본 설치 프로그램"></a>기본 설치 프로그램</h3><p>vscode와 NodeJS을 깔아주었다.<br><a href="https://code.visualstudio.com/download">vscode</a>, <a href="https://nodejs.org/ko/">NodeJS</a> 다운 링크</p><p><img src="https://user-images.githubusercontent.com/49426352/117543472-09070e00-b058-11eb-8d5e-d3ffd3693707.png" alt="p2"></p><p>NodeJs는 다음과 같이 cmd에 Node라고 처주면 설치확인이 가능하다.</p><span id="more"></span><h3 id="1-레포지터리-만들기"><a href="#1-레포지터리-만들기" class="headerlink" title="1. 레포지터리 만들기"></a>1. 레포지터리 만들기</h3><p>우선 github에 새로운 레포지터리를 만들어 준다.<br><img src="https://user-images.githubusercontent.com/49426352/117542272-e9b9b200-b052-11eb-9ab4-2cbaae5240e8.png" alt="p1"></p><p>여기서 중요한것은 “자신의Github로ID”.githud.io로 만들어줘야 한다는 점이다.<br>나의 Github로 보자면 dudqls5271.github.io가 되는것이다.</p><h3 id="2-hexo-설치"><a href="#2-hexo-설치" class="headerlink" title="2. hexo 설치"></a>2. hexo 설치</h3><p>다음 사진과 같이 입력 해주면 hexo 기본설치가 시작 된다.</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo init</span><br></pre></td></tr></table></figure><p><img src="https://user-images.githubusercontent.com/49426352/117543483-14f2d000-b058-11eb-90ee-848b32980972.png" alt="화면 캡처 2021-05-08 233126"></p><p>설치가 완료 되면 다음과 같이 여러개의 폴더 들이 생긴 것을 볼 수가 있다.</p><p>마지막으로 아래을 입력해주면 hexo에 필요한 파일들이 설치가 된다.</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ npm install</span><br></pre></td></tr></table></figure><p><img src="https://user-images.githubusercontent.com/49426352/117543494-1cb27480-b058-11eb-87b3-c6412440b3b2.png" alt="화면 캡처 2021-05-08 233215"></p><h3 id="3-테마-설정"><a href="#3-테마-설정" class="headerlink" title="3. 테마 설정"></a>3. 테마 설정</h3><p>다음은 테마 설정이다.<br>테마는 다른 사람들이 만들어 준 테마를 사용하면된다. <a href="https://code.visualstudio.com/download">[여기]</a>서 테마를 고를수 있다.<br>원하는 테마를 고른뒤 그 사람의 Github에 들어가서 URL을 복사 해준뒤 다음과 같이 콘솔에 적어주면 된다.</p><p><img src="https://user-images.githubusercontent.com/49426352/117543513-2936cd00-b058-11eb-96ae-377f08cbf7d1.png" alt="화면 캡처 2021-05-08 234329"></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">$ <span class="built_in">cd</span> themes</span><br><span class="line">$ git <span class="built_in">clone</span> 링크</span><br></pre></td></tr></table></figure><p>그러면 themes에 추가가 된것을 볼 수 있을것이다.<br>에제 theme을 본인 마음대로 바꿔주면 된다.</p><h3 id="4-기본-정보-수정"><a href="#4-기본-정보-수정" class="headerlink" title="4. 기본 정보 수정"></a>4. 기본 정보 수정</h3><blockquote><p><a href="https://hexo.io/docs/">여기</a> 에서 다양한 옵션을 볼 수 있습니다!</p></blockquote><h3 id="4-1-site-기본-정보-수정"><a href="#4-1-site-기본-정보-수정" class="headerlink" title="4-1. site 기본 정보 수정"></a>4-1. site 기본 정보 수정</h3><p>_config.yml에 들어가면 site 가 있을 것입니다.</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># Site</span></span><br><span class="line">title: YB_BIN Blog</span><br><span class="line">subtitle:</span><br><span class="line">description:</span><br><span class="line">keywords:</span><br><span class="line">author:</span><br><span class="line">language:</span><br><span class="line">timezone:</span><br></pre></td></tr></table></figure><p>위의 부분을 찾아서 원하는대로 수정하면 된다.<br>나 같은 경우는 다음과 같이 수정다</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># Site</span></span><br><span class="line">title: YB_BIN Blog</span><br><span class="line">subtitle: <span class="string">'개인 공부 및 작업물 공유'</span></span><br><span class="line">description: <span class="string">"YB_BIN의 블로그 입니다."</span></span><br><span class="line">keywords: programming, java, html, web, front</span><br><span class="line">email: youngbin5271@gmail.com</span><br><span class="line">author: <span class="string">'LEE YoungBin'</span></span><br><span class="line">language: ko</span><br><span class="line">timezone: <span class="string">'Asia/Seoul'</span></span><br></pre></td></tr></table></figure><h3 id="4-2-URL-정보-수정"><a href="#4-2-URL-정보-수정" class="headerlink" title="4-2. URL 정보 수정"></a>4-2. URL 정보 수정</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># URL</span></span><br><span class="line">github.io/project</span><br><span class="line">url: http://example.com</span><br><span class="line">root: /</span><br><span class="line">permalink: :year/:month/:day/:title/</span><br><span class="line">permalink_defaults:</span><br><span class="line">pretty_urls:</span><br><span class="line"> trailing_index: <span class="literal">true</span></span><br><span class="line"> trailing_html: <span class="literal">true</span></span><br></pre></td></tr></table></figure><p>라고 되어있는데, 여기서 url에 자신의 Github 유저명을 넣어서 <a href="http://username.github.io을/">http://username.github.io을</a> 넣어주면 된다!</p><p>나는 다음과 같이 수정 했다.</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># URL</span></span><br><span class="line">github.io/project</span><br><span class="line">url: http://dudqls5271.github.io</span><br><span class="line">root: /</span><br><span class="line">permalink: :year/:month/:day/:title/</span><br><span class="line">permalink_defaults:</span><br><span class="line">pretty_urls:</span><br><span class="line"> trailing_index: <span class="literal">true</span></span><br><span class="line"> trailing_html: <span class="literal">true</span></span><br></pre></td></tr></table></figure><h3 id="4-3-Deploy-설정3"><a href="#4-3-Deploy-설정3" class="headerlink" title="4-3. Deploy 설정3"></a>4-3. Deploy 설정3</h3><p>이 항목에 본인의 Gitpage Repository 정보를 넣어서 수정해주면 된다.<br>여기도 username 바꿔줘야 한다.</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># Deployment</span></span><br><span class="line">deploy:</span><br><span class="line"> <span class="built_in">type</span>: git</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># Deployment</span></span><br><span class="line">deploy:</span><br><span class="line"> <span class="built_in">type</span>: git</span><br><span class="line"> repo: https://github.com/dudqls5271/dudqls5271.github.io</span><br><span class="line"> branch: master</span><br></pre></td></tr></table></figure><h3 id="5-hexo-테스트"><a href="#5-hexo-테스트" class="headerlink" title="5. hexo 테스트"></a>5. hexo 테스트</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo server</span><br></pre></td></tr></table></figure><blockquote><p>줄여서 hexo s 도 가능하다.</p></blockquote><p>위의 문구를 콘솔에 치면 서버가 열렸다는 문구와 같이 <a href="http://localhost:4000/">http://localhost:4000</a> 가 열릴 것이다.<br>여기에 들어가면 본인이 설정한 블로그를 볼 수 있습니다.</p><h3 id="6-Github에-배포하기"><a href="#6-Github에-배포하기" class="headerlink" title="6. Github에 배포하기"></a>6. Github에 배포하기</h3><p>이제 지금 까지 만든 Hexo 블로그를 Github로 배포를 해보자.<br>아까 Hexo을 설치하던 콘솔 창을 다시 열어 준다.</p><p>아래의 두 명령어를 입력해서 생성, 배포해준다.</p><h3 id="Hexo를-이용해-정적-웹-리소스-생성하기"><a href="#Hexo를-이용해-정적-웹-리소스-생성하기" class="headerlink" title="Hexo를 이용해 정적 웹 리소스 생성하기"></a>Hexo를 이용해 정적 웹 리소스 생성하기</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo generate</span><br></pre></td></tr></table></figure><blockquote><p>줄여서 hexo g도 가능하다.</p></blockquote><h3 id="github에-배포하기"><a href="#github에-배포하기" class="headerlink" title="github에 배포하기"></a>github에 배포하기</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo deploy</span><br></pre></td></tr></table></figure><blockquote><p>줄여서 hexo d도 가능하다.</p></blockquote><blockquote><p>이 두가지를 합쳐서 <br> hexo generate -deploy 혹은 hexo g -d로 사용가능하다.</p></blockquote><p>혹시라도 배포시</p><blockquote><p>ERROR Deployer not found: git<br></p></blockquote><p>라는 오류 문구가 나오면</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-deployer-git --save</span><br></pre></td></tr></table></figure><p>를 통해서 플러그인을 다시 설피 해준다.</p><p>여기까지 하면 <a href="https://username.github.io로/">https://username.github.io로</a> 들어가보면 hexo 페이지가 보일 것 이다.</p>]]></content:encoded>
<category domain="http://dudqls5271.github.io/tags/hexo/">hexo</category>
<comments>http://dudqls5271.github.io/2021/05/08/hexo_install/#disqus_thread</comments>
</item>
</channel>
</rss>