
éçºããã»ã¹ãå¶åŸ¡ããããã«ã©ã®ã·ã¹ãã ãéžæããããèãããšãããã€ãã®å¯èœæ§ãæãæµ®ãã³ãŸãã å€ãã®å Žåã倧äŒæ¥ã¯ã¢ãã©ã·ã¢ã³ã¹ã¿ãã¯ïŒJiraãBitbucketãBambooïŒãéžæããŸãã äžå°äŒæ¥ã¯éåžžãJetBrainsãœãªã¥ãŒã·ã§ã³ïŒYouTrackãUpsourceãTeamCityïŒã奜ã¿ãŸãã ãªãŒãã³ãœãŒã¹æ奜家ã¯ãGitHub / LabãJenkinsãããã³å€æ°ã®ã¿ã¹ã¯ç®¡çãœãªã¥ãŒã·ã§ã³ãå®éšããŠããŸãã
ãããã«ãããããã¯äœããã®çµ±åãå¿ èŠãšãããœãªã¥ãŒã·ã§ã³ã®ã»ããã§ãã
ãã ããæ¯èŒçæè¿ãããéçºã®ãã¹ãŠã®æ®µéã管çããããã®å®å šã«çµ±åãããã¯ã©ãŠããœãªã¥ãŒã·ã§ã³ãMicrosoftãæäŸããŠããããšãç¥ã£ãŠãã人ã¯ã»ãšãã©ããŸããã ãã®ã·ã¹ãã ã¯ã Visual Studio Team Services ãïŒä»¥éVSTSãšåŒã°ããŸã ïŒ ãšåŒã°ããŸãã
以äžãå«ãŸããŸãã
- ãã©ã€ããŒãGitãªããžããª
- ã¹ã¯ã©ã /ã¢ãžã£ã€ã«ã¿ã¹ã¯ç®¡çã·ã¹ãã
- ç¶ç¶çãªçµ±åãšå±éïŒCI / CDïŒ
- ãã¹ãã¢ãžã¥ãŒã«
- Power BIãšçµ±åããŠåæãæ§ç¯ããæ©èœ
ãããã¯ãã¹ãŠ5人ã®ãŠãŒã¶ãŒã«ç¡æã§æäŸãããŸãã BizSparkã¹ã¿ãŒãã¢ããããã°ã©ã ã«åå ãããšãããã«5ã€ç¡æã§æ¥ç¶ã§ããŸãã
ãªãŒãã³ãœãŒã¹äŒæ¥ã«ãªããšãããã€ã¯ããœããã®è©Šã¿ã¯ããã®ã·ã¹ãã ã«åæ ãããŠããŸãã ããšãã°ãLinuxãµãŒããŒã§JavaScriptãããžã§ã¯ãããã«ãã§ããŸãã
ã·ã¹ãã ã«ã€ããŠç¥ãããå Žåã¯ãå ã«é²ãã§ãã ããã
å 責äºé ã ãã®èšäºã®èè ã¯ãã€ã¯ããœãããšææºããŠããŸããã åŒçšããããã¹ãŠã®äºå®ãšèãã¯ããã®ã·ã¹ãã ã§ã®ç§ã®å人çãªçµéšã«ã®ã¿åºã¥ããŠãããããè¯å®çã§ãã
å°ãªããšããã·ã¢åžå Žã§ã¯ãã·ã¹ãã ã®éèŠãé«ããšã¯èšããŸããã ç§ã®æèŠã§ã¯ãVSTSã®äººæ°ã®äœãã¯ãç¹ã«ãã€ã¯ããœãã以å€ã®ãœãªã¥ãŒã·ã§ã³ããµããŒããããšããç¹ã§ãå瀟ã®è£œåã«å¯ŸããæŽå²çãªäžä¿¡ã«é¢é£ããŠããŸãã ãŸããå ¬å¹³ãæãããã«ãã·ã¹ãã ã¯çŸåšã¢ã¯ãã£ãã«æŽæ°ãããŠããããšã«æ³šæããå¿ èŠããããŸãããçŸåšãã·ã¹ãã ã䜿çšããŠéåžžã«æ·±å»ãªåé¡ã解決ããããšã劚ããŸããã
ã·ã¹ãã ã«ã¯èšå€§ãªæ°ã®èšå®ããããŸãããå®å šã«ç¥ãåãããã«ãã¢ã€ãã¢ãçç£çãªç°å¢ã§å ¬éãããã¢ããªã±ãŒã·ã§ã³ã«å€ããããã«å®äºããå¿ èŠã®ããæå°éã®ã¢ã¯ã·ã§ã³ãæ€èšããŸãã
ã·ã¹ãã ãããã«è©³ããç¥ãããã«ããã¹ãŠã®ååãšã¹ã¯ãªãŒã³ã·ã§ããã¯è±èªã®ã€ã³ã¿ãŒãã§ãŒã¹ã«ä»ããããŸãã ãã·ã¢èªã®è£œåããã¥ã¡ã³ããæ€çŽ¢ããããšãããšãããã€ãã®åé¡ãçºçããå ŽåããããŸãã
ãã®ãããNode.jsã«WebãµãŒããŒãäœæãããšããã¢ã€ãã¢ããããŸãããããã¯ããHello Worldããšãããã¬ãŒãºã§ãã¹ãŠã®äººãæè¿ããŸãã ã¢ãžã£ã€ã«ææ³ã䜿çšããŠãã®ãããžã§ã¯ãã管çããã³ãŒããäžå€®ã®ãã©ã€ããŒããªããžããªã«ä¿åããã³ãŒããå€æŽããããšãã«ã¢ããªã±ãŒã·ã§ã³ãèªåçã«å ¬éãããããã«ããŸãã
ãã®ããã»ã¹ãå®è£ ããããã®æå°éã®æé ã以äžã«èª¬æããŸãã
éãæäœã§ãå°ãããéèŠãªåæ çãªäœè«ã
1. Microsoftã¢ã«ãŠã³ããäœæããŸã
å人ã®Microsoftã¢ã«ãŠã³ãïŒAppleãŸãã¯Google Idã®é¡äŒŒç©ïŒããŸã ãæã¡ã§ãªãå Žåã¯ãããã§account.microsoft.comãååŸããå¿ èŠããããŸã
2. VSTSã¢ã«ãŠã³ããäœæãã
次ã«ãåã®æé ã§äœæããå人ã¢ã«ãŠã³ãã§ãWebãµã€ãwww.visualstudio.com/vsoã«ã¢ã¯ã»ã¹ã ã[ç¡æã§éå§]ãã¿ã³ãã¯ãªãã¯ããŠãVSTSã¢ã«ãŠã³ãã®ååïŒãvasya-pupkinããªã©ïŒãèŠã€ããŸãã
ãã¹ãŠã®VSTSã¢ã«ãŠã³ãã¯ãvisualstudio.comãã¡ã€ã³ã®ç¬¬3ã¬ãã«ãã¡ã€ã³ãšããŠç»é²ãããŠãããããèªåã®ååãçŸãããã®ã«ããããšã¯çã«ããªã£ãŠããŸãã ãã®èšäºã®å·çæç¹ã§ã¯ããvasya-pupkinããšããååã¯ç¡æã§ãã:)
VSTSã¢ã«ãŠã³ããäœæãããšãã¯ãæåã®ãããžã§ã¯ããäœæããå¿ èŠããããŸãã ãã©ãŒã ã«å ¥åãããšãã¯ãã詳现ã®å€æŽããªã³ã¯ãã¯ãªãã¯ããŠãããžã§ã¯ãåãšç®¡çæ¹æ³ïŒäœæ¥ã®æŽçïŒãéžæããããšãå¿ããªãã§ãã ããã ãããžã§ã¯ãã®ååã¯ãäœæåŸã«å€æŽã§ããŸããã管çæ¹æ³ã¯ãããããŸããã
ãããžã§ã¯ãã«NodeProjectãšããååãä»ããŠãããã©ã«ãã®ç®¡çææ³ïŒã¢ãžã£ã€ã«ïŒã®ãŸãŸã«ããŸãã

