λ³λ ¬ λ‘λ©μΌλ‘ μν°ν΄ ν¨ν΄μ μ κ±°νμ¬ JavaScript λͺ¨λ λ‘λ© μ±λ₯μ μ΅μ ννμΈμ. λ λΉ λ₯Έ μΉ μ ν리μΌμ΄μ μ μν μ€μ©μ μΈ κΈ°μ κ³Ό λͺ¨λ² μ¬λ‘λ₯Ό μμ보μΈμ.
JavaScript λͺ¨λ λ‘λ© μν°ν΄ μ΅μ ν: λ³λ ¬ λ‘λ© μ λ΅
νλ μΉ κ°λ°μμ JavaScript λͺ¨λμ 볡μ‘ν μ ν리μΌμ΄μ μ μ€μΆμ λλ€. κ·Έλ¬λ λΉν¨μ¨μ μΈ λͺ¨λ λ‘λ©μ μ±λ₯μ μλΉν μν₯μ λ―ΈμΉ μ μμΌλ©°, "μν°ν΄" ν¨κ³Όλ‘ μλ €μ§ νμμ μ΄λν©λλ€. μ΄λ λͺ¨λμ΄ μμ°¨μ μΌλ‘ νλμ© λ‘λλμ΄ μ΄κΈ° λ λλ§κ³Ό μ λ°μ μΈ μ¬μ©μ κ²½νμ μ νμν€λ λ³λͺ© νμμ μμ±ν λ λ°μν©λλ€.
JavaScript λͺ¨λ λ‘λ© μν°ν΄ μ΄ν΄
μν°ν΄ ν¨κ³Όλ λΈλΌμ°μ κ° μΌλ°μ μΌλ‘ λͺ¨λ μ’ μμ±μ μ²λ¦¬νλ λ°©μμμ λΉλ‘―λ©λλ€. λͺ¨λμ μ°Έμ‘°νλ μ€ν¬λ¦½νΈ νκ·Έκ° λ°κ²¬λλ©΄ λΈλΌμ°μ λ ν΄λΉ λͺ¨λμ κ°μ Έμ μ€νν©λλ€. λͺ¨λμ΄ λ€λ₯Έ λͺ¨λμ μ’ μλ κ²½μ° ν΄λΉ λͺ¨λμ΄ μμ°¨μ μΌλ‘ κ°μ Έμ μ€νλ©λλ€. μ΄λ κ° λͺ¨λμ΄ μ²΄μΈμ λ€μ λͺ¨λμ΄ μμλκΈ° μ μ λ‘λλκ³ μ€νλμ΄μΌ νλ μ°μ λ°μμ μμ±νμ¬ νν¬μ μ μ¬ν©λλ€.
κ°λ¨ν μλ₯Ό κ³ λ €ν΄ λ³΄κ² μ΅λλ€.
<script src="moduleA.js"></script>
`moduleA.js`κ° `moduleB.js`μ `moduleC.js`λ₯Ό κ°μ Έμ€λ κ²½μ° λΈλΌμ°μ λ μΌλ°μ μΌλ‘ λ€μ μμλ‘ λ‘λν©λλ€.
- `moduleA.js`λ₯Ό κ°μ Έμ μ€νν©λλ€.
- `moduleA.js`κ° `moduleB.js`λ₯Ό μμ²ν©λλ€.
- `moduleB.js`λ₯Ό κ°μ Έμ μ€νν©λλ€.
- `moduleA.js`κ° `moduleC.js`λ₯Ό μμ²ν©λλ€.
- `moduleC.js`λ₯Ό κ°μ Έμ μ€νν©λλ€.
μ΄ μμ°¨μ λ‘λ©μ μ§μ° μκ°μ μ λ°ν©λλ€. λΈλΌμ°μ λ κ° λͺ¨λμ΄ λ€μ΄λ‘λλκ³ μ€νλ λκΉμ§ μ ν΄ μνλ‘ μ μ§λμ΄ μ 체 νμ΄μ§ λ‘λ μκ°μ μ§μ°μν΅λλ€.
μν°ν΄μ λΉμ©: μ¬μ©μ κ²½νμ λ―ΈμΉλ μν₯
μν°ν΄μ λ λμ μ¬μ©μ κ²½νμΌλ‘ μ§μ μ μΌλ‘ μ΄μ΄μ§λλ€. λ‘λ© μλκ° λλ €μ§λ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° λ°μν μ μμ΅λλ€.
- μ΄νλ₯ μ¦κ°: λ‘λνλ λ° μκ°μ΄ λ무 μ€λ 걸리면 μ¬μ©μκ° μΉμ¬μ΄νΈλ₯Ό ν¬κΈ°ν κ°λ₯μ±μ΄ λ ν½λλ€.
- μ°Έμ¬ κ°μ: λ‘λ© μλκ° λ리면 μ¬μ©μλ₯Ό μ’μ μν€κ³ μ ν리μΌμ΄μ κ³Όμ μνΈ μμ©μ μ€μΌ μ μμ΅λλ€.
- λΆμ μ μΈ SEO μν₯: κ²μ μμ§μ νμ΄μ§ λ‘λ μλλ₯Ό μμ μμλ‘ κ°μ£Όν©λλ€.
- μ νμ¨ κ°μ: μ μ μκ±°λ μλ리μ€μμ λ‘λ© μλκ° λ리면 νλ§€ μμ€λ‘ μ΄μ΄μ§ μ μμ΅λλ€.
μΈν°λ· μ°κ²°μ΄ λ리거λ μλ²μμ μ§λ¦¬μ μΌλ‘ λ©λ¦¬ λ¨μ΄μ§ μ¬μ©μμ κ²½μ° μν°ν΄μ μν₯μ΄ μ¦νλ©λλ€.
λ³λ ¬ λ‘λ© μ λ΅: μν°ν΄ κΉ¨λ¨λ¦¬κΈ°
μν°ν΄ ν¨κ³Όλ₯Ό μννλ ν΅μ¬μ λΈλΌμ°μ κ° μ¬λ¬ λͺ¨λμ λμμ κ°μ Έμ¬ μ μλλ‘ λͺ¨λμ λ³λ ¬λ‘ λ‘λνλ κ²μ λλ€. μ΄λ κ² νλ©΄ λμν νμ©λ₯ μ κ·Ήλννκ³ μ 체 λ‘λ© μκ°μ μ€μΌ μ μμ΅λλ€.
λ³λ ¬ λ‘λ©μ ꡬννλ λͺ κ°μ§ κΈ°μ μ΄ μμ΅λλ€.
1. ES λͺ¨λ λ° `<script type="module">` νμ©
λͺ¨λ μ΅μ λΈλΌμ°μ μμ μ§μνλ ES λͺ¨λ(ECMAScript λͺ¨λ)μ λΉλκΈ° λͺ¨λ λ‘λ©μ μν λ΄μ₯ μ§μμ μ 곡ν©λλ€. `<script type="module">`μ μ¬μ©νλ©΄ λΈλΌμ°μ κ° λͺ¨λμ μ°¨λ¨νμ§ μλ λ°©μμΌλ‘ κ°μ Έμ μ€ννλλ‘ μ§μν μ μμ΅λλ€.
μμ:
<script type="module" src="main.js"></script>
μ΄μ λΈλΌμ°μ λ `main.js`μ ν΄λΉ μ’ μμ±μ λ³λ ¬λ‘ κ°μ Έμ μν°ν΄ ν¨κ³Όλ₯Ό ν¬κ² μ€μ λλ€. λν ES λͺ¨λμ CORSκ° νμ±νλ μνλ‘ κ°μ Έμ 보μ λͺ¨λ² μ¬λ‘λ₯Ό κΆμ₯ν©λλ€.
2. λμ κ°μ Έμ€κΈ°: μ¨λ맨λ λ‘λ©
ES2020μ λμ λ λμ κ°μ Έμ€κΈ°λ₯Ό μ¬μ©νλ©΄ `import()` ν¨μλ₯Ό μ¬μ©νμ¬ λͺ¨λμ λΉλκΈ°μ μΌλ‘ κ°μ Έμ¬ μ μμ΅λλ€. μ΄λ κ² νλ©΄ λͺ¨λμ΄ λ‘λλλ μκΈ°λ₯Ό μΈλ°νκ² μ μ΄ν μ μμΌλ©° μ§μ° λ‘λ© λ° μ½λ λΆν μ ꡬννλ λ° μ¬μ©ν μ μμ΅λλ€.
μμ:
async function loadModule() {
try {
const module = await import('./myModule.js');
module.default(); // λͺ¨λμ κΈ°λ³Έ λ΄λ³΄λ΄κΈ° μ€ν
} catch (error) {
console.error('λͺ¨λ λ‘λ μ€ν¨:', error);
}
}
loadModule();
λμ κ°μ Έμ€κΈ°λ λͺ¨λμ λ΄λ³΄λ΄κΈ°λ‘ νμΈλλ νλ‘λ―Έμ€λ₯Ό λ°νν©λλ€. μ΄λ κ² νλ©΄ νμν λλ§ λͺ¨λμ λ‘λνμ¬ μ΄κΈ° νμ΄μ§ λ‘λ μκ°μ μ€μ΄κ³ μλ΅μ±μ κ°μ ν μ μμ΅λλ€.
3. λͺ¨λ λ²λ€λ¬: Webpack, Parcel λ° Rollup
Webpack, Parcel λ° Rollupκ³Ό κ°μ λͺ¨λ λ²λ€λ¬λ JavaScript λͺ¨λ λ‘λ©μ μ΅μ ννκΈ° μν κ°λ ₯ν λꡬμ λλ€. μ½λλ₯Ό λΆμνκ³ μ’ μμ±μ μλ³νμ¬ λΈλΌμ°μ μμ ν¨μ¨μ μΌλ‘ λ‘λν μ μλλ‘ μ΅μ νλ ν¨ν€μ§λ‘ λ²λ€ν©λλ€.
Webpack: μ½λ λΆν , μ§μ° λ‘λ© λ° νΈλ¦¬ μμ΄νΉ(μ¬μ©νμ§ μλ μ½λ μ κ±°)κ³Ό κ°μ κ³ κΈ κΈ°λ₯μ κ°μΆ κ³ λλ‘ κ΅¬μ± κ°λ₯ν λͺ¨λ λ²λ€λ¬μ λλ€. Webpackμ μ¬μ©νλ©΄ λͺ¨λμ λ²λ€λ§νκ³ λ‘λνλ λ°©λ²μ μΈλ°νκ² μ μ΄νμ¬ μ΅μ μ μ±λ₯μ μν΄ λ―ΈμΈ μ‘°μ ν μ μμ΅λλ€. νΉν `output.chunkFilename`μ ꡬμ±νκ³ μ΅λ ν¨κ³Όλ₯Ό μν΄ λ€μν `optimization.splitChunks` μ λ΅μ μ€ννμμμ€.
Parcel: μ’ μμ± νμΈ λ° μ΅μ νλ₯Ό μλμΌλ‘ μ²λ¦¬νλ μ λ‘ κ΅¬μ± λ²λ€λ¬μ λλ€. Parcelμ μ΅μνμ ꡬμ±λ§ μνλ κ°λ¨ν νλ‘μ νΈμ μ ν©ν μ΅μ μ λλ€. Parcelμ λμ κ°μ Έμ€κΈ°λ₯Ό μ¬μ©νμ¬ μλμΌλ‘ μ½λ λΆν μ μ§μν©λλ€.
Rollup: μ΅μ νλ λΌμ΄λΈλ¬λ¦¬ λ° μ ν리μΌμ΄μ μ λ§λλ λ° μ€μ μ λ λ²λ€λ¬μ λλ€. Rollupμ νΈλ¦¬ μμ΄νΉ λ° κ³ λλ‘ ν¨μ¨μ μΈ λ²λ€ μμ±μ νμν©λλ€.
μ΄λ¬ν λ²λ€λ¬λ μ’ μμ± νμΈ λ° λ³λ ¬ λ‘λ©μ μλμΌλ‘ μ²λ¦¬νμ¬ μν°ν΄ ν¨κ³Όλ₯Ό μ€μ΄κ³ μ λ°μ μΈ μ±λ₯μ κ°μ ν©λλ€. λν μ½λλ₯Ό μ΅μν, μμΆ λ° νΈλ¦¬ μμ΄νΉνμ¬ μ΅μ νν©λλ€. νμν μμ°μ΄ λͺ μμ μΌλ‘ μμ²λκΈ° μ μ HTTP/2 νΈμλ₯Ό μ¬μ©νμ¬ ν΄λΌμ΄μΈνΈμ λ³΄λΌ μλ μμ΅λλ€.
4. HTTP/2 νΈμ: μ¬μ μλ°©μ 리μμ€ μ 곡
HTTP/2 νΈμλ₯Ό μ¬μ©νλ©΄ μλ²κ° λͺ μμ μΌλ‘ μμ²νκΈ° μ μ 리μμ€λ₯Ό ν΄λΌμ΄μΈνΈμ μ¬μ μλ°©μ μΌλ‘ λ³΄λΌ μ μμ΅λλ€. μ΄λ μ΄κΈ° λ‘λ© νλ‘μΈμ€μμ μ€μν JavaScript λͺ¨λμ λΈλΌμ°μ μ 미리 νΈμνμ¬ μ§μ° μκ°μ μ€μ΄κ³ μΈμ§λ μ±λ₯μ κ°μ νλ λ° μ¬μ©ν μ μμ΅λλ€.
HTTP/2 νΈμλ₯Ό νμ©νλ €λ©΄ μλ²κ° μ΄κΈ° HTML λ¬Έμμ μ’ μμ±μ μΈμνκ³ ν΄λΉ 리μμ€λ₯Ό νΈμνλλ‘ κ΅¬μ±λμ΄μΌ ν©λλ€. μ¬κΈ°μλ μ ν리μΌμ΄μ μ λͺ¨λ μ’ μμ±μ λν μ μ€ν κ³ν λ° λΆμμ΄ νμν©λλ€.
μμ(Apache ꡬμ±):
<IfModule mod_http2.c>
<FilesMatch "index.html">
Header add Link "</js/main.js>;rel=preload;as=script"
Header add Link "</js/moduleA.js>;rel=preload;as=script"
Header add Link "</js/moduleB.js>;rel=preload;as=script"
</FilesMatch>
</IfModule>
μλ²κ° HTTP/2 μ°κ²°μ μ²λ¦¬νλλ‘ κ΅¬μ±λμ΄ μλμ§ νμΈνμμμ€.
5. μ¬μ λ‘λ: λΈλΌμ°μ ννΈ
`<link rel="preload">` νκ·Έλ νμ¬ νμ΄μ§μ νμνκ³ κ°λ₯ν ν 빨리 κ°μ ΈμμΌ νλ 리μμ€μ λν΄ λΈλΌμ°μ μ μ리λ λ©μ»€λμ¦μ μ 곡ν©λλ€. μ΄λ λ λλ§ νλ‘μΈμ€λ₯Ό μ°¨λ¨νμ§ μκ³ λΈλΌμ°μ μ 리μμ€λ₯Ό κ°μ Έμ€λλ‘ μ§μνλ μ μΈμ λ°©λ²μ λλ€.
μμ:
<link rel="preload" href="/js/main.js" as="script">
<link rel="preload" href="/css/styles.css" as="style">
`as` μμ±μ μ¬μ λ‘λλλ 리μμ€ μ νμ μ§μ νμ¬ λΈλΌμ°μ κ° μμ²μ μ°μ μμλ₯Ό μ μ νκ² μ§μ ν μ μλλ‘ ν©λλ€.
6. μ½λ λΆν : λ μμ λ²λ€, λ λΉ λ₯Έ λ‘λ©
μ½λ λΆν μλ μ ν리μΌμ΄μ μ νμμ λ°λΌ λ‘λν μ μλ λ μκ³ λ 립μ μΈ λ²λ€λ‘ λλλ μμ μ΄ ν¬ν¨λ©λλ€. μ΄λ κ² νλ©΄ μ΄κΈ° λ²λ€ ν¬κΈ°λ₯Ό μ€μ΄κ³ μ ν리μΌμ΄μ μ μΈμ§λ μ±λ₯μ κ°μ ν μ μμ΅λλ€.
Webpack, Parcel λ° Rollupμ λͺ¨λ μ½λ λΆν μ λν κΈ°λ³Έ μ 곡 μ§μμ μ 곡ν©λλ€. λμ κ°μ Έμ€κΈ°(μμμ λ Όμ)λ Javascript λ΄μμ μ΄λ₯Ό μννλ ν΅μ¬ λ©μ»€λμ¦μ λλ€.
μ½λ λΆν μ λ΅μλ λ€μμ΄ ν¬ν¨λ©λλ€.
- κ²½λ‘ κΈ°λ° λΆν : μ ν리μΌμ΄μ μ λ€λ₯Έ κ²½λ‘μ λν΄ λ€λ₯Έ λ²λ€μ λ‘λν©λλ€.
- κ΅¬μ± μμ κΈ°λ° λΆν : νμν λλ§ κ°λ³ κ΅¬μ± μμμ λν λ²λ€μ λ‘λν©λλ€.
- 곡κΈμ 체 λΆν : νμ¬ λΌμ΄λΈλ¬λ¦¬λ₯Ό λ 립μ μΌλ‘ μΊμν μ μλ λ³λμ λ²λ€λ‘ λΆλ¦¬ν©λλ€.
μ€μ μμ λ° μ¬λ‘ μ°κ΅¬
λ³λ ¬ λ‘λ© μ΅μ νμ μν₯μ μ€λͺ νκΈ° μν΄ λͺ κ°μ§ μ€μ μλ₯Ό κ³ λ €ν΄ λ³΄κ² μ΅λλ€.
μμ 1: μ μ μκ±°λ μΉμ¬μ΄νΈ
λ§μ μμ μ ν μ΄λ―Έμ§μ JavaScript λͺ¨λμ κ°μ§ μ μ μκ±°λ μΉμ¬μ΄νΈλ μλΉν μν°ν΄ ν¨κ³Όλ‘ μΈν΄ λ‘λ© μλκ° λλ Έμ΅λλ€. μ ν μ΄λ―Έμ§μ μ½λ λΆν λ° μ§μ° λ‘λ©μ ꡬνν¨μΌλ‘μ¨ μΉμ¬μ΄νΈλ μ΄κΈ° λ‘λ μκ°μ 40% λ¨μΆνμ¬ μ¬μ©μ μ°Έμ¬ λ° μ νμ¨μ΄ λμ λκ² κ°μ λμμ΅λλ€.
μμ 2: λ΄μ€ ν¬νΈ
볡μ‘ν νλ‘ νΈμλ μν€ν μ²λ₯Ό κ°μ§ λ΄μ€ ν¬νΈμ λΉν¨μ¨μ μΈ λͺ¨λ λ‘λ©μΌλ‘ μΈν΄ μ±λ₯ μ νλ₯Ό κ²ͺμμ΅λλ€. ES λͺ¨λ λ° HTTP/2 νΈμλ₯Ό νμ©νμ¬ ν¬νΈμ μ€μν JavaScript λͺ¨λμ λ³λ ¬λ‘ λ‘λν μ μμκ³ , κ·Έ κ²°κ³Ό νμ΄μ§ λ‘λ μκ°μ΄ 25% κ°μνκ³ SEO μμκ° κ°μ λμμ΅λλ€.
μμ 3: λ¨μΌ νμ΄μ§ μ ν리μΌμ΄μ (SPA)
λκ·λͺ¨ μ½λλ² μ΄μ€λ₯Ό κ°μ§ λ¨μΌ νμ΄μ§ μ ν리μΌμ΄μ μ μ΄κΈ° λ‘λ© μκ°μ΄ λλ Έμ΅λλ€. κ²½λ‘ κΈ°λ° μ½λ λΆν λ° λμ κ°μ Έμ€κΈ°λ₯Ό ꡬνν¨μΌλ‘μ¨ μ ν리μΌμ΄μ μ νμ¬ κ²½λ‘μ νμν λͺ¨λλ§ λ‘λνμ¬ μ΄κΈ° λ²λ€ ν¬κΈ°λ₯Ό ν¬κ² μ€μ΄κ³ μ¬μ©μ κ²½νμ κ°μ ν μ μμμ΅λλ€. Webpackμ `SplitChunksPlugin`μ μ¬μ©νλ κ²μ΄ μ΄ μλ리μ€μμ νΉν ν¨κ³Όμ μ΄μμ΅λλ€.
JavaScript λͺ¨λ λ‘λ© μ΅μ νλ₯Ό μν λͺ¨λ² μ¬λ‘
JavaScript λͺ¨λ λ‘λ©μ ν¨κ³Όμ μΌλ‘ μ΅μ ννκ³ μν°ν΄μ μ κ±°νλ €λ©΄ λ€μ λͺ¨λ² μ¬λ‘λ₯Ό κ³ λ €νμμμ€.
- λͺ¨λ μ’ μμ± λΆμ: Webpack Bundle Analyzerμ κ°μ λꡬλ₯Ό μ¬μ©νμ¬ λͺ¨λ μ’ μμ±μ μκ°ννκ³ μ μ¬μ μΈ λ³λͺ© νμμ μλ³ν©λλ€.
- μ€μν λͺ¨λ μ°μ μμ μ§μ : μ΄κΈ° λ λλ§μ νμμ μΈ λͺ¨λμ μλ³νκ³ κ°λ₯ν ν 빨리 λ‘λλλλ‘ ν©λλ€.
- μ½λ λΆν ꡬν: μ ν리μΌμ΄μ μ νμμ λ°λΌ λ‘λν μ μλ λ μκ³ λ 립μ μΈ λ²λ€λ‘ λλλλ€.
- λμ κ°μ Έμ€κΈ° μ¬μ©: νμν λλ§ λͺ¨λμ λΉλκΈ°μ μΌλ‘ λ‘λν©λλ€.
- HTTP/2 νΈμ νμ©: μ€μν 리μμ€λ₯Ό λΈλΌμ°μ μ μ¬μ μλ°©μ μΌλ‘ νΈμν©λλ€.
- λΉλ νλ‘μΈμ€ μ΅μ ν: λͺ¨λ λ²λ€λ¬λ₯Ό μ¬μ©νμ¬ μ½λλ₯Ό μ΅μν, μμΆ λ° νΈλ¦¬ μμ΄νΉν©λλ€.
- μ±λ₯ λͺ¨λν°λ§: Google PageSpeed Insights λ° WebPageTestμ κ°μ λꡬλ₯Ό μ¬μ©νμ¬ μΉμ¬μ΄νΈμ μ±λ₯μ μ κΈ°μ μΌλ‘ λͺ¨λν°λ§ν©λλ€.
- CDN κ³ λ €: μ½ν μΈ μ μ‘ λ€νΈμν¬λ₯Ό μ¬μ©νμ¬ μ§λ¦¬μ μΌλ‘ λΆμ°λ μλ²μμ μμ°μ μ 곡νμ¬ μ μΈκ³ μ¬μ©μμ λκΈ° μκ°μ μ€μ λλ€.
- λ€λ₯Έ μ₯μΉ λ° λ€νΈμν¬μμ ν μ€νΈ: λ€μν μ₯μΉ λ° λ€νΈμν¬ νκ²½μμ μΉμ¬μ΄νΈκ° μ μλνλμ§ νμΈν©λλ€.
λꡬ λ° λ¦¬μμ€
JavaScript λͺ¨λ λ‘λ©μ μ΅μ ννλ λ° λμμ΄ λλ λͺ κ°μ§ λꡬμ 리μμ€κ° μμ΅λλ€.
- Webpack Bundle Analyzer: Webpack λ²λ€ μ½ν μΈ λ₯Ό μκ°ννμ¬ λκ·λͺ¨ λͺ¨λ λ° μ μ¬μ μΈ μ΅μ ν κΈ°νλ₯Ό μλ³ν©λλ€.
- Google PageSpeed Insights: μΉμ¬μ΄νΈμ μ±λ₯μ λΆμνκ³ κ°μ κΆμ₯ μ¬νμ μ 곡ν©λλ€.
- WebPageTest: μμΈν μν°ν΄ μ°¨νΈ λ° μ±λ₯ λ©νΈλ¦μ κ°μΆ ν¬κ΄μ μΈ μΉμ¬μ΄νΈ μ±λ₯ ν μ€νΈ λꡬμ λλ€.
- Lighthouse: μΉ νμ΄μ§μ νμ§μ κ°μ νκΈ° μν μ€ν μμ€ μλν λꡬμ λλ€. Chrome DevToolsμμ μ€νν μ μμ΅λλ€.
- CDN 곡κΈμ: Cloudflare, Akamai, Amazon CloudFront, Google Cloud CDN λ±
κ²°λ‘ : λ λΉ λ₯Έ μΉμ μν λ³λ ¬ λ‘λ© μμ©
JavaScript λͺ¨λ λ‘λ©μ μ΅μ ννλ κ²μ λΉ λ₯΄κ³ λ§€λ ₯μ μΈ μ¬μ©μ κ²½νμ μ 곡νλ λ° μ€μν©λλ€. μ΄ κΈ°μ¬μμ μ€λͺ ν λ³λ ¬ λ‘λ© μ λ΅μ μ±ννκ³ λͺ¨λ² μ¬λ‘λ₯Ό ꡬνν¨μΌλ‘μ¨ μν°ν΄ ν¨κ³Όλ₯Ό ν¨κ³Όμ μΌλ‘ μ κ±°νκ³ νμ΄μ§ λ‘λ μκ°μ μ€μ΄λ©° μΉ μ ν리μΌμ΄μ μ μ λ°μ μΈ μ±λ₯μ κ°μ ν μ μμ΅λλ€. λͺ¨λ λ‘λ© μ λ΅μ λν κ²°μ μ λ΄λ¦΄ λ μ¬μ©μ λ§μ‘±λμ λΉμ¦λμ€ κ²°κ³Όμ λν μ₯κΈ°μ μΈ μν₯μ κ³ λ €νμμμ€.
μ¬κΈ°μ λ Όμλ κΈ°μ μ μκ·λͺ¨ μΉμ¬μ΄νΈμμ λκ·λͺ¨ μΉ μ ν리μΌμ΄μ μ μ΄λ₯΄κΈ°κΉμ§ κ΄λ²μν νλ‘μ νΈμ μ μ©ν μ μμ΅λλ€. μ±λ₯μ μ°μ μνκ³ λͺ¨λ λ‘λ© μ΅μ νμ λν μ¬μ μλ°©μ μ κ·Ό λ°©μμ μ±νν¨μΌλ‘μ¨ λͺ¨λ μ¬λμ μν΄ λ λΉ λ₯΄κ³ , λ λ°μμ μ΄λ©°, λ μ¦κ±°μ΄ μΉμ λ§λ€ μ μμ΅λλ€.
μ ν리μΌμ΄μ μ΄ λ°μ νκ³ μλ‘μ΄ κΈ°μ μ΄ λ±μ₯ν¨μ λ°λΌ μ΅μ ν μ λ΅μ μ§μμ μΌλ‘ λͺ¨λν°λ§νκ³ κ°μ νλ κ²μ μμ§ λ§μμμ€. μΉ μ±λ₯μ μΆκ΅¬νλ κ²μ μ§μμ μΈ μ¬μ μ΄λ©° κ·Έ 보μμ λ Έλ ₯ν κ°μΉκ° μμ΅λλ€.