μλ°μ€ν¬λ¦½νΈμ λΉλκΈ° 리μμ€ λ‘λ©μ μν λ³λ ¬ μν¬νΈμ λν μ¬μΈ΅ λΆμμΌλ‘, λͺ¨λ² μ¬λ‘, μ΅μ ν κΈ°λ², μ€μ μμ λ₯Ό ν΅ν΄ λ λΉ λ₯Έ μΉ μ ν리μΌμ΄μ μ±λ₯μ λ¬μ±νλ λ°©λ²μ λ€λ£Ήλλ€.
μλ°μ€ν¬λ¦½νΈ λΉλκΈ° 리μμ€ λ‘λ©: μ΅μ νλ μ±λ₯μ μν λ³λ ¬ μν¬νΈ λ§μ€ν°νκΈ°
μ€λλ λΉ λ₯΄κ² λ³ννλ μΉ νκ²½μμ μνν μ¬μ©μ κ²½νμ μ 곡νλ κ²μ κ°μ₯ μ€μν©λλ€. μ΄λ₯Ό λ¬μ±νκΈ° μν ν΅μ¬μ μΈ μΈ‘λ©΄ μ€ νλλ μλ°μ€ν¬λ¦½νΈ μ½λμ λ‘λ© λ°©μμ μ΅μ ννλ κ²μ λλ€. λΉλκΈ° 리μμ€ λ‘λ©, νΉν λ³λ ¬ μν¬νΈλ₯Ό ν΅ν λ°©μμ μΉμ¬μ΄νΈ μ±λ₯μ ν¬κ² ν₯μμν€λ κ°λ ₯ν κΈ°μ μ λλ€. μ΄ κ°μ΄λμμλ λ³λ ¬ μν¬νΈμ κ°λ μ νꡬνκ³ , μλ λ°©μμ 보μ¬μ£Όλ©°, ꡬνμ μν μ€μ©μ μΈ μ λ΅μ μ 곡ν©λλ€.
λΉλκΈ° 리μμ€ λ‘λ©μ μ΄ν΄
μ ν΅μ μΈ λκΈ° λ‘λ© λ°©μμ λΈλΌμ°μ κ° μ€ν¬λ¦½νΈλ₯Ό μμ ν λ€μ΄λ‘λνκ³ μ€νν λκΉμ§ νμ±κ³Ό λ λλ§μ μ€λ¨μν΅λλ€. μ΄λ νΉν λμ©λ μλ°μ€ν¬λ¦½νΈ νμΌμ κ²½μ° μλΉν μ§μ°μ μ΄λν μ μμ΅λλ€. λ°λ©΄μ λΉλκΈ° λ‘λ©μ μ€ν¬λ¦½νΈκ° λ°±κ·ΈλΌμ΄λμμ λ‘λλλ λμ λΈλΌμ°μ κ° νμ΄μ§μ λ€λ₯Έ λΆλΆμ κ³μ μ²λ¦¬ν μ μλλ‘ ν©λλ€. μ΄λ μ²΄κ° μ±λ₯μ κ·Ήμ μΌλ‘ ν₯μμν€κ³ μ΄κΈ° λ‘λ© μκ°μ μ€μ¬μ€λλ€.
λΉλκΈ° λ‘λ©μ μ΄μ :
- ν₯μλ μ²΄κ° μ±λ₯: μ¬μ©μλ λΈλΌμ°μ κ° μ€ν¬λ¦½νΈ λ€μ΄λ‘λλ‘ μΈν΄ μ°¨λ¨λμ§ μμΌλ―λ‘ λ λΉ λ₯Έ μ΄κΈ° λ‘λ©μ κ²½νν©λλ€.
- ν₯μλ μ¬μ©μ κ²½ν: λ¨μΆλ λ‘λ© μκ°μ λ λΆλλ½κ³ λ°μμ±μ΄ λ°μ΄λ μ¬μ©μ μΈν°νμ΄μ€λ‘ μ΄μ΄μ§λλ€.
- λ λμ SEO: κ²μ μμ§μ λ‘λ© μλκ° λΉ λ₯Έ μΉμ¬μ΄νΈλ₯Ό μ νΈνλ―λ‘ κ²μ μμκ° ν₯μλ μ μμ΅λλ€.
- 리μμ€ μλΉ κ°μ: νμν λλ§ νμν μ½λλ₯Ό λ‘λνμ¬ λΆνμν μ€λ²ν€λλ₯Ό μ΅μνν©λλ€.
λ³λ ¬ μν¬νΈ μκ°
λ³λ ¬ μν¬νΈλ μ¬λ¬ μ€ν¬λ¦½νΈλ₯Ό λμμ κ°μ Έμ¬ μ μλλ‘ νμ¬ λΉλκΈ° λ‘λ©μ ν λ¨κ³ λ λ°μ μν΅λλ€. λΈλΌμ°μ λ λ€μ μ€ν¬λ¦½νΈλ₯Ό μμνκΈ° μ μ νλμ μ€ν¬λ¦½νΈκ° λ€μ΄λ‘λλκ³ μ€νλκΈ°λ₯Ό κΈ°λ€λ¦¬λ λμ μ¬λ¬ 리μμ€λ₯Ό λμμ μμ²ν μ μμ΅λλ€. μ΄λ¬ν λ³λ ¬νλ νμν λͺ¨λ μλ°μ€ν¬λ¦½νΈ μ½λλ₯Ό λ‘λνλ λ° νμν μ 체 μκ°μ ν¬κ² μ€μ¬μ€λλ€.
ν΅μ¬ κ°λ :
- λμ μν¬νΈ(Dynamic Imports): ES2020μ λμ
λ λμ μν¬νΈλ
import()ꡬ문μ μ¬μ©νμ¬ λͺ¨λμ λΉλκΈ°μ μΌλ‘ λ‘λν μ μκ² ν΄μ€λλ€. μ΄λ λ³λ ¬ λ‘λ©μ κ°λ₯νκ² νλ ν΅μ¬ μμμ λλ€. - νλ‘λ―Έμ€(Promises): λμ μν¬νΈλ νλ‘λ―Έμ€λ₯Ό λ°ννλ―λ‘ λ‘λ© νλ‘μΈμ€μ λΉλκΈ°μ νΉμ±μ μ½κ² μ²λ¦¬ν μ μμ΅λλ€.
async/awaitλλ.then()/.catch()λ₯Ό μ¬μ©νμ¬ κ²°κ³Όλ₯Ό κ΄λ¦¬ν μ μμ΅λλ€. - μ½λ μ€ν리ν (Code Splitting): λ³λ ¬ μν¬νΈλ μ½λ μ€ν리ν κ³Ό κ²°ν©λ λ κ°μ₯ ν¨κ³Όμ μ λλ€. μ΄λ μ ν리μΌμ΄μ μ νμμ λ°λΌ λ‘λν μ μλ λ μκ³ λ 립μ μΈ λͺ¨λλ‘ λλλ κ²μ ν¬ν¨ν©λλ€.
λ³λ ¬ μν¬νΈ ꡬννκΈ°
λ€μμ μλ°μ€ν¬λ¦½νΈ μ½λμμ λ³λ ¬ μν¬νΈλ₯Ό ꡬννλ λ°©λ²μ λλ€:
μμ 1: κΈ°λ³Έ λ³λ ¬ μν¬νΈ
async function loadModules() {
try {
const [moduleA, moduleB, moduleC] = await Promise.all([
import('./moduleA.js'),
import('./moduleB.js'),
import('./moduleC.js')
]);
// Use the imported modules
moduleA.init();
moduleB.render();
moduleC.calculate();
} catch (error) {
console.error('Error loading modules:', error);
}
}
loadModules();
μ€λͺ :
loadModulesν¨μλasyncλ‘ μ μΈλμ΄awaitλ₯Ό μ¬μ©ν μ μμ΅λλ€.Promise.all()μ νλ‘λ―Έμ€ λ°°μ΄(import()νΈμΆμ μν΄ λ°νλ¨)μ μΈμλ‘ λ°μ λͺ¨λ νλ‘λ―Έμ€κ° ν΄κ²°λ λκΉμ§ κΈ°λ€λ¦½λλ€.- κ²°κ³Όλ κ°μ Έμ¨ λͺ¨λμ ν¬ν¨νλ λ°°μ΄μ΄λ©°, μ΄λ₯Ό
moduleA,moduleB,moduleCλ‘ κ΅¬μ‘° λΆν΄ν©λλ€. - κ·Έλ° λ€μ νμμ λ°λΌ κ°μ Έμ¨ λͺ¨λμ μ¬μ©ν©λλ€.
try...catchλΈλ‘μ λ‘λ© κ³Όμ μμ λ°μν μ μλ μ μ¬μ μ€λ₯λ₯Ό μ²λ¦¬νλ λ° μ¬μ©λ©λλ€.
μμ 2: μ€λ₯ μ²λ¦¬λ₯Ό ν¬ν¨ν λ³λ ¬ μν¬νΈ
async function loadModules() {
const modulePromises = [
import('./moduleX.js').catch(error => {
console.error('Failed to load moduleX:', error);
return null; // Or a default module, or throw an error
}),
import('./moduleY.js').catch(error => {
console.error('Failed to load moduleY:', error);
return null;
}),
import('./moduleZ.js').catch(error => {
console.error('Failed to load moduleZ:', error);
return null;
})
];
try {
const [moduleX, moduleY, moduleZ] = await Promise.all(modulePromises);
if (moduleX) { moduleX.run(); }
if (moduleY) { moduleY.display(); }
if (moduleZ) { moduleZ.process(); }
} catch (error) {
console.error('Error loading modules:', error);
}
}
loadModules();
μ€λͺ :
- μ΄ μμ λ λ³λ ¬ λ‘λ© μ€ κ°λ³ λͺ¨λμ λν μ€λ₯λ₯Ό μ²λ¦¬νλ λ°©λ²μ 보μ¬μ€λλ€.
- κ°
import()νΈμΆμ μ μ¬μ μΈ μ€λ₯λ₯Ό μ²λ¦¬νκΈ° μν΄.catch()λΈλ‘μΌλ‘ κ°μΈμ Έ μμ΅λλ€. - λͺ¨λ λ‘λμ μ€ν¨νλ©΄
.catch()λΈλ‘μ μ€λ₯λ₯Ό κΈ°λ‘νκ³nullμ λ°νν©λλ€(λλ μ μ ν κ²½μ° κΈ°λ³Έ λͺ¨λμ λ°ν). μ΄λPromise.all()μ΄ κ±°λΆλλ κ²μ λ°©μ§νκ³ λ€λ₯Έ λͺ¨λμ΄ μ±κ³΅μ μΌλ‘ λ‘λλλλ‘ ν©λλ€. Promise.all()μ΄ ν΄κ²°λ ν, κ° λͺ¨λμ μ¬μ©νκΈ° μ μ μ μλμλμ§(nullμ΄ μλμ§) νμΈν©λλ€.
μμ 3: μ‘°κ±΄λΆ λ³λ ¬ μν¬νΈ
async function loadFeature(featureName) {
let modulePromise;
switch (featureName) {
case 'analytics':
modulePromise = import('./analytics.js');
break;
case 'chat':
modulePromise = import('./chat.js');
break;
case 'recommendations':
modulePromise = import('./recommendations.js');
break;
default:
console.warn('Unknown feature:', featureName);
return;
}
try {
const module = await modulePromise;
module.initialize();
} catch (error) {
console.error(`Failed to load feature ${featureName}:`, error);
}
}
// Load analytics and recommendations in parallel
Promise.all([
loadFeature('analytics'),
loadFeature('recommendations')
]);
μ€λͺ :
- μ΄ μμ λ κΈ°λ₯ μ΄λ¦μ λ°λΌ λͺ¨λμ 쑰건λΆλ‘ λ‘λνλ λ°©λ²μ 보μ¬μ€λλ€.
loadFeatureν¨μλfeatureNameμ μ λ ₯μΌλ‘ λ°μ ν΄λΉ λͺ¨λμ λμ μΌλ‘ κ°μ Έμ΅λλ€.switchλ¬Έμ μ΄λ€ λͺ¨λμ λ‘λν μ§ κ²°μ νλ λ° μ¬μ©λ©λλ€.Promise.allν¨μλ 'analytics'μ 'recommendations'μ λν΄ `loadFeature`λ₯Ό νΈμΆνμ¬ ν¨κ³Όμ μΌλ‘ λ³λ ¬ λ‘λν©λλ€.
λ³λ ¬ μν¬νΈλ₯Ό μν λͺ¨λ² μ¬λ‘
λ³λ ¬ μν¬νΈμ μ΄μ μ κ·Ήλννλ €λ©΄ λ€μ λͺ¨λ² μ¬λ‘λ₯Ό κ³ λ €νμμμ€:
- μ½λ μ€ν리ν (Code Splitting): μ ν리μΌμ΄μ μ κΈ°λ₯μ΄λ λΌμ°νΈλ₯Ό κΈ°μ€μΌλ‘ λ μκ³ λ 립μ μΈ λͺ¨λλ‘ λλλλ€. μ΄λ₯Ό ν΅ν΄ νΉμ μμ μ΄λ νμ΄μ§μ νμν μ½λλ§ λ‘λν μ μμ΅λλ€. Webpack, Parcel, Rollupκ³Ό κ°μ λꡬλ μ½λ μ€ν리ν μ μλνν μ μμ΅λλ€.
- μ€μ 리μμ€ μ°μ μμ μ§μ : λ μ€μν 리μμ€λ³΄λ€ νμμ μΈ λ¦¬μμ€(μ: ν΅μ¬ μ»΄ν¬λνΈ, μ΄κΈ° λ λλ§ λ‘μ§)λ₯Ό λ¨Όμ λ‘λν©λλ€. ν리λ‘λ©(preloading) λ° ν리νμΉ(prefetching)κ³Ό κ°μ κΈ°μ μ μ¬μ©νμ¬ λ¦¬μμ€ λ‘λ©μ μ΅μ νν μ μμ΅λλ€.
- μ°μν μ€λ₯ μ²λ¦¬: ν λͺ¨λμ μ€ν¨κ° μ 체 μ ν리μΌμ΄μ
μ μ€λ¨μν€μ§ μλλ‘ κ°λ ₯ν μ€λ₯ μ²λ¦¬ κΈ°λ₯μ ꡬνν©λλ€.
try...catchλΈλ‘μ μ¬μ©νκ³ ν΄λ°± λ©μ»€λμ¦μ μ 곡νμμμ€. - λͺ¨λ ν¬κΈ° μ΅μ ν: μ¬μ©νμ§ μλ μ½λλ₯Ό μ κ±°νκ³ , μμ°μ μμΆνκ³ , ν¨μ¨μ μΈ μκ³ λ¦¬μ¦μ μ¬μ©νμ¬ λͺ¨λμ ν¬κΈ°λ₯Ό μ΅μνν©λλ€. Terser λ° Babelκ³Ό κ°μ λκ΅¬κ° μ½λ μ΅μ νμ λμμ΄ λ μ μμ΅λλ€.
- μ±λ₯ λͺ¨λν°λ§: λΈλΌμ°μ κ°λ°μ λꡬλ μ±λ₯ λͺ¨λν°λ§ μλΉμ€λ₯Ό μ¬μ©νμ¬ λ³λ ¬ μν¬νΈκ° μΉμ¬μ΄νΈ μ±λ₯μ λ―ΈμΉλ μν₯μ μΆμ ν©λλ€. μνΈμμ©κΉμ§μ μκ°(TTI) λ° μ²« λ²μ§Έ μ½ν μΈ ν νμΈνΈ(FCP)μ κ°μ λ©νΈλ¦μ μ£Όμλ₯Ό κΈ°μΈμ΄μμμ€.
- μμ‘΄μ± κ·Έλν κ³ λ €: λͺ¨λ κ°μ μμ‘΄μ±μ μΌλμ λμμμ€. μλ‘ μμ‘΄νλ λͺ¨λμ λ³λ ¬λ‘ λ‘λνλ©΄ μ¬μ ν μ§μ°μ΄ λ°μν μ μμ΅λλ€. μμ‘΄μ±μ΄ μ¬λ°λ₯΄κ² ν΄κ²°λκ³ νμν κ²½μ° λͺ¨λμ΄ μ μ ν μμλ‘ λ‘λλλλ‘ νμμμ€.
μ€μ μ μ© μ¬λ‘
λ³λ ¬ μν¬νΈκ° μ±λ₯μ ν¬κ² ν₯μμν¬ μ μλ λͺ κ°μ§ μ€μ μλ리μ€λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€:
- μ μμκ±°λ μΉμ¬μ΄νΈ: μ¬μ©μκ° μ ν νμ΄μ§λ‘ μ΄λν λ μ ν μΈλΆ μ 보, 리뷰, κ΄λ ¨ μ νμ λ³λ ¬λ‘ λ‘λν©λλ€. μ΄λ μ 체 μ ν μ 보λ₯Ό νμνλ λ° κ±Έλ¦¬λ μκ°μ ν¬κ² μ€μΌ μ μμ΅λλ€.
- μμ λ―Έλμ΄ νλ«νΌ: μ¬μ©μ νλ‘νμ λ€λ₯Έ μΉμ (μ: κ²μλ¬Ό, μΉκ΅¬, μ¬μ§)μ λ³λ ¬λ‘ λ‘λν©λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μλ μ 체 νλ‘νμ΄ λ‘λλ λκΉμ§ κΈ°λ€λ¦¬μ§ μκ³ κ΄μ¬ μλ μ½ν μΈ μ λΉ λ₯΄κ² μ‘μΈμ€ν μ μμ΅λλ€.
- λ΄μ€ μΉμ¬μ΄νΈ: κΈ°μ¬, λκΈ, κ΄λ ¨ κΈ°μ¬λ₯Ό λ³λ ¬λ‘ λ‘λν©λλ€. μ΄λ λΈλΌμ°μ§ κ²½νμ ν₯μμν€κ³ μ¬μ©μμ μ°Έμ¬λ₯Ό μ μ§ν©λλ€.
- λμ보λ μ ν리μΌμ΄μ : λμ보λμμ λ€λ₯Έ μμ ―μ΄λ μ°¨νΈλ₯Ό λ³λ ¬λ‘ λ‘λν©λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μλ λ°μ΄ν° κ°μλ₯Ό λΉ λ₯΄κ² λ³Ό μ μμ΅λλ€. μλ₯Ό λ€μ΄, κΈμ΅ λμ보λλ μ£Όκ°, ν¬νΈν΄λ¦¬μ€ μμ½, λ΄μ€ νΌλλ₯Ό λμμ λ‘λν μ μμ΅λλ€.
λꡬ λ° λΌμ΄λΈλ¬λ¦¬
λͺ κ°μ§ λꡬμ λΌμ΄λΈλ¬λ¦¬κ° λ³λ ¬ μν¬νΈλ₯Ό ꡬννκ³ μλ°μ€ν¬λ¦½νΈ μ½λλ₯Ό μ΅μ ννλ λ° λμμ΄ λ μ μμ΅λλ€:
- Webpack: μ½λ μ€ν리ν λ° λμ μν¬νΈλ₯Ό κΈ°λ³Έμ μΌλ‘ μ§μνλ κ°λ ₯ν λͺ¨λ λ²λ€λ¬μ λλ€.
- Parcel: μ½λ μ€ν리ν λ° λ³λ ¬ λ‘λ©μ μλμΌλ‘ μ²λ¦¬νλ μ λ‘ κ΅¬μ± λ²λ€λ¬μ λλ€.
- Rollup: λ μκ³ ν¨μ¨μ μΈ λ²λ€μ λ§λλ λ° μ€μ μ λ λͺ¨λ λ²λ€λ¬μ λλ€.
- Babel: μ€λλ λΈλΌμ°μ μμλ λμ μν¬νΈλ₯Ό ν¬ν¨ν μ΅μ μλ°μ€ν¬λ¦½νΈ κΈ°λ₯μ μ¬μ©ν μ μκ² ν΄μ£Όλ μλ°μ€ν¬λ¦½νΈ μ»΄νμΌλ¬μ λλ€.
- Terser: μλ°μ€ν¬λ¦½νΈ νμ, λλ νκΈ° λ° μμΆκΈ° ν΄ν·μ λλ€.
μ μ¬μ λ¬Έμ ν΄κ²°
λ³λ ¬ μν¬νΈλ μλΉν μ΄μ μ μ 곡νμ§λ§, μ μ¬μ μΈ λ¬Έμ μ μ μΈμ§νλ κ²μ΄ μ€μν©λλ€:
- λΈλΌμ°μ νΈνμ±: λμ λΈλΌμ°μ κ° λμ μν¬νΈλ₯Ό μ§μνλμ§ νμΈνμμμ€. Babel λλ μ μ¬ν λꡬλ₯Ό μ¬μ©νμ¬ μ€λλ λΈλΌμ°μ λ₯Ό μν΄ μ½λλ₯Ό νΈλμ€νμΌνμμμ€.
- λ€νΈμν¬ νΌμ‘: λ무 λ§μ 리μμ€λ₯Ό λ³λ ¬λ‘ λ‘λνλ©΄ λ€νΈμν¬ νΌμ‘μ μ λ°νκ³ μ λ°μ μΈ μ±λ₯μ μ νμν¬ μ μμ΅λλ€. μ΄ λ¬Έμ λ₯Ό μννκΈ° μν΄ μμ²μ μ‘°μ νκ±°λ μ€μν 리μμ€μ μ°μ μμλ₯Ό μ§μ νμμμ€. μ½ν μΈ μ μ‘ λ€νΈμν¬(CDN)λ₯Ό μ¬μ©νμ¬ μ μΈκ³μ μΌλ‘ 리μμ€ μ λ¬ μλλ₯Ό ν₯μμν€λ κ²μ κ³ λ €νμμμ€. CDNμ μΉμ¬μ΄νΈ μμ°μ 볡μ¬λ³Έμ μ μΈκ³ μλ²μ μ μ₯νλ―λ‘ μ¬μ©μλ μ§λ¦¬μ μΌλ‘ κ°κΉμ΄ μλ²μμ λ€μ΄λ‘λν μ μμ΅λλ€.
- μμ‘΄μ± κ΄λ¦¬: μν μμ‘΄μ±μ νΌνκ³ λͺ¨λμ΄ μ¬λ°λ₯Έ μμλ‘ λ‘λλλλ‘ λͺ¨λ κ°μ μμ‘΄μ±μ μ μ€νκ² κ΄λ¦¬νμμμ€.
- ν μ€νΈ λ° λλ²κΉ : λ³λ ¬ μν¬νΈκ° μ¬λ°λ₯΄κ² μλνκ³ μ€λ₯κ° μ°μνκ² μ²λ¦¬λλμ§ νμΈνκΈ° μν΄ μ½λλ₯Ό μ² μ ν ν μ€νΈνμμμ€. λΈλΌμ°μ κ°λ°μ λꡬ λ° λλ²κΉ λꡬλ₯Ό μ¬μ©νμ¬ λ¬Έμ λ₯Ό μλ³νκ³ ν΄κ²°νμμμ€.
κΈλ‘λ² κ³ λ € μ¬ν
μ μΈκ³ μ¬μ©μλ₯Ό λμμΌλ‘ λ³λ ¬ μν¬νΈλ₯Ό ꡬνν λλ λ€μ μμλ₯Ό κ³ λ €νμμμ€:
- λ€μν λ€νΈμν¬ μλ: μΈκ³ κ°μ§μ μ¬μ©μλ λ€νΈμν¬ μλκ° λ€λ₯Ό μ μμ΅λλ€. λλ¦° μ°κ²°μμλ μΉμ¬μ΄νΈκ° μ μλνλλ‘ μ½λμ 리μμ€λ₯Ό μ΅μ ννμμμ€. λ€νΈμν¬ μνμ λ°λΌ λ³λ ¬ μμ² μλ₯Ό μ‘°μ νλ μ μν λ‘λ© κΈ°μ μ ꡬννλ κ²μ κ³ λ €νμμμ€.
- μ§λ¦¬μ μμΉ: μ½ν μΈ μ μ‘ λ€νΈμν¬(CDN)λ₯Ό μ¬μ©νμ¬ μ¬μ©μμ μ§λ¦¬μ μΌλ‘ κ°κΉμ΄ μλ²μμ 리μμ€λ₯Ό μ 곡νμμμ€.
- μΈμ΄ λ° νμ§ν: μΈμ΄λ³ 리μμ€λ₯Ό λ³λ ¬λ‘ λ‘λνμ¬ λ€λ₯Έ μ§μ μ¬μ©μμ λ‘λ© μκ°μ κ°μ νμμμ€.
- ν΅ν λ° μ§μ μ€μ : ν΅ν λ³ν, λ μ§ νμ λ° κΈ°ν μ§μ μ€μ μ μ²λ¦¬νλ μ§μλ³ λͺ¨λμ λ‘λνλ κ²μ κ³ λ €νμμμ€. μ΄λ¬ν λͺ¨λμ λ€λ₯Έ 리μμ€μ λ³λ ¬λ‘ λ‘λν μ μμ΅λλ€.
κ²°λ‘
λ³λ ¬ μν¬νΈλ μλ°μ€ν¬λ¦½νΈ 리μμ€ λ‘λ©μ μ΅μ ννκ³ μΉμ¬μ΄νΈ μ±λ₯μ ν₯μμν€λ κ°λ ₯ν κΈ°μ μ λλ€. μ¬λ¬ λͺ¨λμ λμμ λ‘λν¨μΌλ‘μ¨ λ‘λ© μκ°μ ν¬κ² μ€μ΄κ³ μ¬μ©μ κ²½νμ ν₯μμν¬ μ μμ΅λλ€. λ³λ ¬ μν¬νΈλ₯Ό μ½λ μ€ν리ν , μ€λ₯ μ²λ¦¬ λ° μ±λ₯ λͺ¨λν°λ§κ³Ό κ²°ν©νμ¬ μ μΈκ³ μ¬μ©μμκ² μννκ³ λ°μμ±μ΄ λ°μ΄λ μΉ μ ν리μΌμ΄μ μ μ 곡ν μ μμ΅λλ€. μ΄ κΈ°μ μ μ±ννμ¬ μΉ μ ν리μΌμ΄μ μ μ μ¬λ ₯μ μ΅λν λ°ννκ³ μ°μν μ¬μ©μ κ²½νμ μ 곡νμμμ€.
μ΄ κ°μ΄λλ μλ°μ€ν¬λ¦½νΈμ λ³λ ¬ μν¬νΈμ λν ν¬κ΄μ μΈ κ°μλ₯Ό μ 곡νμ΅λλ€. λͺ¨λ² μ¬λ‘λ₯Ό λ°λ₯΄κ³ μ μ¬μ μΈ λ¬Έμ λ₯Ό ν΄κ²°ν¨μΌλ‘μ¨ μ΄ κΈ°μ μ ν¨κ³Όμ μΌλ‘ νμ©νμ¬ μΉμ¬μ΄νΈ μ±λ₯μ κ°μ νκ³ μ μΈκ³ μ¬μ©μμκ² λ λμ μ¬μ©μ κ²½νμ μ 곡ν μ μμ΅λλ€.