3. Gitãªããžããªãäœæãã
ãããžã§ã¯ããäœæããããGitãªããžããªãæäœããããŒãžã«ç§»åããŸãã Codeã¡ã€ã³ã¡ãã¥ãŒãããã¢ã¯ã»ã¹ã§ããŸãã

VSTSã«ã¯ãäžã®ã¹ã¯ãªãŒã³ã·ã§ããã®ããã«1ã€ã®ã¡ã€ã³ã¡ãã¥ãŒãšãæ¯è»ãã¯ãªãã¯ãããšãã«äœ¿çšã§ããããã€ãã®èšå®ã¡ãã¥ãŒããããŸãã
èšå®ã¡ãã¥ãŒã«ã¯3ã€ã®ã¬ãã«ããããŸãã
- ã¢ã«ãŠã³ãã¬ãã«
- ããŒã ã¬ãã«
- ãããžã§ã¯ãã¬ãã«
ã»ãšãã©ã®ããšã¯ãããžã§ã¯ãã¬ãã«ã§è¡ããããããããã©ã«ãã§ã¯ãããžã§ã¯ãã¬ãã«ã®èšå®ã«çæããŸãã
Git VSTSãªããžããªãæäœããããã»ã¹ã¯ãGitHubãæäœããããã»ã¹ãšå€ãããªãããã詳现ã«ã€ããŠã¯èª¬æããŸããã
ããã©ã«ãã§ã¯ãVSTSã¯httpsãããã³ã«ãä»ããŠåäœããããã«æäŸããŠããããšã«æ³šæããŠãã ããã SSHã§ã®äœæ¥ããå§ãããŸãã åæã»ããã¢ããã«ã¯å°ãæéããããå ŽåããããŸãããããã«äœæ¥ãè¡ããšããã«äŸ¿å©ã«ãªããŸãã

