@@ -68,6 +68,8 @@ npm install -g <ํจํค์ง ์ด๋ฆ>
68
68
npm install react
69
69
~~~~~~~~
70
70
71
+ ํจํค์ง๋ ์์ฑ๋ * node_modules/* ํด๋์ ์ ์ฅ๋๊ณ ์์กด์ฑ ํ์ผ์ธ * package.json* ์ ํจํค์ง ๋ฆฌ์คํธ๊ฐ ๋์ด๋ฉ๋๋ค.
72
+
71
73
* package.json* ํ์ผ์ด ์์ด์ผ๋ง ` npm ` ๋ช
๋ น์ด๋ก * node_modules/* ํด๋๋ฅผ ์ด๊ธฐํํ ์ ์์ต๋๋ค. ์๋ ๋ช
๋ น์ด๋ก ์ ์ง์ญ ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
72
74
73
75
{title="Command Line",lang="text"}
@@ -104,7 +106,6 @@ npm install --save-dev <package>
104
106
105
107
## 1.4 ๋ฆฌ์กํธ ์ค์น
106
108
107
-
108
109
### 1.4.1 CDN
109
110
๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์์ต๋๋ค. ์ฒซ๋ฒ์งธ๋ก CDN([ Content Delivery Network: ์ฝํ
์ธ ์ ์ก ๋คํธ์ํฌ] ( https://en.wikipedia.org/wiki/Content_delivery_network ) ์ ์ฝ์)์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค. CDN์ด ๋ฌด์์ธ์ง๋ ์ง๊ธ ์ค์ํ์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด ์ฑ
์์ CDN์ ์ฌ์ฉํ์ง ์์ ๊ฒ์
๋๋ค. ํ์ง๋ง ์งง๊ฒ ์ค๋ช
ํ๋ ์ ๋๋ ๊ด์ฐฎ๊ฒ ์ง์. ๋ง์ ๊ธฐ์
๋ค์ด ๊ณ ๊ฐ์๊ฒ ํ์ผ์ ์ ๊ณตํ๊ธฐ ์ํด CDN์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฐ ํ์ผ์ค์๋ ๋ฆฌ์กํธ์ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์์ต๋๋ค. ๋ฐฐํฌ์ฉ์ผ๋ก ํฌ์ฅ๋ ๋ฆฌ์กํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ * react.js* ๋ผ๋ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ด๊ธฐ ๋๋ฌธ์
๋๋ค.
110
111
@@ -238,7 +239,7 @@ npm run build
238
239
239
240
## 1.6 JSX ๊ธฐ์ด
240
241
241
- ๋ฆฌ์กํธ JSX ๋ฌธ๋ฒ์ ๋ํด ์์๋ด
์๋ค. * create-react-app* ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ๋ถํธ์คํธ๋ํ ํ๋ฉด ๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ด๋ฏธ ๊ตฌํ๋์ด ์์ต๋๋ค. * src/App.js* ์์ค ์ฝ๋๋ฅผ ์ด์ด ๋ด์ฉ์ ์ฝ์ด๋ด
์๋ค .
242
+ ๋ฆฌ์กํธ์ JSX ๋ฌธ๋ฒ์ ๋ํด ์์๋ด
์๋ค. * create-react-app* ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ๋ผ๋๋ฅผ ์์ฑํ๋ฉด ๋ชจ๋ ํ์ผ๋ค์ด ๊ธฐ๋ณธ์ ์ธ ๋์์ ์ํํ ์ ์๋ ์ํ๋ก ๋ง๋ค์ด์ง๋๋ค. ์ฐ๋ฆฌ๋ * src/App.js* ํ์ผ ๋ง์ ์์ ํ๋๋ก ํ๊ฒ ์ต๋๋ค .
242
243
243
244
{title="src/App.js",lang=javascript}
244
245
~~~~~~~~
@@ -252,11 +253,18 @@ class App extends Component {
252
253
<div className="App">
253
254
<header className="App-header">
254
255
<img src={logo} className="App-logo" alt="logo" />
255
- <h1 className="App-title">Welcome to React</h1>
256
+ <p>
257
+ Edit <code>src/App.js</code> and save to reload.
258
+ </p>
259
+ <a
260
+ className="App-link"
261
+ href="https://reactjs.org"
262
+ target="_blank"
263
+ rel="noopener noreferrer"
264
+ >
265
+ Learn React
266
+ </a>
256
267
</header>
257
- <p className="App-intro">
258
- To get started, edit <code>src/App.js</code> and save to reload.
259
- </p>
260
268
</div>
261
269
);
262
270
}
@@ -265,17 +273,27 @@ class App extends Component {
265
273
export default App;
266
274
~~~~~~~~
267
275
268
- ์๋ฐ์คํฌ๋ฆฝํธ ES6 ๊ธฐ๋ฅ์ธ ` import ` ๊ณผ ` export ` , ํด๋์ค(class) ๋ฌธ๋ฒ์ ๋ฒ์จ๋ถํฐ ๊ณต๋ถํ๋ ค๊ณ ์กฐ๊ธํดํ ํ์๊ฐ ์์ต๋๋ค. ์์ผ๋ก ์ฐจ๊ทผ์ฐจ๊ทผ ๋ฐฐ์๋ณผ ๊ฒ์
๋๋ค.
276
+ ` import ` ๊ณผ ` export ` ํน์ ํด๋์ค(class) ๋ฌธ๋ฒ์ ๋ชจ๋ฅธ๋ค๊ณ ๊ฑฑ์ ํ ํ์๋ ์์ต๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ES6์ ๊ธฐ๋ฅ์ธ๋ฐ ์ ์ํ์ ์ค๋ช
ํ๊ฒ ์ต๋๋ค.
277
+
278
+ ` App.js ` ํ์ผ์๋ App์ด๋ผ๋ ์ด๋ฆ์ ** ๋ฆฌ์กํธ ES6 ํด๋์ค ์ปดํฌ๋ํธ(React ES6 Class Component)** ๊ฐ ์์ต๋๋ค. ์ด๋ ๊ฒ ์ปดํฌ๋ํธ๋ฅผ ์ ์ธํ๊ณ ๋๋ฉด, ์ ํ๋ฆฌ์ผ์ด์
์ ์์๋ก์จ ์ด๋์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ปดํฌ๋ํธ์ ์ธ์คํด์ค๊ฐ ๋ง๋ค์ด์ง๋๋ฐ, ๋ค๋ฅธ ๋ง๋ก๋ ์ปดํฌ๋ํธ์ ์ธ์คํด์คํ ๋ผ๊ณ ๋ ํฉ๋๋ค.
269
279
270
- ` App.js ` ํ์ผ์ ** ๋ฆฌ์กํธ ES6 ํด๋์ค ์ปดํฌ๋ํธ(React ES6 Class Component)** ๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ์ด ํ์ผ์์ ์ปดํฌ๋ํธ๋ฅผ ์ ์ธํ์ต๋๋ค.
280
+ {title="Code Playground",lang="javascript"}
281
+ ~~~~~~~~
282
+ // ์ปดํฌ๋ํธ ์ ์ธ
283
+ class App extends Component {
284
+ ...
285
+ }
271
286
272
- ๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋, HTML ์๋ ๋จผํธ(element)์ ๊ฐ์ด ์ ํ๋ฆฌ์ผ์ด์
์ ์ด๋ ๊ณณ์ด๋ ์ง ์ฌ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์ปดํฌ๋ํธ๊ฐ ์ธ์คํด์คํ ๋์๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ค๋ฅธ ๋ง๋ก ์ปดํฌ๋ํธ์ ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๋งํฉ๋๋ค.
287
+ // ์ปดํฌ๋ํธ ์ฌ์ฉ (ํด๋์ค์ ์ธ์คํด์คํ๋ผ๊ณ ๋ ํ๋ค.)
288
+ // ์ปดํฌ๋ํธ์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ค.
289
+ <App />
290
+ ~~~~~~~~
273
291
274
- ` render() ` ๋ฉ์๋์์ ** ์๋ ๋จผํธ(element)** ๊ฐ ๋ฐํ(return)๋ฉ๋๋ค. ์ฌ๋ฌ ์๋ ๋จผํธ๊ฐ ๋ชจ์ฌ ์ปดํฌ๋ํธ ์ ์ฒด๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ์ปดํฌ๋ํธ(component), ์ธ์คํด์ค(instance), ์๋ ๋จผํธ(element) ๊ฐ์ ์ฉ์ด์ ๊ฐ ์ฐ์์ ์ฐจ์ด๋ฅผ ์๊ณ ์๋ค๋ฉด ์ดํด๊ฐ ์ฌ์ธ ๊ฒ์
๋๋ค .
292
+ ` render() ` ๋ฉ์๋๋ ** ์๋ ๋จผํธ(element)** ๋ฅผ ๋๋ ค์ค๋๋ค. ์์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์๋ ์ปดํฌ๋ํธ๋ ์ฌ๋ฌ ์๋ ๋จผํธ๊ฐ ๋ชจ์ฌ์ ๋ง๋ญ๋๋ค. ๋ฐ๋ผ์ ์ปดํฌ๋ํธ(component), ์ปดํฌ๋ํธ์ ์ธ์คํด์ค(instance), ์๋ ๋จผํธ(element) ๊ฐ์ ์ฐจ์ด๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค .
275
293
276
- ์ด์ ` App ` ์ปดํฌ๋ํธ๊ฐ ์ธ์คํด์คํ ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ธ์คํด์คํ ๋์ง ์์๋ค๋ฉด, ๋ธ๋ผ์ฐ์ ์์ ๋ ๋๋ง ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์์ต๋๋ค . App ์ปดํฌ๋ํธ๊ฐ ์ ์ธ๋์์ง๋ง ๋ค๋ฅธ ๊ณณ์ ์ฌ์ฌ์ฉ๋์ง ์์์ต๋๋ค. JSX๋ฌธ๋ฒ์ธ ` <App/> ` ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ ์ปดํฌ๋ํธ์์๋ ์ธ์คํด์ค ํํ์ฌ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค.
294
+ ` App ` ์ปดํฌ๋ํธ๊ฐ ์ธ์คํด์คํ ๋ ๊ฒ์ ๋ณผ ์ ์๋๋ฐ, ๋ง์ฝ ์ธ์คํด์คํ ๋์ง ์์๋ค๋ฉด ๋ธ๋ผ์ฐ์ ์์ ๋ ๋๋ง ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์์์ ๊ฒ์
๋๋ค . App ์ปดํฌ๋ํธ๋ ์ ์ธ์ผ ๋ฟ์ด๊ณ , ์ฌ์ฉ๋ ๊ฒ์ ์๋๋๋ค. JSX ๋ฌธ๋ฒ์ผ๋ก ` <App/> ` ๋ผ๊ณ ์ ์ผ๋ฉด ์ธ์คํด์คํ ํ๋ ๊ฒ์
๋๋ค. ์ ์ํ์ ์ฌ์ฉํ๋ ์ฅ๋ฉด์ ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
277
295
278
- ` render() ` ๋ธ๋ก ์ ๋ด์ฉ์ HTML๊ณผ ๋น์ทํด ๋ณด์ด์ง๋ง, JSX ๋ฌธ๋ฒ์ผ๋ก ์์ฑ๋์์ต๋๋ค. HTML๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๊ฒฐํฉํด JSX ๋ฌธ๋ฒ์ ์์ฑํฉ๋๋ค. ์ง๊ธ๊น์ง HTML๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐ๋ก ์ฌ์ฉํด ๊ฐ๋ฐํด์๋ค๋ฉด ์๋ก์ด ๋ฌธ๋ฒ์ด ๊ฝค ํผ๋์ค๋ฌ์ธ ๊ฒ์
๋๋ค. ๋จผ์ JSX์์ ๊ธฐ๋ณธ์ ์ธ HTML ์๋ ๋จผํธ๋ฅผ ์์ฑํ๊ฒ ์ต๋๋ค. ๋จผ์ ` App ` ์ปดํฌ๋ํธ์ ๋ชจ๋ ๋ด์ฉ์ ์ง์ฐ๊ณ ์๋์ ๊ฐ์ด ์์ฑํฉ๋๋ค .
296
+ ` render() ` ๋ธ๋ก ์ ๋ด์ฉ์ HTML๊ณผ ๋น์ทํด ๋ณด์ด์ง๋ง, JSX ๋ฌธ๋ฒ์ผ๋ก ์์ฑ๋์์ต๋๋ค. JSX ๋ฌธ๋ฒ์ HTML๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์์ด ์ธ์ ์๊ฒ ํด์ค๋๋ค. ๊ฐ๋ ฅํ ๋ฌธ๋ฒ์ด์ง๋ง, ์ง๊ธ๊น์ง HTML๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐ๋ก ๋ถ๋ฆฌํด์ ์ฌ์ฉํด์๋ค๋ฉด ๊ฝค ํผ๋์ค๋ฌ์ธ ๊ฒ์
๋๋ค. ๋จผ์ JSX์์ ๊ธฐ๋ณธ์ ์ธ HTML ์๋ ๋จผํธ๋ฅผ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค. ` App.js ` ์ ๋ชจ๋ ๋ด์ฉ์ ์ง์ฐ๊ณ ์๋์ ๊ฐ์ด ๋ฐ๊ฟ๋ด
์๋ค .
279
297
280
298
{title="src/App.js",lang=javascript}
281
299
~~~~~~~~
@@ -286,7 +304,7 @@ class App extends Component {
286
304
render() {
287
305
return (
288
306
<div className="App">
289
- <h2>๋ฆฌ์กํธ์ ์ค์ ์ฌ๋ฌ๋ถ์ ํ์ํฉ๋๋ค</h2>
307
+ <h2>๋ฆฌ์กํธ ๋์๋ซ๊ธฐ์ ์ค์ ์ฌ๋ฌ๋ถ์ ํ์ํฉ๋๋ค</h2>
290
308
</div>
291
309
);
292
310
}
@@ -295,7 +313,7 @@ class App extends Component {
295
313
export default App;
296
314
~~~~~~~~
297
315
298
- ์๋ฐ์คํฌ๋ฆฝํธ ์์ด ` render() ` ๋ฉ์๋๋ก HTML๋ฅผ ๋ฐํํ์ต๋๋ค. ์ ๋ณ์๋ฅผ ๋ง๋ค์ด "๋ฆฌ์กํธ์ ์ค์ ์ฌ๋ฌ๋ถ์ ํ์ํฉ๋๋ค"๋ผ๋ ๊ฐ์ ์ฃผ๊ณ , ์ด ๋ณ์๋ฅผ JSX ๋ฌธ๋ฒ์ธ ์ค๊ดํธ(` {} ` ) ์์ ๋ฃ์ต๋๋ค .
316
+ ์ด ์ฝ๋์ ` render() ` ๋ฉ์๋๋ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์๋ HTML๋ง์ ๋ฐํํ์ต๋๋ค. ์ด์ ๋ณ์๋ฅผ ๋ง๋ค์ด "๋ฆฌ์กํธ ๋์๋ซ๊ธฐ์ ์ค์ ์ฌ๋ฌ๋ถ์ ํ์ํฉ๋๋ค"๋ผ๋ ๊ฐ์ ์ฃผ๊ณ , ์ด ๋ณ์๋ฅผ JSX ๋ฌธ๋ฒ์ธ ์ค๊ดํธ(` {} ` ) ์์ ๋ฃ์ด๋ด
์๋ค .
299
317
300
318
{title="src/App.js",lang=javascript}
301
319
~~~~~~~~
@@ -305,7 +323,7 @@ import './App.css';
305
323
class App extends Component {
306
324
render() {
307
325
# leanpub-start-insert
308
- var helloWorld = '๋ฆฌ์กํธ์ ์ค์ ์ฌ๋ฌ๋ถ์ ํ์ํฉ๋๋ค';
326
+ var helloWorld = '๋ฆฌ์กํธ ๋์๋ซ๊ธฐ์ ์ค์ ์ฌ๋ฌ๋ถ์ ํ์ํฉ๋๋ค';
309
327
# leanpub-end-insert
310
328
return (
311
329
<div className="App">
@@ -320,20 +338,21 @@ class App extends Component {
320
338
export default App;
321
339
~~~~~~~~
322
340
323
- ๋ค์ ` npm start ` ๋ช
๋ น์ด๋ฅผ ์คํํด ์ ํ๋ฆฌ์ผ์ด์
์ ์์ํฉ๋๋ค.
341
+ ๋ค์ ` npm start ` ๋ช
๋ น์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ์คํํด์ ์์ ์ฌํญ์ด ๋ฐ์๋์๋์ง ํ์ธํฉ๋๋ค.
324
342
325
- ์๋ง ` className ` ๊ฐ ์์ฑ(attribute) ์์ ๋์น์ฑ์ ๊ฒ๋๋ค. JSX์ ` className ` ์ HTML ํ์ค ` class ` ๋ก๋ถํฐ ๊ธฐ์ธํ์ต๋๋ค. ๊ธฐ์ ์ ์ธ ์ด์ ๋ก JSX๋ ๋ช ๊ฐ์ง ๋ด๋ถ HTML ์์ฑ์ ๋ฐ๊ฟ์ผ ํ์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฆฌ์กํธ ๊ณต์ ๋ฌธ์ ์ค [ '์ง์ํ๋ HTML ์์ฑ' ] ( https://reactjs.org/docs/dom-elements.html ) ์ฅ์์ ํ์ธํ๊ธธ ๋ฐ๋๋๋ค. HTML ์์ฑ์ ์นด๋ฉ ์ผ์ด์ค(camelCase) ํ๊ธฐ๋ฒ์ ๋ฐ๋ฆ
๋๋ค. ์์ผ๋ก ๋ช ๊ฐ์ง JSX ์์ฑ์ ์ข ๋ ๋ค๋ค๋ณผ ๊ฒ์
๋๋ค.
343
+ ์๋ง ` className ` ์์ฑ(attribute)์ด ๋์ ๋ ๊ฒ ๊ฐ์ต๋๋ค. ` className ` ์ ํ์ค HTML์ ` class ` ๋ก๋ถํฐ ์์ต๋๋ค. JSX๋ ๋ช ๊ฐ์ง HTML ๋ด๋ถ ์์ฑ์ ๋ฐ๊ฟ์ผ ํ๋๋ฐ, [ ๋ฆฌ์กํธ์ HTML ์์ฑ ์ง์ ] ( https://reactjs.org/docs/dom-elements.html#all-supported-html-attributes ) ์ ๋ชฉ๋ก์ด ์์ต๋๋ค. ๋ฐ๋ ์ด๋ฆ๋ค์ ๋ชจ๋ ์นด๋ฉ ์ผ์ด์ค(camelCase) ํ๊ธฐ๋ฒ์ ๋ฐ๋ฆ
๋๋ค. ์์ผ๋ก JSX ์์ฑ ๋ช๊ฐ๋ฅผ ๋ ๋ง๋๊ฒ ๋ ๊ฒ์
๋๋ค.
326
344
327
345
### ์ค์ตํ๊ธฐ
328
346
347
+ * [ ์ง๋ ์น์
์ ์ฝ๋] ( http://bit.ly/2H8H14h ) ๋ฅผ ํ์ธํฉ๋๋ค.
348
+ * [ ์ด๋ฒ ์น์
์์ ๋ณ๊ฒฝ๋ ์ฝ๋] ( http://bit.ly/2H9KwHA ) ๋ฅผ ํ์ธํฉ๋๋ค.
349
+
329
350
* JSX ์์ ์ ๋ณ์๋ฅผ ๋ง๋ค๊ณ ๋ ๋๋ง ํฉ๋๋ค.
330
351
* ` user ` ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ JSX ๋ฌธ๋ฒ์ผ๋ก ` firstname ` ๊ณผ ` lastname ` ์ ํ์ํฉ๋๋ค.
331
- * ` render() ` ๋ฉ์๋ ์์ ` user ` ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
352
+ * ` render() ` ๋ฉ์๋ ์์์ ` user ` ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
332
353
333
- ### ์ฝ์ด๋ณด๊ธฐ
334
-
335
- * [[ ๋ฆฌ์กํธ ๊ณต์ ๋ฌธ์] JSX] ( https://reactjs.org/docs/introducing-jsx.html )
336
- * [[ ๋ฆฌ์กํธ ๊ณต์ ๋ฌธ์] ๋ฆฌ์กํธ ์ปดํฌ๋ํธ, ์๋ ๋จผํธ, ์ธ์คํด์ค] ( https://reactjs.org/blog/2015/12/18/react-components-elements-and-instances.html )
354
+ * [[ ๋ฆฌ์กํธ ๊ณต์ ๋ฌธ์] JSX] ( https://reactjs.org/docs/introducing-jsx.html ) ๋ฅผ ์ฝ์ด๋ด
๋๋ค.
355
+ * [[ ๋ฆฌ์กํธ ๊ณต์ ๋ฌธ์] ๋ฆฌ์กํธ ์ปดํฌ๋ํธ, ์๋ ๋จผํธ, ์ธ์คํด์ค] ( https://reactjs.org/blog/2015/12/18/react-components-elements-and-instances.html ) ๋ฅผ ์ฝ์ด๋ด
๋๋ค.
337
356
338
357
## 1.7 ES6 const ยท let
339
358
@@ -401,6 +420,7 @@ export default App;
401
420
* [[ MDN] ES6 let] ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let )
402
421
403
422
### ์ฐพ์๋ณด๊ธฐ
423
+
404
424
* ๋ถ๋ณ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํด ๋ ์์๋ด
์๋ค.
405
425
* ๋ณดํธ์ ์ธ ํ๋ก๊ทธ๋๋ฐ์์ ๋งํ๋ ๋ถ๋ณ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ๋ฌด์์ธ์ง ์์๋ด
์๋ค.
406
426
* ๋ฆฌ์กํธ์ ๊ทธ ์ํ๊ณ์์ ๋ถ๋ณ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ์ฌ์ฉ๋๋ ์ด์ ์ ๋ํด ์์๋ด
์๋ค.
0 commit comments