ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã®èªã¿èŸŒã¿æéãæ¹åãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããããã®æ§ã ãªJavaScriptã¢ãžã¥ãŒã«ããªããŒãæè¡ãæ¢ããŸãã<link rel="preload">ã<link rel="modulepreload">ãåçã€ã³ããŒããªã©ã«ã€ããŠåŠã³ãŸãããã
JavaScriptã¢ãžã¥ãŒã«ã®ããªããŒãæŠç¥ïŒãŠã§ãã¢ããªã±ãŒã·ã§ã³ã®èªã¿èŸŒã¿ãæé©åãã
仿¥ã®ãŠã§ãéçºã®äžçã§ã¯ãé«éã§å¿çæ§ã®é«ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããããšãæãéèŠã§ãããŠã§ãã¢ããªã±ãŒã·ã§ã³ãè€éåããã«ã€ããŠãJavaScriptã®èªã¿èŸŒã¿ã管çãæé©åããããšããŸããŸãéèŠã«ãªããŸããã¢ãžã¥ãŒã«ã®ããªããŒãæè¡ã¯ãèªã¿èŸŒã¿æéãå€§å¹ ã«æ¹åãããŠãŒã¶ãŒãšã³ã²ãŒãžã¡ã³ããé«ããããã®åŒ·åãªæŠç¥ãæäŸããŸãããã®èšäºã§ã¯ãæ§ã ãªJavaScriptã¢ãžã¥ãŒã«ããªããŒãææ³ãæ¢ããå®çšçãªäŸãšå®è·µçãªæŽå¯ãæäŸããŸãã
JavaScriptã¢ãžã¥ãŒã«ãšèªã¿èŸŒã¿ã®èª²é¡ãçè§£ãã
JavaScriptã¢ãžã¥ãŒã«ã䜿çšãããšãéçºè ã¯ã³ãŒããåå©çšå¯èœã§ç®¡çããããåäœã«æŽçã§ããŸããäžè¬çãªã¢ãžã¥ãŒã«åœ¢åŒã«ã¯ãESã¢ãžã¥ãŒã«ïŒESMïŒãCommonJSãªã©ããããŸããã¢ãžã¥ãŒã«ã¯ã³ãŒãã®æŽçãšä¿å®æ§ãä¿é²ããŸãããç¹ã«å€§èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ã§ã¯èªã¿èŸŒã¿ã®èª²é¡ãåŒãèµ·ããå¯èœæ§ããããŸãããã©ãŠã¶ã¯ãã¢ããªã±ãŒã·ã§ã³ãå®å šã«ã€ã³ã¿ã©ã¯ãã£ãã«ãªãåã«ãåã¢ãžã¥ãŒã«ããã§ãããè§£æãå®è¡ããå¿ èŠããããŸãã
åŸæ¥ã®ã¹ã¯ãªããèªã¿èŸŒã¿ã¯ãç¹ã«å€æ°ã®ã¢ãžã¥ãŒã«ãæ±ãå Žåã«ããã«ããã¯ã«ãªãå¯èœæ§ããããŸãããã©ãŠã¶ã¯éåžžãã¹ã¯ãªãããé æ¬¡çºèŠãããããã¬ã³ããªã³ã°ãã€ã³ã¿ã©ã¯ãã£ããã£ã«é å»¶ãçããŸããã¢ãžã¥ãŒã«ã®ããªããŒãæè¡ã¯ãå°æ¥å¿ èŠã«ãªãéèŠãªã¢ãžã¥ãŒã«ããã©ãŠã¶ã«ç¥ãããäºåã«ãã§ãããããããšã§ããããã®èª²é¡ã«å¯ŸåŠããããšãç®çãšããŠããŸãã
ã¢ãžã¥ãŒã«ããªããŒãã®å©ç¹
ã¢ãžã¥ãŒã«ããªããŒãæŠç¥ãå®è£ ããããšã«ã¯ãããã€ãã®éèŠãªå©ç¹ããããŸãïŒ
- èªã¿èŸŒã¿æéã®ççž®ïŒ ã¢ãžã¥ãŒã«ãäºåã«ãã§ããããããšã§ãããªããŒãã¯ãã©ãŠã¶ãã¢ããªã±ãŒã·ã§ã³ãã¬ã³ããªã³ã°ããŠå¯Ÿè©±ãããŸã§ã«ãããæéãççž®ããŸãã
- ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®åäžïŒ èªã¿èŸŒã¿æéãéããšãããã¹ã ãŒãºã§å¿çæ§ã®é«ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«ã€ãªããããŠãŒã¶ãŒæºè¶³åºŠãåäžããŸãã
- ååãã€ã³ãã®é å»¶åæžïŒ éèŠãªã¢ãžã¥ãŒã«ãããªããŒãããããšã§ãæåã®ã³ã³ãã³ããç»é¢ã«è¡šç€ºããããŸã§ã®æéãæå°éã«æããããšãã§ããŸãã
- ãªãœãŒã¹å©çšã®æé©åïŒ ããªããŒãã«ããããã©ãŠã¶ã¯éèŠãªã¢ãžã¥ãŒã«ã®ãã§ãããåªå ã§ããå šäœçãªãªãœãŒã¹å©çšãæ¹åãããŸãã
ã¢ãžã¥ãŒã«ããªããŒãæè¡
JavaScriptã¢ãžã¥ãŒã«ãããªããŒãããããã«ãããã€ãã®æè¡ãå©çšã§ããŸããåæ¹æ³ã«ã¯ããããå©ç¹ãšèæ ®äºé ããããŸãã
1. <link rel="preload">
<link rel="preload">èŠçŽ ã¯ãã¬ã³ããªã³ã°ããã»ã¹ããããã¯ããããšãªããã§ããã ãæ©ããªãœãŒã¹ããã§ããããããã«ãã©ãŠã¶ã«æç€ºãã宣èšçãªHTMLã¿ã°ã§ããããã¯ãJavaScriptã¢ãžã¥ãŒã«ãå«ãæ§ã
ãªã¿ã€ãã®ã¢ã»ãããããªããŒãããããã®åŒ·åãªã¡ã«ããºã ã§ãã
äŸïŒ
<link rel="preload">ã䜿çšããŠJavaScriptã¢ãžã¥ãŒã«ãããªããŒãããã«ã¯ãHTMLããã¥ã¡ã³ãã®<head>ã»ã¯ã·ã§ã³å
ã«æ¬¡ã®ã¿ã°ã远å ããŸãïŒ
<link rel="preload" href="./modules/my-module.js" as="script">
説æïŒ
hrefïŒããªããŒãããJavaScriptã¢ãžã¥ãŒã«ã®URLãæå®ããŸããas="script"ïŒããªããŒãããããªãœãŒã¹ãJavaScriptã¹ã¯ãªããã§ããããšã瀺ããŸããããã¯ããã©ãŠã¶ããªãœãŒã¹ãæ£ããåŠçããããã«éèŠã§ãã
ãã¹ããã©ã¯ãã£ã¹ïŒ
as屿§ãæå®ããïŒ ãã©ãŠã¶ã«ãªãœãŒã¹ã¿ã€ããç¥ãããããã«ãåžžã«as屿§ãå«ããŠãã ããã- ããªããŒãã
<head>ã«é 眮ããïŒ ããªããŒãã<head>ã«é 眮ããããšã§ãèªã¿èŸŒã¿ããã»ã¹ã®æ©ã段éã§çºèŠãããããšãä¿èšŒãããŸãã - 培åºçã«ãã¹ãããïŒ ããªããŒããå®éã«ããã©ãŒãã³ã¹ãåäžãããŠãããäºæãã¬åé¡ãåŒãèµ·ãããŠããªãããšã確èªããŠãã ããããã©ãŠã¶ã®éçºè ããŒã«ã䜿çšããŠãèªã¿èŸŒã¿æéãšãªãœãŒã¹å©çšãåæããŸãã
2. <link rel="modulepreload">
<link rel="modulepreload">èŠçŽ ã¯ãESã¢ãžã¥ãŒã«ãããªããŒãããããã«ç¹å¥ã«èšèšãããŠããŸããããã«ã¯<link rel="preload" as="script">ã«æ¯ã¹ãŠããã€ãã®å©ç¹ããããŸããããšãã°ïŒ
- æ£ããã¢ãžã¥ãŒã«ã³ã³ããã¹ãïŒ ã¢ãžã¥ãŒã«ãæ£ããã¢ãžã¥ãŒã«ã³ã³ããã¹ãã§èªã¿èŸŒãŸããããšãä¿èšŒããæœåšçãªãšã©ãŒãåé¿ããŸãã
- äŸåé¢ä¿è§£æ±ºã®æ¹åïŒ ãã©ãŠã¶ãã¢ãžã¥ãŒã«ã®äŸåé¢ä¿ãããå¹ççã«è§£æ±ºããã®ãå©ããŸãã
äŸïŒ
<link rel="modulepreload" href="./modules/my-module.js">
説æïŒ
hrefïŒããªããŒãããESã¢ãžã¥ãŒã«ã®URLãæå®ããŸãã
ãã¹ããã©ã¯ãã£ã¹ïŒ
- ESã¢ãžã¥ãŒã«ã«äœ¿çšããïŒ
<link rel="modulepreload">ã¯ESã¢ãžã¥ãŒã«ã®ããªããŒãå°çšãšããŠäœ¿çšããŠãã ããã - æ£ãããã¹ã確èªããïŒ ã¢ãžã¥ãŒã«ãžã®ãã¹ãæ£ç¢ºã§ããããšãå確èªããŠãã ããã
- ãã©ãŠã¶ã®ãµããŒãç¶æ³ãç£èŠããïŒ åºããµããŒããããŠããŸããã
modulepreloadã®ãã©ãŠã¶äºææ§ãèªèããŠããããšãéèŠã§ãã
3. åçã€ã³ããŒã
åçã€ã³ããŒãïŒimport()ïŒã䜿çšãããšãå®è¡æã«ã¢ãžã¥ãŒã«ãéåæã§èªã¿èŸŒãããšãã§ããŸããäž»ã«é
å»¶èªã¿èŸŒã¿ã«äœ¿çšãããŸãããåçã€ã³ããŒãã¯ããªããŒãæè¡ãšçµã¿åãããŠã¢ãžã¥ãŒã«ã®èªã¿èŸŒã¿ãæé©åããããšãã§ããŸãã
äŸïŒ
async function loadMyModule() {
const module = await import('./modules/my-module.js');
// Use the module
}
// Preload the module (example using a fetch request)
fetch('./modules/my-module.js', { mode: 'no-cors' }).then(() => {
// Module is likely cached
console.log('Module preloaded');
});
説æïŒ
import('./modules/my-module.js')ïŒæå®ãããã¢ãžã¥ãŒã«ãåçã«ã€ã³ããŒãããŸããfetch(...)ïŒåçŽãªfetchãªã¯ãšã¹ãã䜿çšããŠãåçã€ã³ããŒãã§å®éã«å¿ èŠã«ãªãåã«ãã©ãŠã¶ã«ã¢ãžã¥ãŒã«ããã§ãããããŠãã£ãã·ã¥ãããããšãã§ããŸããno-corsã¢ãŒãã¯ãäžèŠãªCORSãã§ãã¯ãé¿ããããã«ããªããŒãã§ãã䜿çšãããŸãã
ãã¹ããã©ã¯ãã£ã¹ïŒ
- æŠç¥çãªããªããŒãïŒ ããã«ã¯å¿ èŠã§ã¯ãªãããè¿ããã¡ã«å¿ èŠã«ãªãå¯èœæ§ãé«ãã¢ãžã¥ãŒã«ãããªããŒãããŸãã
- ãšã©ãŒãã³ããªã³ã°ïŒ èªã¿èŸŒã¿ã®å€±æãé©åã«åŠçããããã«ãåçã€ã³ããŒãã«é©åãªãšã©ãŒãã³ããªã³ã°ãå®è£ ããŸãã
- ã³ãŒãåå²ãæ€èšããïŒ åçã€ã³ããŒããšã³ãŒãåå²ãçµã¿åãããŠãã¢ããªã±ãŒã·ã§ã³ãããå°ããã管çããããã¢ãžã¥ãŒã«ã«åå²ããŸãã
4. Webpackãšãã®ä»ã®ã¢ãžã¥ãŒã«ãã³ãã©
WebpackãParcelãRollupãªã©ã®çŸä»£çãªã¢ãžã¥ãŒã«ãã³ãã©ã¯ãã¢ãžã¥ãŒã«ã®ããªããŒããçµã¿èŸŒã¿ã§ãµããŒãããŠããŸãããããã®ããŒã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã®äŸåé¢ä¿ã°ã©ãã«åºã¥ããŠ<link rel="preload">ãŸãã¯<link rel="modulepreload">ã¿ã°ãèªåçã«çæã§ããŸãã
Webpackã®äŸïŒ
Webpackã®preloadããã³prefetchãã³ãã¯ãåçã€ã³ããŒããšå
±ã«äœ¿çšããŠããã©ãŠã¶ã«ã¢ãžã¥ãŒã«ã®ããªããŒããŸãã¯ããªãã§ãããæç€ºããããšãã§ããŸãããããã®ãã³ãã¯ãimport()æå
ã«ããžãã¯ã³ã¡ã³ããšããŠè¿œå ãããŸãã
async function loadMyModule() {
const module = await import(/* webpackPreload: true */ './modules/my-module.js');
// Use the module
}
説æïŒ
/* webpackPreload: true */ïŒWebpackã«ããã®ã¢ãžã¥ãŒã«çšã®<link rel="preload">ã¿ã°ãçæããããã«æç€ºããŸãã
ãã¹ããã©ã¯ãã£ã¹ïŒ
- ãã³ãã©ã®æ©èœã掻çšããïŒ äœ¿çšããŠããã¢ãžã¥ãŒã«ãã³ãã©ã®ããªããŒãæ©èœã調ã¹ãŠãã ããã
- æ éã«èšå®ããïŒ äžèŠãªããªããŒããé¿ããããã«ãããªããŒããæ£ããèšå®ãããŠããããšã確èªããŠãã ããã
- ãã³ãã«ãµã€ãºãåæããïŒ å®æçã«ãã³ãã«ãµã€ãºãåæããã³ãŒãåå²ãšæé©åã®æ©äŒãèŠã€ããŠãã ããã
é«åºŠãªããªããŒãæŠç¥
åºæ¬çãªæè¡ã«å ããŠãããã€ãã®é«åºŠãªæŠç¥ã§ã¢ãžã¥ãŒã«ã®ããªããŒããããã«æé©åã§ããŸãã
1. åªå çãªããªããŒã
ã¢ããªã±ãŒã·ã§ã³ã®åæã¬ã³ããªã³ã°ã«äžå¯æ¬ ãªéèŠãªã¢ãžã¥ãŒã«ã®ããªããŒããåªå
ããŸããããã¯ã<head>ã»ã¯ã·ã§ã³ã«<link rel="preload">ã¿ã°ãæŠç¥çã«é
眮ããããã¢ãžã¥ãŒã«ãã³ãã©ã®èšå®ã䜿çšããããšã§å®çŸã§ããŸãã
2. æ¡ä»¶ä»ãããªããŒã
ãŠãŒã¶ãŒã®è¡åãããã€ã¹ã¿ã€ãããŸãã¯ãããã¯ãŒã¯ç¶æ ã«åºã¥ããŠæ¡ä»¶ä»ãããªããŒããå®è£ ããŸããäŸãã°ãã¢ãã€ã«ãŠãŒã¶ãŒãšãã¹ã¯ããããŠãŒã¶ãŒã§ç°ãªãã¢ãžã¥ãŒã«ãããªããŒãããããé«åž¯åå¹ ã®æ¥ç¶ã§ã¯ããç©æ¥µçã«ããªããŒããããããããšãèããããŸãã
3. Service Workerãšã®çµ±å
ã¢ãžã¥ãŒã«ã®ããªããŒããService Workerãšçµ±åããŠããªãã©ã€ã³ã¢ã¯ã»ã¹ãæäŸããèªã¿èŸŒã¿æéãããã«æé©åããŸããService Workerã¯ã¢ãžã¥ãŒã«ããã£ãã·ã¥ãããããã¯ãŒã¯ããã€ãã¹ããŠãã£ãã·ã¥ããçŽæ¥æäŸã§ããŸãã
4. Resource Hints APIïŒææ©çããªããŒãïŒ
Resource Hints APIã䜿çšãããšãéçºè ã¯å°æ¥å¿ èŠã«ãªãå¯èœæ§ã®ãããªãœãŒã¹ã«ã€ããŠãã©ãŠã¶ã«éç¥ã§ããŸãã`prefetch`ã®ãããªæè¡ã䜿çšããŠãå°æ¥ã®ãŠãŒã¶ãŒã¢ã¯ã·ã§ã³ãäºæž¬ããããã¯ã°ã©ãŠã³ãã§ãªãœãŒã¹ãããŠã³ããŒãã§ããŸãã`preload`ã¯çŸåšã®ããã²ãŒã·ã§ã³ã§å¿ èŠãªãªãœãŒã¹çšã§ããã`prefetch`ã¯åŸç¶ã®ããã²ãŒã·ã§ã³çšã§ãã
<link rel="prefetch" href="/next-page.html" as="document">
ãã®äŸã§ã¯ã/next-page.htmlããã¥ã¡ã³ããããªãã§ãããããã®ããŒãžãžã®é·ç§»ãé«éåããŸãã
ããªããŒãããã©ãŒãã³ã¹ã®ãã¹ããšç£èŠ
ã¢ãžã¥ãŒã«ã®ããªããŒããããã©ãŒãã³ã¹ã«äžãã圱é¿ããã¹ãããç£èŠããããšãéèŠã§ãããã©ãŠã¶ã®éçºè ããŒã«ïŒäŸïŒChrome DevTools, Firefox Developer ToolsïŒã䜿çšããŠãèªã¿èŸŒã¿æéããªãœãŒã¹å©çšããããã¯ãŒã¯ã¢ã¯ãã£ããã£ãåæããŸããç£èŠãã¹ãäž»èŠãªææšã¯æ¬¡ã®ãšããã§ãïŒ
- First Contentful Paint (FCP)ïŒ æåã®ã³ã³ãã³ããç»é¢ã«è¡šç€ºããããŸã§ã®æéã
- Largest Contentful Paint (LCP)ïŒ æå€§ã®ã³ã³ãã³ãèŠçŽ ãç»é¢ã«è¡šç€ºããããŸã§ã®æéã
- Time to Interactive (TTI)ïŒ ã¢ããªã±ãŒã·ã§ã³ãå®å šã«ã€ã³ã¿ã©ã¯ãã£ãã«ãªããŸã§ã®æéã
- Total Blocking Time (TBT)ïŒ ã¡ã€ã³ã¹ã¬ãããé·æéå®è¡ãããã¿ã¹ã¯ã«ãã£ãŠãããã¯ãããåèšæéã
Google PageSpeed InsightsãWebPageTestãªã©ã®ããŒã«ã¯ããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ã«é¢ãã貎éãªæŽå¯ãæäŸããæ¹åã®äœå°ãããé åãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãããããã®ããŒã«ã¯ãã¢ãžã¥ãŒã«ã®ããªããŒããæé©åããããã®å ·äœçãªæšå¥šäºé ããã°ãã°æäŸããŸãã
é¿ããã¹ãäžè¬çãªèœãšã穎
- éå°ãªããªããŒãïŒ ããŸãã«ãå€ãã®ã¢ãžã¥ãŒã«ãããªããŒããããšãéå°ãªåž¯åå¹ ãšãªãœãŒã¹ãæ¶è²»ããããã©ãŒãã³ã¹ã«æªåœ±é¿ãäžããå¯èœæ§ããããŸãã
- äžæ£ç¢ºãªãªãœãŒã¹ã¿ã€ãïŒ
<link rel="preload">ã§ééã£ãas屿§ãæå®ãããšãäºæãã¬åäœãåŒãèµ·ããå¯èœæ§ããããŸãã - ãã©ãŠã¶äºææ§ã®ç¡èŠïŒ æ§ã ãªããªããŒãæè¡ã®ãã©ãŠã¶äºææ§ãèªèããé©åãªãã©ãŒã«ããã¯ãæäŸããŠãã ããã
- ããã©ãŒãã³ã¹ç£èŠã®æ ãïŒ ããªããŒããå®éã«èªã¿èŸŒã¿æéãæ¹åããŠããããšã確èªããããã«ãããã©ãŒãã³ã¹ãžã®åœ±é¿ã宿çã«ç£èŠããŠãã ããã
- CORSã®åé¡ïŒ ç°ãªããªãªãžã³ãããªãœãŒã¹ãããªããŒãããå Žåã¯ãé©åãªCORSèšå®ã確èªããŠãã ããã
ããªããŒãã«é¢ããã°ããŒãã«ãªèæ ®äºé
ã¢ãžã¥ãŒã«ããªããŒãæŠç¥ãå®è£ ããéã«ã¯ã以äžã®ã°ããŒãã«ãªèŠçŽ ãèæ ®ããŠãã ããïŒ
- æ§ã ãªãããã¯ãŒã¯ç¶æ³ïŒ ãããã¯ãŒã¯ã®é床ãšä¿¡é Œæ§ã¯å°åã«ãã£ãŠå€§ããç°ãªããŸãããããã®å€åã«å¯Ÿå¿ããããã«ããªããŒãæŠç¥ãé©å¿ãããŠãã ããã
- ããã€ã¹ã®å€æ§æ§ïŒ ãŠãŒã¶ãŒã¯æ§ã ãªèœåãæã€å¹ åºãããã€ã¹ãããŠã§ãã¢ããªã±ãŒã·ã§ã³ã«ã¢ã¯ã»ã¹ããŸããç°ãªãããã€ã¹ã¿ã€ãã«åãããŠããªããŒããæé©åããŠãã ããã
- ã³ã³ãã³ãããªããªãŒãããã¯ãŒã¯ïŒCDNïŒïŒ CDNãå©çšããŠã¢ãžã¥ãŒã«ããŠãŒã¶ãŒã®è¿ãã«é ä¿¡ããé å»¶ãæžããèªã¿èŸŒã¿æéãæ¹åããŸããã°ããŒãã«ãªã«ãã¬ããžãšå ç¢ãªããã©ãŒãã³ã¹ãæã€CDNãéžæããŠãã ããã
- æåçãªæåŸ ïŒ éåºŠã¯æ®éçã«è©äŸ¡ãããŸãããæåã«ãã£ãŠåæã®èªã¿èŸŒã¿é å»¶ã«å¯Ÿãã蚱容床ãç°ãªãå Žåãããããšãèæ ®ããŠãã ããããŠãŒã¶ãŒã®æåŸ ã«æ²¿ã£ãäœæããã©ãŒãã³ã¹ã«çŠç¹ãåœãŠãŠãã ããã
çµè«
JavaScriptã¢ãžã¥ãŒã«ã®ããªããŒãã¯ããŠã§ãã¢ããªã±ãŒã·ã§ã³ã®èªã¿èŸŒã¿æéãæé©åãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããããã®åŒ·åãªæè¡ã§ããéèŠãªã¢ãžã¥ãŒã«ãæŠç¥çã«ããªããŒãããããšã§ãéçºè ã¯èªã¿èŸŒã¿ã®é å»¶ãå€§å¹ ã«åæžããå šäœçãªããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸããæ§ã ãªããªããŒãæè¡ããã¹ããã©ã¯ãã£ã¹ãæœåšçãªèœãšã穎ãçè§£ããããšã§ãã°ããŒãã«ãªãªãŒãã£ãšã³ã¹åãã«é«éã§å¿çæ§ã®é«ããŠã§ãã¢ããªã±ãŒã·ã§ã³ãæäŸããããã®ã¢ãžã¥ãŒã«ããªããŒãæŠç¥ã广çã«å®è£ ã§ããŸããæé©ãªçµæã確å®ã«ããããã«ãã¢ãããŒãããã¹ããç£èŠãé©å¿ãããããšãå¿ããªãã§ãã ããã
ã¢ããªã±ãŒã·ã§ã³ã®ç¹å®ã®ããŒãºãšãããã䜿çšãããã°ããŒãã«ãªæèãæ éã«èæ ®ããããšã§ãã¢ãžã¥ãŒã«ã®ããªããŒããæŽ»çšããŠãçã«åè¶ãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåµé ããããšãã§ããŸãã