4.ããã¯ãã°ã§ã¿ã¹ã¯ãäœæãã
ã³ãŒããä¿åããããã®ãªããžããªãäœæããããã¿ã¹ã¯ç®¡çãµãã·ã¹ãã ã®æ§æãéå§ã§ããŸãã ãããžã§ã¯ããäœæãããšãã«ãã¢ãžã£ã€ã«ããã»ã¹ãéžæããããšãæãåºããŠãã ããã
ã·ã¹ãã ã®ã¢ãžã£ã€ã«ããã»ã¹ã«ã¯ãã¿ã¹ã¯ã®3ã¬ãã«ã®éå±€ããããŸãã æé«ã¬ãã«ã¯EpicïŒããã©ã«ãã§ã¯ç¡å¹ïŒã§ãã 次ã¯æ©èœã次ã«ãŠãŒã¶ãŒã¹ããŒãªãŒã§ãã æåã®è¿äŒŒãšããŠããŠãŒã¶ãŒã¹ããŒãªãŒã¯Taskãšããåèªã®å矩èªãšèŠãªãããšãã§ããŸãã
Epicãæå¹ã«ããã«ã¯ãã³ãã³ãã¬ãã«ã®èšå®ã§[äœæ¥]ã«ç§»åããŸãã

å°èŠæš¡ãªãããžã§ã¯ãã®å ŽåãEpicã¬ãã«ã¯çç¥ã§ããŸãã
æ¹æ³è«ã«ããã°ãã·ã¹ãã å ã®ãã¹ãŠã®ã¿ã¹ã¯ã¯ãã¢ãžã£ã€ã«ããã¯ãã°ãšåŒã°ããã¿ã¹ã¯ã®äžè¬çãªãªã¹ãã«åé¡ãããŸãã ãã®åŸããããã®ã¿ã¹ã¯ã¯ç¹å®ã®æç¹ã§å®è£ ãããŸãã ãããã®æç¹ã¯å埩ãšåŒã°ããŸãã
ã¡ã€ã³ã¡ãã¥ãŒã®ãäœæ¥ãæ©èœã«ãWebãµãŒããŒããšããèŠåºããä»ããŠäœæãããã®äžã«ãHello worldããšããèŠåºãã®ãããŠãŒã¶ãŒã¹ããŒãªãŒãäœæããŸãã

ãããžã§ã¯ããå®è£ ããã«ã¯ã1åã®å埩ã§ååã§ãã ã¹ã¿ãã¯ããã©ã«ãã§VSTSã§3åã®å埩ã§æ§æãããŠãããããæ°ãããã®ã¯äœæããŸããããçŸåšã®ãã®ãæ§æããŸãã èšå®ã¯ãååãèãåºããå埩ã®éå§æ¥ãšçµäºæ¥ã瀺ãããšã§ãã ããã¯ã[äœæ¥]ã¡ãã¥ãŒã®ãããžã§ã¯ãã¬ãã«ã®èšå®ã§è¡ããŸãã
æ°ããå埩ãè¿œå ããå Žåã¯ãã³ãã³ãã¬ãã«ã®èšå®ã«ç§»åããŠããã«è¿œå ããå¿ èŠããããŸãã

