ãã³ãã¬ãŒãããŒã¹ã®ããã³ããšã³ãã³ãŒãçæã®å©ç¹ãå®è£ æŠç¥ãããŒã«ããã¹ããã©ã¯ãã£ã¹ãåŠã³ãå¹ççã§ã¹ã±ãŒã©ãã«ãªWebéçºãå®çŸããæ¹æ³ãæ¢ããŸãã
ããã³ããšã³ãã®ã³ãŒãçæïŒãã³ãã¬ãŒãããŒã¹éçºããã¹ã¿ãŒãã
仿¥ã®ããŒã¹ã®éãWebéçºã®äžçã§ã¯ãå¹çæ§ãšã¹ã±ãŒã©ããªãã£ãæãéèŠã§ããããã³ããšã³ãã®ã³ãŒãçæãç¹ã«ãã³ãã¬ãŒãããŒã¹éçºã¯ãéçºãµã€ã¯ã«ãå éããå埩çãªã¿ã¹ã¯ãåæžããå€§èŠæš¡ãããžã§ã¯ãå šäœã§ã³ãŒãã®äžè²«æ§ãç¶æããããã®åŒ·åãªã¢ãããŒããæäŸããŸãããã®å æ¬çãªã¬ã€ãã§ã¯ãããã³ããšã³ãã®ã³ãŒãçæã®æŠå¿µããã®å©ç¹ãå®è£ æŠç¥ã人æ°ã®ããŒã«ããããŠãã¹ããã©ã¯ãã£ã¹ã«ã€ããŠæ¢ããŸãã
ããã³ããšã³ãã®ã³ãŒãçæãšã¯ïŒ
ããã³ããšã³ãã®ã³ãŒãçæãšã¯ãäºåã«å®çŸ©ããããã³ãã¬ãŒãã仿§ããããã³ããšã³ãã®ã³ãŒããèªåçã«äœæããããã»ã¹ã§ããéçºè ã¯ãäžè¬çãªUIã³ã³ããŒãã³ããããŒã¿ãã€ã³ãã£ã³ã°ããŸãã¯APIã€ã³ã¿ã©ã¯ã·ã§ã³ã®ã³ãŒããæåã§èšè¿°ãã代ããã«ãã³ãŒããžã§ãã¬ãŒã¿ã䜿çšããŠåå©çšå¯èœãªãã³ãã¬ãŒãã«åºã¥ããŠãããã®èŠçŽ ãçæããŸãããã®ã¢ãããŒãã«ãããå¿ èŠãªãã€ã©ãŒãã¬ãŒãã³ãŒãã®éãå€§å¹ ã«åæžãããéçºè ã¯ã¢ããªã±ãŒã·ã§ã³ã®ããè€éã§åµé çãªåŽé¢ã«éäžã§ããããã«ãªããŸãã
ãã³ãã¬ãŒãããŒã¹éçºã¯ããã³ãã¬ãŒããçæãããã³ãŒãã®æ§é ãšããžãã¯ãå®çŸ©ãããç¹å®ã®ã¿ã€ãã®ã³ãŒãçæã§ãããããã®ãã³ãã¬ãŒãã¯ãããŒã¿åãUIã¹ã¿ã€ã«ãAPIãšã³ããã€ã³ããªã©ãç¹å®ã®èŠä»¶ã«åºã¥ããŠåºåãã«ã¹ã¿ãã€ãºããããã«ãã©ã¡ãŒã¿åããããšãã§ããŸãã
ããã³ããšã³ãã³ãŒãçæã®å©ç¹
1. çç£æ§ã®åäž
ã³ãŒãçæã¯ãUIã³ã³ããŒãã³ãã®äœæããã©ãŒã ã®çæãããŒã¿ãã€ã³ãã£ã³ã°ã®å®è£ ãªã©ã®å埩çãªã¿ã¹ã¯ãèªååããŸããããã«ãããéçºæéãå€§å¹ ã«ççž®ãããéçºè ã¯ããè€éã§æŠç¥çãªã¿ã¹ã¯ã«éäžã§ããããã«ãªããŸãã
äŸïŒå€æ°ã®ãã©ãŒã ãæã€Webã¢ããªã±ãŒã·ã§ã³ãæ³åããŠã¿ãŠãã ãããåãã©ãŒã ãæåã§äœæãã代ããã«ãã³ãŒããžã§ãã¬ãŒã¿ããã³ãã¬ãŒããšããŒã¿ã¹ããŒãã«åºã¥ããŠããããäœæã§ããŸããããã«ãããæ°æéãå Žåã«ãã£ãŠã¯æ°æ¥éã®éçºæéãç¯çŽã§ããŸãã
2. ã³ãŒãã®äžè²«æ§ã®åäž
ãã³ãã¬ãŒãã䜿çšããããšã§ãçæãããã³ãŒããäºåã«å®çŸ©ãããã³ãŒãã£ã³ã°æšæºãšã¢ãŒããã¯ãã£ãã¿ãŒã³ã«æºæ ããããšãä¿èšŒãããŸããããã«ãããããäžè²«æ§ãããä¿å®ããããã³ãŒãããŒã¹ãå®çŸãããšã©ãŒãäžæŽåã®ãªã¹ã¯ãæžå°ããŸãã
äŸïŒè€æ°ã®éçºè ãããå€§èŠæš¡ãããžã§ã¯ãã«åãçµãã§ããéçºããŒã ãèããŠã¿ãŸããããã³ãŒãçæã䜿çšããããšã§ããã¹ãŠã®éçºè ãåãã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ãšãã¿ãŒã³ã«åŸãããšãä¿èšŒãããããçµ±äžãããã³ãŒãããŒã¹ã«ã€ãªãããŸãã
3. ãšã©ãŒã®åæž
ã³ãŒãçæãèªååããããšã«ããããã¥ãŒãã³ãšã©ãŒã®ãªã¹ã¯ãå€§å¹ ã«åæžãããŸãããã³ãã¬ãŒãã¯åŸ¹åºçã«ãã¹ãããã³æ€èšŒãããçæãããã³ãŒããä¿¡é Œæ§ãé«ããã°ããªãŒã§ããããšãä¿èšŒãããŸãã
äŸïŒå埩çãªã³ãŒããæåã§èšè¿°ãããšãã¿ã€ããã¹ãè«çãšã©ãŒãçºçããããšããããããŸããã³ãŒãçæã¯ãå³å¯ã«ãã¹ããããäºåå®çŸ©æžã¿ã®ãã³ãã¬ãŒãã䜿çšããããšã§ããããã®ãªã¹ã¯ãæé€ããŸãã
4. ãããã¿ã€ãã³ã°ã®é«éå
ã³ãŒãçæã«ãããè¿ éãªãããã¿ã€ãã³ã°ãšå®éšãå¯èœã«ãªããŸããéçºè ã¯ãåºæ¬çãªUIèŠçŽ ãšããŒã¿ãã€ã³ãã£ã³ã°ãè¿ éã«çæããŠãããŸããŸãªã³ã³ã»ããããã¹ããããã¶ã€ã³ãå埩ããããšãã§ããŸãã
äŸïŒéçºããŒã ã¯ããµã³ãã«ããŒã¿ãå«ãåºæ¬çãªUIãããã¿ã€ããè¿ éã«çæããŠãæ°ããæ©èœãã¹ããŒã¯ãã«ããŒã«ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ã§ããŸãã
5. ä¿å®æ§ã®åäž
倿Žãå¿ èŠãªå Žåããã³ãã¬ãŒããæŽæ°ããŠã³ãŒããåçæã§ããŸããããã«ãããç¹ã«å€§èŠæš¡ã§è€éãªã¢ããªã±ãŒã·ã§ã³ã«ãããŠãã³ãŒãããŒã¹ã®ä¿å®ãšæŽæ°ã容æã«ãªããŸãã
äŸïŒAPIãšã³ããã€ã³ãã倿Žãããå Žåããã³ãã¬ãŒããæŽæ°ããŠæ°ãããšã³ããã€ã³ããåæ ãããã³ãŒããåçæã§ããŸããããã«ãããAPIã䜿çšãããã¹ãŠã®ã³ãŒããèªåçã«æŽæ°ãããããšãä¿èšŒãããŸãã
6. ã¹ã±ãŒã©ããªãã£
ã³ãŒãçæã¯ãã¢ããªã±ãŒã·ã§ã³ãã¹ã±ãŒãªã³ã°ããããã»ã¹ãç°¡çŽ åããŸããæ°ããæ©èœãã³ã³ããŒãã³ãã¯ãæ¢åã®ãã³ãã¬ãŒãã«åºã¥ããŠè¿ éã«çæã§ãããããã³ãŒãã®å質ãäžè²«æ§ãæãªãããšãªãã¢ããªã±ãŒã·ã§ã³ãæé·ãããããšãã§ããŸãã
äŸïŒã¢ããªã±ãŒã·ã§ã³ãæé·ããã«ã€ããŠãã³ãŒãçæã䜿çšããŠæ°ããæ©èœãã³ã³ããŒãã³ããè¿ éã«è¿œå ã§ããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ã¯ã³ãŒãã®å質ãæãªãããšãªãå¹ççã«ã¹ã±ãŒãªã³ã°ã§ããŸãã
ãã³ãã¬ãŒãããŒã¹ã®ã³ãŒãçæã®ä»çµã¿
ãã³ãã¬ãŒãããŒã¹ã®ã³ãŒãçæã«ã¯ãéåžžãæ¬¡ã®æé ãå«ãŸããŸãïŒ
- ãã³ãã¬ãŒãã®äœæïŒçæãããã³ãŒãã®æ§é ãšããžãã¯ãæå®ããåå©çšå¯èœãªãã³ãã¬ãŒããå®çŸ©ããŸãããããã®ãã³ãã¬ãŒãã¯ãHandlebarsãMustacheãEJSãªã©ã®ããŸããŸãªãã³ãã¬ãŒãèšèªã§èšè¿°ã§ããŸãã
- ããŒã¿å ¥åïŒããŒã¿ã¹ããŒããAPIãšã³ããã€ã³ããUIæ§æãªãã·ã§ã³ãªã©ã®ããŒã¿å ¥åããã³ãã¬ãŒãã«æäŸããŸãã
- ã³ãŒãçæïŒã³ãŒããžã§ãã¬ãŒã¿ããŒã«ã䜿çšããŠãã³ãã¬ãŒããšããŒã¿å ¥åãåŠçããæçµçãªã³ãŒãåºåãçæããŸãã
- çµ±åïŒçæãããã³ãŒããæ¢åã®ã³ãŒãããŒã¹ã«çµ±åããŸãã
äŸïŒ
Handlebarsãã³ãã¬ãŒãã䜿çšããŠReactã³ã³ããŒãã³ããçæããç°¡åãªäŸãèããŠã¿ãŸãããïŒ
ãã³ãã¬ãŒã (component.hbs):
import React from 'react';
interface {{componentName}}Props {
{{#each props}}
{{name}}: {{type}};
{{/each}}
}
const {{componentName}}: React.FC<{{componentName}}Props> = ({ {{#each props}}{{name}}, {{/each}} }) => {
return (
<div>
<h1>{{componentName}}</h1>
{{#each props}}
<p>{{name}}: { {{name}} }</p>
{{/each}}
</div>
);
};
export default {{componentName}};
ããŒã¿å ¥å (data.json):
{
"componentName": "UserCard",
"props": [
{
"name": "name",
"type": "string"
},
{
"name": "age",
"type": "number"
}
]
}
çæãããã³ãŒã (UserCard.tsx):
import React from 'react';
interface UserCardProps {
name: string;
age: number;
}
const UserCard: React.FC = ({ name, age }) => {
return (
<div>
<h1>UserCard</h1>
<p>name: { name }</p>
<p>age: { age }</p>
</div>
);
};
export default UserCard;
ããã³ããšã³ãã³ãŒãçæã®ããã®äººæ°ããŒã«
1. Yeoman
Yeomanã¯ãæ°ãããããžã§ã¯ãã®ç«ã¡äžããæ¯æŽããã¹ãã£ãã©ãŒã«ãã£ã³ã°ããŒã«ã§ãçç£æ§ãç¶æããããã®ãã¹ããã©ã¯ãã£ã¹ãšããŒã«ãæäŸããŸããæ§ã ãªãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªã«å¯Ÿå¿ãããžã§ãã¬ãŒã¿ãšã³ã·ã¹ãã ãæäŸãããããžã§ã¯ãæ§é ãUIã³ã³ããŒãã³ããªã©ãè¿ éã«çæã§ããŸãã
2. Hygen
Hygenã¯ããã³ãã¬ãŒããšã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ãŒã¹ïŒCLIïŒã䜿çšããŠã³ãŒããçæãããã·ã³ãã«ã§é«éãªã³ãŒããžã§ãã¬ãŒã¿ã§ãã軜éã§ãæ¢åã®ãããžã§ã¯ãã«ç°¡åã«çµ±åã§ããŸãã
3. Plop
Plopã¯ããããžã§ã¯ãçšã®ãžã§ãã¬ãŒã¿ãç°¡åã«äœæã§ãããã€ã¯ããžã§ãã¬ãŒã¿ãã¬ãŒã ã¯ãŒã¯ã§ãããã³ãã¬ãŒããšããã³ãããå®çŸ©ã§ãããŠãŒã¶ãŒå ¥åã«åºã¥ããŠã³ãŒããç°¡åã«çæã§ããŸãã
4. ã«ã¹ã¿ã CLIããŒã«
å€ãã®äŒæ¥ãçµç¹ã¯ãç¹å®ã®ããŒãºã«åãããŠã«ã¹ã¿ã CLIããŒã«ãéçºããŠããŸãããããã®ããŒã«ã¯ãçµç¹ã®ã³ãŒãã£ã³ã°æšæºãã¢ãŒããã¯ãã£ãã¿ãŒã³ã«æºæ ããã³ãŒããçæããããã«èª¿æŽã§ããŸãã
5. ãªã³ã©ã€ã³ã³ãŒããžã§ãã¬ãŒã¿
ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããããšãªããã³ãŒãã¹ãããããã³ã³ããŒãã³ããçæã§ãããªã³ã©ã€ã³ã³ãŒããžã§ãã¬ãŒã¿ãæ°å€ããããŸãããããã®ããŒã«ã¯ãè¿ éãªãããã¿ã€ãã³ã°ãå®éšã«åœ¹ç«ã€ããšãå€ãã§ãã
ããã³ããšã³ãã³ãŒãçæã®ãã¹ããã©ã¯ãã£ã¹
1. åå©çšå¯èœãªãã³ãã¬ãŒããèšèšãã
è€æ°ã®ãããžã§ã¯ãã§æè»ãã€åå©çšå¯èœãªãã³ãã¬ãŒããäœæããŸããç¹å®ã®èŠä»¶ã«åºã¥ããŠã«ã¹ã¿ãã€ãºã§ããããã«ããã³ãã¬ãŒãããã©ã¡ãŒã¿åããŸãã
2. ãã³ãã¬ãŒãèšèªã䜿çšãã
åŠç¿ããããã䜿ãããããã³ãã¬ãŒãèšèªãéžæããŸãã人æ°ã®ãªãã·ã§ã³ã«ã¯ãHandlebarsãMustacheãEJSãªã©ããããŸãã
3. éçºã¯ãŒã¯ãããŒã«ã³ãŒãçæãçµ±åãã
ã«ã¹ã¿ã CLIã³ãã³ããã¹ã¯ãªãããäœæããŠãã³ãŒãçæãéçºã¯ãŒã¯ãããŒã«çµ±åããŸããããã«ãããéçºè ã¯å¿ èŠã«å¿ããŠã³ãŒããç°¡åã«çæã§ããããã«ãªããŸãã
4. ãã³ãã¬ãŒããããŒãžã§ã³ç®¡çãã
ãã³ãã¬ãŒããããŒãžã§ã³ç®¡çïŒäŸïŒGitïŒã«ä¿åããŠã倿Žã远跡ããä»ã®éçºè ãšå ±åäœæ¥ããŸãã
5. ãã³ãã¬ãŒããææžåãã
ãã³ãã¬ãŒããã©ã®ããã«æ©èœããã©ã®ããã«äœ¿çšãããã説æããããã«ããã³ãã¬ãŒããæç¢ºã«ææžåããŸããããã«ãããä»ã®éçºè ããã³ãã¬ãŒããçè§£ãã䜿çšãããããªããŸãã
6. ãã³ãã¬ãŒãããã¹ããã
ãã³ãã¬ãŒãã培åºçã«ãã¹ãããŠãæ£ããä¿¡é Œæ§ã®é«ãã³ãŒããçæããããšã確èªããŸããããã«ããããšã©ãŒãäžæŽåã®ãªã¹ã¯ãæžããããšãã§ããŸãã
7. ã»ãã¥ãªãã£ãèæ ®ãã
å€éšAPIããŠãŒã¶ãŒå ¥åãšå¯Ÿè©±ããã³ãŒããçæããéã¯ãã»ãã¥ãªãã£ãžã®åœ±é¿ãèæ ®ããŠãã ãããçæãããã³ãŒããå®å šã§ãããè匱æ§ãæã¡èŸŒãŸãªãããã«ããŸãã
ããã³ããšã³ããã¬ãŒã ã¯ãŒã¯ãšã®çµ±å
1. React
Reactã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããããã®äººæ°ã®JavaScriptã©ã€ãã©ãªã§ããã³ãŒãçæã䜿çšããŠãReactã³ã³ããŒãã³ããããã¯ãã³ã³ããã¹ããçæã§ããŸããYeomanãHygenã®ãããªããŒã«ã¯ãReactãããžã§ã¯ãçšã®ãžã§ãã¬ãŒã¿ãæäŸããŠããŸãã
2. Angular
Angularã¯ãè€éãªWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®å æ¬çãªãã¬ãŒã ã¯ãŒã¯ã§ããAngular CLIã¯ãã³ã³ããŒãã³ãããµãŒãã¹ãã¢ãžã¥ãŒã«ãäœæããããã®çµã¿èŸŒã¿ã®ã³ãŒãçææ©èœãæäŸããŸãã
3. Vue.js
Vue.jsã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããããã®ããã°ã¬ãã·ããã¬ãŒã ã¯ãŒã¯ã§ããã³ãŒãçæã䜿çšããŠãVueã³ã³ããŒãã³ãããã£ã¬ã¯ãã£ãããã©ã°ã€ã³ãçæã§ããŸããVue CLIãPlopã®ãããªããŒã«ã¯ãVue.jsãããžã§ã¯ãçšã®ãžã§ãã¬ãŒã¿ãæäŸããŠããŸãã
å®äžçã®äŸ
1. Eã³ããŒã¹ãã©ãããã©ãŒã
Eã³ããŒã¹ãã©ãããã©ãŒã ã§ã¯ãã³ãŒãçæã䜿çšããŠååäžèЧããŒãžãã·ã§ããã³ã°ã«ãŒãããã§ãã¯ã¢ãŠããã©ãŒã ãçæã§ããŸãããã³ãã¬ãŒãã¯ãããŸããŸãªååã¿ã€ããéè²šãæ¯æãæ¹æ³ã«å¯Ÿå¿ããããã«ãã©ã¡ãŒã¿åã§ããŸããã³ãŒãçæã䜿çšããããšã§ãéçºãå éããUIã®äžè²«æ§ã匷å¶ãããããŸããŸãªãã§ãã¯ã¢ãŠããããŒã®A/Bãã¹ãã容æã«ãªããŸãã
2. ã³ã³ãã³ã管çã·ã¹ãã ïŒCMSïŒ
CMSã§ã¯ãã³ãŒãçæã䜿çšããŠã³ã³ãã³ããã³ãã¬ãŒãããã©ãŒã ãã£ãŒã«ããã³ã³ãã³ãã管çããããã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãçæã§ããŸãããã³ãã¬ãŒãã¯ãèšäºãããã°æçš¿ãç»åãªã©ãããŸããŸãªã³ã³ãã³ãã¿ã€ãã«å¯Ÿå¿ããããã«ãã©ã¡ãŒã¿åã§ããŸãããã³ãã¬ãŒãããŒã¹ã®ã³ãŒãçæã«ãããããŸããŸãªå°ååãã®ããŒã«ã©ã€ãŒãŒã·ã§ã³ãç°¡åã«å®è£ ã§ããŸãã
3. ããŒã¿å¯èŠåããã·ã¥ããŒã
ããŒã¿å¯èŠåããã·ã¥ããŒãã§ã¯ãã³ãŒãçæã䜿çšããŠããŒã¿ãœãŒã¹ã«åºã¥ããŠãã£ãŒããã°ã©ããããŒãã«ãçæã§ããŸãããã³ãã¬ãŒãã¯ãããŸããŸãªããŒã¿ã¿ã€ãããã£ãŒãã¿ã€ããå¯èŠåã¹ã¿ã€ã«ã«å¯Ÿå¿ããããã«ãã©ã¡ãŒã¿åã§ããŸããã³ã³ããŒãã³ãã®èªåçæã¯ãããã·ã¥ããŒãå šäœã§äžè²«ããã¹ã¿ã€ã«ãç¶æããã®ã«åœ¹ç«ã¡ãŸãã
課é¡ãšèæ ®äºé
1. ãã³ãã¬ãŒãã®è€éã
è€éãªãã³ãã¬ãŒãã®èšèšã¯ãç¹ã«å€§èŠæš¡ã§å ¥ãçµãã ã¢ããªã±ãŒã·ã§ã³ã®å Žåãå°é£ãªå ŽåããããŸããä¿å®æ§ãåäžãããããã«ã¯ããã³ãã¬ãŒããã·ã³ãã«ã§ã¢ãžã¥ãŒã«åããŠããããšãéèŠã§ãã
2. çæãããã³ãŒãã®ãããã°
çæãããã³ãŒãã®ãããã°ã¯ãæåã§èšè¿°ãããã³ãŒãã®ãããã°ãããé£ããå ŽåããããŸãããã³ãã¬ãŒããšã³ãŒãçæããã»ã¹ãããçè§£ããŠããããšãéèŠã§ãã
3. ãã³ãã¬ãŒãã®ä¿å®
ãã³ãã¬ãŒãã®ä¿å®ã¯ãç¹ã«å€æŽãå¿ èŠãªå ŽåãæéããããããšããããŸãããã³ãã¬ãŒããæŽæ°ããã³ãã¹ãããããã®æç¢ºãªããã»ã¹ãæã€ããšãéèŠã§ãã
4. ã³ãŒãçæãžã®é床ã®äŸå
ã³ãŒãçæã«é床ã«äŸåãããšãåºç€ãšãªãã³ãŒããžã®çè§£ãäžè¶³ããå¯èœæ§ããããŸããéçºè ãã¢ããªã±ãŒã·ã§ã³ãããçè§£ããŠããããšã確èªããããã«ãã³ãŒãçæãšæåã³ãŒãã£ã³ã°ã®ãã©ã³ã¹ãåãããšãéèŠã§ãã
çµè«
ããã³ããšã³ãã®ã³ãŒãçæãç¹ã«ãã³ãã¬ãŒãããŒã¹éçºã¯ãçç£æ§ã®åäžãã³ãŒãã®äžè²«æ§ã®æ¹åããšã©ãŒã®åæžããããã¿ã€ãã³ã°ã®é«éåãä¿å®æ§ã®åäžãã¹ã±ãŒã©ããªãã£ãªã©ãWebéçºã«å€§ããªå©ç¹ããããããŸããé©åãªããŒã«ã䜿çšãããã¹ããã©ã¯ãã£ã¹ã«åŸãããšã§ãéçºè ã¯ã³ãŒãçæã掻çšããŠå¹ççã§ã¹ã±ãŒã©ãã«ãªWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã課é¡ãèæ ®äºé ã¯ãããŸãããã³ãŒãçæã®å©ç¹ã¯å€ãã®å Žåãæ¬ ç¹ãäžåããçŸä»£ã®Webéçºã®äžçã«ãããŠäŸ¡å€ããããŒã«ãšãªã£ãŠããŸãã
èªååã®åãæŽ»çšãããã³ãã¬ãŒãããŒã¹ã®ã³ãŒãçæã§ããã³ããšã³ãéçºããã»ã¹ãå¹çåããŸããããããŒã ã¯ãå¹çã®åäžãšã³ãŒãåè³ªã®æ¹åã«æè¬ããã¯ãã§ãïŒ