å埩ãäœæããåŸããã®å埩äžã«è§£æ±ºããåé¡ã瀺ãå¿ èŠããããŸãã ããã¯éåžžãå埩ã®æåã®æ¥ã«è¡ãããŸãã ä»ãããããã ã¿ã¹ã¯ã¯1ã€ïŒãŠãŒã¶ãŒã¹ããŒãªãŒïŒãããªããããäœæããã°ããã®å埩ã«ãã©ãã°ããå¿ èŠããããŸãã ã¿ã¹ã¯ãéå§ããããã¢ã¯ãã£ãç¶æ ã«èšå®ããå¿ èŠããããŸãã ç°ãªããããªãã¯ãã䜿çšããããã«ãã¢ãžã£ã€ã«ã¯çŸåšã®å埩ã®å®¹éã»ã¯ã·ã§ã³ã«èšå ¥ããããšã«ãæå³ããããŸãã

ããã§ãã³ãŒããšã¿ã¹ã¯ãæäœããããã®VSTSã®ã»ããã¢ããããã»ã¹ã®æŠèŠãçµäºã§ããŸãã
次ã«ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšç¶ç¶çå±éïŒCI / CDïŒããã»ã¹ãæ§æãããããæéã®ãããã¿ã¹ã¯ã«é²ã¿ãŸãã
CI / CDãå¿ èŠãªã®ã¯ãªãã§ããïŒ ã³ãŒããèšè¿°ããåŸãã©ããã«é 眮ããå¿ èŠããããŸãã å€æŽã®ãã³ã«æåã§ã³ãŒãã移æ€ããªãããã«ããã¹ã¿ãŒãªããžããªãã©ã³ãïŒãŸãã¯å¥ã®ãã©ã³ãïŒã®åæŽæ°åŸã«éåžžéå§ããããã»ã¹ãæ§æã§ããŸãã CIããã»ã¹ã¯ããããžã§ã¯ããæ£åžžã«ã¢ã»ã³ãã«ãããèªåãã¹ãã§ïŒãªãã·ã§ã³ã§ïŒãã¹ããããŠããããšã確èªããŸãã CDããã»ã¹ã¯ãCIããã»ã¹ã®çµæãæ¬çªãµãŒããŒã«é 眮ããŸãã
äžè¬ã«ãCI / CDããã»ã¹ã¯ç°¡åã«æ§æããããæ§æã¯éçºæè¡ãšãããžã§ã¯ãã®å Žæã«ãã£ãŠå€§ããç°ãªããŸãã VSTSã·ã¹ãã ã§CI / CDãæäœããåçãç解ããããã«ãããŒã«ã«ãµãŒããŒã§ãã¹ããããNode.JSã¢ããªã±ãŒã·ã§ã³ã®æãåçŽãªã±ãŒã¹ãæ€èšããŸãã
ãã®äŸã§ã¯ãïŒã¯ã©ãŠãã§ã¯ãªãïŒããŒã«ã«ãã·ã³ã§ãããžã§ã¯ããåéããããã§å ¬éããŸãã
CI / CDã®æ§ææé ã«ç§»ããŸãããã
6. Build / Deploy Agentã®ã€ã³ã¹ããŒã«
Build / Deploy Agentã¯ãã³ãŒããæçµãªãªãŒã¹ã«å€æããããã«å¿ èŠãªã¢ã¯ã·ã§ã³ãã³ãŒãã§å®è¡ããããã°ã©ã ã§ãã ã¯ã©ãŠãããŒã¹ã®ãšãŒãžã§ã³ãã䜿çšããå Žåã¯ããã®æé ãã¹ãããã§ããŸãã
ãšãŒãžã§ã³ãã¯ãWindowsãLinuxããŸãã¯OSXãã·ã³ã«ã€ã³ã¹ããŒã«ã§ããŸãã ããŒã«ã«Linuxãã·ã³ãžã®ãšãŒãžã§ã³ãã®ã€ã³ã¹ããŒã«ã«ã€ããŠã¯ã www.visualstudio.com / en-us / docs / build / actions / agents / v2-linuxã§è©³ãã説æãããŠããŸã ã
ããã±ãŒãžãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ãããšãŒãžã§ã³ããVSTSã«æ¥ç¶ããããã®ããŒã¯ã³ãååŸããŠããšãŒãžã§ã³ãããšãŒãžã§ã³ãããŒã«ã«è¿œå ããã ãã§ãã
7. CIãæ§æãã
CIããã»ã¹ã¯ãã¡ã€ã³ã¡ãã¥ãŒé ç®ããã«ããšãªãªãŒã¹->ãã«ããã§æ§æãããŸãã 2段éã§æ§æãããŠããŸãã
- æ°ãããã«ãå®çŸ©ãäœæãã
- ãã«ãå®çŸ©ãžã®ã¹ãããã®è¿œå

[æ°ããå®çŸ©ã®è¿œå ]ãã¿ã³ãã¯ãªãã¯ããåŸãå®çŸ©æžã¿ããã»ã¹ã®1ã€ãéžæãããããŒãããæ§æã§ããŸãã æåããèšå®ããŸãã

次ã®ã¹ãããã§ã¯ãBuildããã«ããããªããžããªã®ãã©ã³ããšããã®ãã©ã³ãã®æŽæ°æã«èªåçã«ãã«ããããã©ããã決å®ããããã«æ±ããããŸãã å®éã«CIã䜿çšããŸãã ããã§ã¯ã6ç¯ã§æ§æããããšãŒãžã§ã³ãããŒã«ãæå®ããå¿ èŠããããŸãã

Node.jsãããžã§ã¯ããæ£åžžã«ã¢ã»ã³ãã«ããã«ã¯ãäœæãããã«ãå®çŸ©ã«2ã€ã®ã¹ããããè¿œå ããå¿ èŠããããŸãã
- ãªããžããªãããšãŒãžã§ã³ããã©ã«ããŒã«ãã¡ã€ã«ãã³ããŒïŒãã¡ã€ã«ã®ã³ããŒïŒ
- ã³ããŒçµæãã¢ãŒãã£ãã¡ã¯ããšããŠå ¬éããŸãïŒãã«ãã¢ãŒãã£ãã¡ã¯ãã®å ¬éïŒã ãã®éèªæãªæé ã¯ãCDããã»ã¹ãšã®çµ±åã«å¿ èŠã§ãã CDããã»ã¹ãéå§ãããšããšãŒãžã§ã³ãã¯ãã®ã¢ãŒãã£ãã¡ã¯ããååŸãããããžã§ã¯ããå ¬éããããã«å¿ èŠãªã¢ã¯ã·ã§ã³ãå®è¡ããŸãã
ãããã®æé ã¯ã©ã¡ãããŠãŒãã£ãªãã£ã»ã¯ã·ã§ã³ã§å©çšã§ããŸãã

æé ãèšå®ããããã»ã¹ã§ã¯ãã·ã¹ãã å€æ°ãç©æ¥µçã«äœ¿çšããå¿ èŠããããŸãã å€ãã®å Žåããã£ãŒã«ãåã®æšªã«ããŒã«ãããããããŸãã

8. CDãã»ããã¢ãããã
åæ§ã«ãCDããã»ã¹ã¯ã¡ã€ã³ã¡ãã¥ãŒé ç®ããã«ããšãªãªãŒã¹->ãªãªãŒã¹ãã§æ§æãããŸãã
æ°ããå®çŸ©ãäœæããåŸãCIããã»ã¹ã®åŸã«å®è¡ããå¿ èŠãããã¹ããããéžæããŸãã CIããã»ã¹ã®çµäºçŽåŸã«CDãå®è¡ããå Žåã¯ã察å¿ããããã¯ã¹ããªã³ã«ããå¿ èŠããããŸãã
ãã®å ŽåãCDããã»ã¹ã¯æ¬¡ã®æé ã§æ§æãããŸãã
- å€ããã¡ã€ã«ããã¹ãŠåé€ãã
- ææç©ãCIããå®åãµãŒããŒäžã®ç®çã®ãã©ã«ããŒã«ã³ããŒããŸãã
- npm installïŒyarnïŒãå®è¡ããŠãpackage.jsonãã¡ã€ã«ã«èšè¿°ãããŠããnpmããã±ãŒãžãããŠã³ããŒãããŸã
- æ°ããã³ãŒãã§ã¢ããªã±ãŒã·ã§ã³ãåèµ·åããŸãã Node.jsãããžã§ã¯ãã®å Žåããpm2 reload my_applicationãã®ããã«ãªããŸãã

æããã«ãããããã®å Žåãã¹ãããã®ã»ããã¯ç°ãªããŸãããVSTSã¯CI / CDã®æ£åžžãªæäœã®ããã«ã§ããããšã®ã»ãšãã©ãã¹ãŠã®ãªãã·ã§ã³ãæäŸããŸãã ãšãŒãžã§ã³ãããµãŒããŒäžã§ã¢ã¯ã·ã§ã³ãå®è¡ã§ããããã«ããšãŒãžã§ã³ããæ©èœããæš©éã泚ææ·±ãç£èŠããå¿ èŠãããã ãã§ãã
ãã¹ãŠã®èšå®ãå®äºããã®ã§ãã³ãŒãã®äœæ¥ãéå§ã§ããŸãã VSTSã®çµ±åæ©èœãæ倧éã«æŽ»çšããã«ã¯ã次ã®æé ã«åŸããŸãã
1.ã¡ã€ã³ã¡ãã¥ãŒã®ãäœæ¥ãã®ã¿ã¹ã¯ ïŒãŠãŒã¶ãŒã¹ããŒãªãŒïŒã«ç§»åããŠããããããªããžããªã«æ°ãããã©ã³ããäœæããŸãã

2.ãã©ã³ããããŒã«ã«ã³ã³ãã¥ãŒã¿ãŒã«ã³ããŒã ïŒgit pullïŒãã¢ããªã±ãŒã·ã§ã³ãäœæããåããã©ã³ãã®ãªããžããªã«å€æŽãä¿åããŸãïŒgit pushïŒã
3.ã¿ã¹ã¯ã«æ»ã£ãŠããããããã«ãªã¯ãšã¹ããäœæããŸããã ã

ãã®ãã«ãªã¯ãšã¹ããéãããšããã¹ã¿ãŒãã©ã³ããžã®å€æŽãããŒãžãããCIããã»ã¹ãèµ·åããŸããCIããã»ã¹ãæ£åžžã«å®äºãããšãCDããã»ã¹ãéå§ããããã®çµæãæ¬çšŒåãµãŒããŒã§ã¢ããªã±ãŒã·ã§ã³ãå ¬éãããŸãã
CIã®åŸã«CDãèªåçã«å®è¡ããå¿ èŠã¯å¿ ããããããŸããã CIã®çµæãæã§å¶åŸ¡ãããšäŸ¿å©ãªå ŽåããããŸãã ãããè¡ãããã«ãVSTSã«ã¯CDãå®è¡ããããã®æ¿èªãæ§æããæ©èœããããŸãã
ãããã«
ãããã£ãŠã1ã€ã®ã·ã¹ãã ã§ã¢ã€ãã¢ãããªãªãŒã¹ã«è³ããŸã§ããã¹ãŠãé²ããŸããã åäžã®ã·ã¹ãã ã䜿çšãããšãã¿ã¹ã¯ããªããžããªå ã®ãã©ã³ããããã³ãã«ãéã®é¢ä¿ãç°¡åã«è¿œè·¡ã§ããŸãã

ããã«ãã·ã¹ãã ã䜿çšãããšã Power BIãšçµ±åãããšãã«ãããŸããŸãªã»ã¯ã·ã§ã³ã®ã¢ããªã±ãŒã·ã§ã³ã§ã®äœæ¥ã«é¢ããèå³æ·±ãçµ±èšãååŸã§ããŸãã 1ã€ã®äŸã¯ã人ãšå埩ã«ããäŒæ¥æéã®æ°ã§ã

èå°è£ã«ã¯ããã¹ãã䌎ãäœæ¥ããããŸããã ããããããã¯ããŸãã«ãèšå€§ãªãããã¯ã§ããããã®ãããªèšäºãããã€ãæžãããšãã§ããŸãã
質åãšå»ºèšçãªã³ã¡ã³ãã¯ãã€ãã®ããã«æè¿ããŸãã 以äžã¯ãã·ã¹ãã ãããæ·±ãç解ããããã®äžé£ã®ãªã³ã¯ã§ãã