
ãã®ã¬ã€ãã§ã¯ãCloud9 Integrated Development EnvironmentïŒIDEïŒã䜿çšããŠWindows Azureã§Node.jsã¢ããªã±ãŒã·ã§ã³ãéçºãã³ã³ãã€ã«ãããã³ãããã€ããæ¹æ³ã«ã€ããŠèª¬æããŸãã
ãã®ã¬ã€ãã§èª¬æããå 容ïŒ
- Cloud9 IDEã§ãããžã§ã¯ããäœæããæ¹æ³ã
- Windows Azureã§ãããžã§ã¯ããå±éããæ¹æ³ã
- Windows Azureã«ãããã€ãããã¢ããªã±ãŒã·ã§ã³ãæŽæ°ããæ¹æ³ã
- ãã¹ãå±éãšéçšå±ééã§ãããžã§ã¯ãã移åããæ¹æ³ã
Cloud9 IDEã¯ãWebã€ã³ã¿ãŒãã§ãŒã¹ãåããã¯ãã¹ãã©ãããã©ãŒã éçºç°å¢ã§ãã Node.jsããŒã¹ã®ãããžã§ã¯ãåãã®Cloud9ã®æ©èœã®1ã€ã«ãããã¢ããªã±ãŒã·ã§ã³ãWindows Azureã«çŽæ¥å±éã§ããŸãã ããã«ãCloud9ã¯GitHubããã³BitBucketãªããžããªãšçµ±åãããŠãããããä»ã®éçºè ãšãããžã§ã¯ããç°¡åã«å ±æã§ããŸãã
Cloud9ã䜿çšãããšãã»ãšãã©ã®ææ°ã®ãã©ãŠã¶ãŒãšãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããWindows Azureã§ã¢ããªã±ãŒã·ã§ã³ãéçºããã³å±éã§ããããŒã«ã«ã³ã³ãã¥ãŒã¿ãŒã«è¿œå ã®ããŒã«ãSDKãã€ã³ã¹ããŒã«ããå¿ èŠã¯ãããŸããã 以äžã§ã¯ãMacã§Google Chromeãã©ãŠã¶ãŒã䜿çšããæ¹æ³ã«ã€ããŠèª¬æããŸãã
ãµãã¹ã¯ãªãã·ã§ã³
Cloud9ãéå§ããã«ã¯ããµãã¹ã¯ã©ã€ãããå¿ èŠããããŸã ã æ¢åã®GitHubãŸãã¯BitBucketã¢ã«ãŠã³ãã䜿çšããŠããŸãã¯Cloud9ã¢ã«ãŠã³ããäœæããŠããµã€ãã«ãã°ã€ã³ã§ããŸãã ç¡æãšææã®äž¡æ¹ã®ãµãã¹ã¯ãªãã·ã§ã³ãå©çšå¯èœã§ãïŒé«åºŠãªæ©èœãåããŠããŸãïŒã 詳现ã«ã€ããŠã¯ã Cloud9 IDEãåç §ããŠãã ããã
Node.jsãããžã§ã¯ãã®äœæ
Cloud9ã«ãã°ã€ã³ãã[ ãã€ãããžã§ã¯ã ]ã®æšªã«ãã[ + ]ã¢ã€ã³ã³ãã¯ãªãã¯ããŠã[ æ°ãããããžã§ã¯ããäœæ]ãéžæããŸã ã

[ æ°ãããããžã§ã¯ãã®äœæ ]ãã€ã¢ãã°ããã¯ã¹ã§ã ãããžã§ã¯ãã®ååãšã¿ã€ããããã³ã¢ã¯ã»ã¹æ¹æ³ãæå®ããŸãã [ äœæ]ãã¯ãªãã¯ããŠããããžã§ã¯ããäœæããŸã ã

ã泚æ äžéšã®èšå®ã¯ãCloud9ã®ææããŒãžã§ã³ã§ã®ã¿äœ¿çšã§ããŸãã
ã泚æ Cloud9ãããžã§ã¯ããWindows Azureã«ãããã€ããå Žåããã®ååã¯äœ¿çšãããŸããã
ãããžã§ã¯ããäœæãããã[ ç·šéã®éå§ ]ãã¯ãªãã¯ããŸãã Cloud9ãåããŠèµ·åããå Žåãã·ã¹ãã ã¯æ©èœã®ç°¡åãªæŠèŠãæäŸããŸãã ã¬ãã¥ãŒãã¹ãããããããåŸã§èŠãã«ã¯ã ãç·šéè ã®ã¿ããéžæããŠãã ãã ã

Nodeã¢ããªã±ãŒã·ã§ã³ãäœæããã«ã¯ã[ ãã¡ã€ã« ]ãã¯ãªãã¯ãã[ æ°èŠãã¡ã€ã« ]ãéžæããŸã ã

æ°ããUntitled1ã¿ãã衚瀺ãããŸãã Nodeã¢ããªã±ãŒã·ã§ã³ãäœæããã«ã¯ã Untitled1ã¿ãã§æ¬¡ã®ã³ãŒããå ¥åããŸãã
var http = require('http'); var port = process.env.PORT; http.createServer(function(req,res) { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('hello azure\n'); }).listen(port);
ã泚æ process.env.PORTå€æ°ã¯ãCloud9ã§ãããã°ãããšããšWindows Azureã«ãããã€ãããšãã®äž¡æ¹ã§ãã¢ããªã±ãŒã·ã§ã³ãæ£ããããŒãã䜿çšããããã«ããŸãã
ã³ãŒããä¿åããã«ã¯ã[ ãã¡ã€ã«] ã[ ååãä»ããŠä¿å]ã®é ã«éžæããŸã ã [ååãä»ããŠä¿å ]ãã€ã¢ãã°ããã¯ã¹ã§ããã¡ã€ã«åãšããŠserver.jsãæå®ãã[ ä¿å ]ãã¯ãªãã¯ããŸã ã
ã泚æ å Žåã«ãã£ãŠã¯ãreqå€æ°ã䜿çšãããŠããªãããšã瀺ãèŠåã¢ã€ã³ã³ã衚瀺ãããŸãã 圌ãç¡èŠããŠãã ããã

ã¢ããªã±ãŒã·ã§ã³ã®èµ·å
ã泚æ ãã®ã»ã¯ã·ã§ã³ã§èª¬æããæé ã¯ãæãåçŽãªã¢ããªã±ãŒã·ã§ã³ãäœæããã®ã«é©ããŠããŸãã ã¢ããªã±ãŒã·ã§ã³ãå€éšã¢ãžã¥ãŒã«ã䜿çšããå Žåããããã°ç°å¢ã«ã¯ç°ãªãããŒãžã§ã³ã®Node.jsãå¿ èŠã«ãªããŸãã æå¹ã«ããã«ã¯ããããã°ããããããŠã³ãªã¹ããã[æ§æ...]ãéžæããå¿ èŠãªNode.jsã®ããŒãžã§ã³ãæå®ããŸãã ããšãã°ã0.6.x以å€ã®Node.jsã®ããŒãžã§ã³ã䜿çšããŠããå Žåãazureã¢ãžã¥ãŒã«ã䜿çšãããšèªèšŒãšã©ãŒãçºçããå ŽåããããŸãã
Cloud9ãããã¬ãŒã§ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããã«ã¯ã[ ãããã° ]ãã¯ãªãã¯ããŸãã

çµæãŠã£ã³ããŠã衚瀺ãããŸãã æå®ãããURLãã¯ãªãã¯ããŠããã©ãŠã¶ãŠã£ã³ããŠã§ã¢ããªã±ãŒã·ã§ã³ãéããŸãã

ã¢ããªã±ãŒã·ã§ã³ã¯æ¬¡ã®ããã«ãªããŸãã

ãããã°ãåæ¢ããã«ã¯ã åæ¢ãã¯ãªãã¯ããŸãã
Windows Azureã¢ã«ãŠã³ããäœæãã
ã¢ããªã±ãŒã·ã§ã³ãWindows Azureã«ãããã€ããã«ã¯ã¢ã«ãŠã³ããå¿ èŠã§ãã Windows Azureã¢ã«ãŠã³ãããŸã ãæã¡ã§ãªãå Žåã¯ãè©Šçšçãµãã¹ã¯ãªãã·ã§ã³ã«ãµã€ã³ã¢ããããŠãã ããã ãããè¡ãã«ã¯ã httpïŒ//www.windowsazure.comã«ã¢ã¯ã»ã¹ããå³äžé ã®[ ç¡æè©Šçšç ]ãã¯ãªãã¯ããŸãã
å±éãäœæãã
æ°ããå±éãäœæããã«ã¯ã[ å±é ]ãéžæãã[ + ]ãã¯ãªãã¯ããŠå±éãµãŒããŒãäœæããŸãã

[ å±éã¿ãŒã²ããã®è¿œå ]ãã€ã¢ãã°ããã¯ã¹ã§ãå±éåãå ¥åãã[ çš®é¡ã®éžæ]ãªã¹ããã[ Windows Azure]ãéžæããŸãã ãã®ååã¯Cloud9ã®å±éãèå¥ããããã«å¿ èŠã§ãããWindows Azureã®å±éåã«ã¯é¢é£ä»ããããŸããã
Cloud9 for Windows AzureãåããŠãããã€ããå Žåã¯ãWindows Azureã®å ¬éãªãã·ã§ã³ãæ§æããŸãã ãããè¡ãã«ã¯ã以äžã§èª¬æããããã«Cloud9ãã©ã¡ãŒã¿ãŒãããŠã³ããŒãããŠèšå®ããŸãã
[ Windows Azureèšå®ã®ããŠã³ããŒã]ãã¯ãªãã¯ããŸã ã

Windows Azure管çããŒã¿ã«ãéããWindows Azureã®å ¬éèšå®ãããŠã³ããŒãããããæ±ããããŸãã ããŠã³ããŒããéå§ããåã«ãWindows Azureã¢ã«ãŠã³ãã«ãã°ã€ã³ããŸãã
ãããªã±ãŒã·ã§ã³èšå®ãã¡ã€ã«ãããŒã«ã«ãã©ã€ãã«ä¿åããŸãã
[ å±éã¿ãŒã²ããã®è¿œå ]ãã€ã¢ãã°ããã¯ã¹ã§ã[ ãã¡ã€ã«ã®éžæ]ãéžæããããŠã³ããŒããããã¡ã€ã«ãžã®ãã¹ãæå®ããŸãã
次ã«ã¢ããããŒããã¯ãªãã¯ããŸãã
[ +æ°èŠäœæ]ãã¯ãªãã¯ããŠããã¹ãããããµãŒãã¹ãäœæããŸãã ãã¹ãããããµãŒãã¹ã¯ãWindows Azureã«ãããã€ããããšãã«ã¢ããªã±ãŒã·ã§ã³ããã¹ãããã³ã³ãããŒã§ãã 詳现ã«ã€ããŠã¯ãã Windows Azureçšã®ãã¹ãããããµãŒãã¹ã®äœæã«ã€ããŠããåç §ããŠãã ããã

ã·ã¹ãã ã¯ããã¹ãããããµãŒãã¹ã®ååãšæ§æãã©ã¡ãŒã¿ãŒïŒã€ã³ã¹ã¿ã³ã¹ã®æ°ãOSãããã³ããŒã¿ã»ã³ã¿ãŒïŒã®å ¥åãæ±ããŸãã æå®ãããå±éåã¯ãWindows Azureã§ãã¹ãããããµãŒãã¹åãšããŠäœ¿çšãããŸãã ãã®ååã¯ãWindows Azureã§äžæã§ããå¿ èŠããããŸãã

ã泚æ [æ¢åã®å±éã®éžæ]ã®äžã®[å±éã¿ãŒã²ããã®è¿œå ]ãã€ã¢ãã°ããã¯ã¹ã«ããã¹ããããŠãããã¹ãŠã®Windows AzureãµãŒãã¹ãäžèŠ§è¡šç€ºãããŸãã ç¹å®ã®ãµãŒãã¹ã«ãããžã§ã¯ãããããã€ããã«ã¯ããã®ãªã¹ããããããžã§ã¯ããéžæããŸãã
ã泚æ ãªã¢ãŒããã¹ã¯ãããã®å±éãæå¹ã«ããã«ã¯ã[RDPãæå¹ã«ãã]ãéžæããŠè³æ Œæ å ±ãæäŸããŸãã
Windows Azureã®å±é
åã®æé ã§äœæããå±éãéžæããŸãã ãã€ã¢ãã°ããã¯ã¹ãéãããã®å±éã«é¢ããæ å ±ãšWindows Azureã«å±éããäœæ¥URLã衚瀺ãããŸãã

[å®çšŒåç°å¢ã«ãããã€]ãéžæããŸã ã å±éãéå§ããã«ã¯ã[ å±é ]ãã¯ãªãã¯ããŸãã
ãã®ãããžã§ã¯ããWindows Azureã«åããŠå±éããå Žåã No web.config foundãšã©ãŒã¡ãã»ãŒãžã衚瀺ãããŸãã [ ã¯ã]ãã¯ãªãã¯ããŠãäžè¶³ããŠãããã¡ã€ã«ãäœæããŸãã ãã®çµæãWeb.cloud.configãã¡ã€ã«ããããžã§ã¯ãã«è¿œå ãããŸãã

ãã®ãããžã§ã¯ããWindows Azureã«åããŠå±éããå Žåã ã 'csdef'ãã¡ã€ã«ãååšããŸããããšãããšã©ãŒã¡ãã»ãŒãžã衚瀺ãããŸãã [ ã¯ã]ãã¯ãªãã¯ããŠãäžè¶³ããŠãã.csdefãã¡ã€ã«ãäœæããŸãã ãã®çµæãServiceDefinition.csdefãã¡ã€ã«ããããžã§ã¯ãã«è¿œå ãããŸãã ServiceDefinition.csdefãã¡ã€ã«ã¯ãã¢ããªã±ãŒã·ã§ã³ãWindows Azureã«å ¬éããããã«å¿ èŠã§ãã 詳现ã«ã€ããŠã¯ãã Windows Azureçšã®ãã¹ãããããµãŒãã¹ã®äœæã«ã€ããŠããåç §ããŠãã ããã
ã·ã¹ãã ã¯ããã®ã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¹ã¿ã³ã¹ãµã€ãºãæå®ããããã«æ±ããŸãã [ å° ]ãéžæãã[ äœæ ]ãã¯ãªãã¯ããŸã ã Windows Azureä»®æ³ãã·ã³ã®ãµã€ãºã®è©³çŽ°ã«ã€ããŠã¯ã ãä»®æ³ãã·ã³ã®ãµã€ãºãèšå®ããæ¹æ³ ãã»ã¯ã·ã§ã³ãåç §ããŠãã ãã ã

å±éã¹ããŒã¿ã¹ã«ã¯ãããã»ã¹ã®é²è¡ç¶æ³ã衚瀺ãããŸãã å±éãå®äºãããšã ã¢ã¯ãã£ãã衚瀺ãããŸãã

ã泚æ Cloud 9ãä»ããŠWindows Azureã«ãããã€ããããããžã§ã¯ãã«ã¯ãååãšããŠGUIDãå²ãåœãŠãããŸãã
å±éãã€ã¢ãã°ã¯äœæ¥URLãæå®ããŸãã ããã»ã¹ãå®äºããããURLãã¯ãªãã¯ããŠããã©ãŠã¶ãŒã§Windows Azureã«ãããã€ãããã¢ããªã±ãŒã·ã§ã³ãéããŸãã

ã¢ããªã±ãŒã·ã§ã³æŽæ°
ã¢ããªã±ãŒã·ã§ã³ãå€æŽããã«ã¯ãCloud9ã䜿çšããŠããã¹ããããŠããåãWindows AzureãµãŒãã¹ã§ã¢ããªã±ãŒã·ã§ã³ãæŽæ°ã§ããŸãã
server.jsãã¡ã€ã«ã§ãã³ãŒãhello azure v2ã衚瀺ãããããã«ã³ãŒããå€æŽããŸãã ããšãã°ãæ¢åã®ã³ãŒãã次ã®ã³ãŒãã«çœ®ãæããŸãã
var http = require('http'); var port = process.env.PORT; http.createServer(function(req,res) { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('hello azure v2\n'); }).listen(port);
ã³ãŒããä¿åããã«ã¯ã[ ãã¡ã€ã«] ã[ä¿å]ã®é ã«éžæããŸã ã
Windows Azureãã¹ãç°å¢ã§ã®æŽæ°ããã°ã©ã ã®å±é
ã¹ããŒãžã³ã°ã«ãããã€ãéžæããŸãã å±éãéå§ããã«ã¯ã[ å±é ]ãã¯ãªãã¯ããŸãã
ãã¹ããããŠãããã¹ãŠã®Windows AzureãµãŒãã¹ã¯ããã¹ãç°å¢ãšéçšç°å¢ã®2ã€ã®ç°å¢ããµããŒãããŠããŸãã ãã¹ãç°å¢ã¯ãWindows Azureã«ãã£ãŠäœæãããGUIDããŒã¹ã®æ¡ä»¶ä»ãURLã䜿çšããŠãã¹ãç°å¢ã®ã¢ããªã±ãŒã·ã§ã³ã«ã¢ã¯ã»ã¹ããããšãé€ããŠãäœæ¥ç°å¢ãšäŒŒãŠããŸãã ã¢ããªã±ãŒã·ã§ã³ã¯ããã¹ãç°å¢ã§æåã«ãã¹ãã§ãã次ã«èª¬æããããã«ãä»®æ³IPã¢ãã¬ã¹ïŒVIPïŒã«ã¹ã¯ããããããšã§å®çšŒåç°å¢ã«ç§»åã§ããŸãã
ãã¹ãç°å¢ã«ã¢ããªã±ãŒã·ã§ã³ããããã€ãããšãã³ã³ãœãŒã«ã«ã¯ãGUIDããŒã¹ã®ãã¹ãURLã衚瀺ãããŸãïŒäžã®ã¹ã¯ãªãŒã³ã·ã§ãããåç §ïŒã ãã©ãŠã¶ã®ãã¹ãç°å¢ã§ã¢ããªã±ãŒã·ã§ã³ãéãã«ã¯ããã®URLãã¯ãªãã¯ããŸãã

VIPã¹ã¯ããã䜿çšããŠæŽæ°ãå®çšŒåç°å¢ã«ç§»åãã
ãã¹ãç°å¢ãŸãã¯å®çšŒåç°å¢ã«å±éãããšãåãµãŒãã¹ã«ä»®æ³IPã¢ãã¬ã¹ïŒVIPïŒãå²ãåœãŠãããŸãã ãããã£ãŠããµãŒãã¹ããã¹ãç°å¢ããæ¬çªç°å¢ã«ç§»åããã«ã¯ããµãŒãã¹ãåãããã€ãã代ããã«ãVIPã亀æã§ããŸãã ãã®å Žåãã¢ããªã±ãŒã·ã§ã³ã¯æ©èœãåæ¢ããããšãªãããã¹ãç°å¢ããäœæ¥ç°å¢ã«ç§»åãããŸãã 詳现ã«ã€ããŠã¯ã ãWindows Azureã®å±é管çã«ã€ããŠããåç §ããŠãã ããã
å±éãã€ã¢ãã°ããã¯ã¹ã§ã[ ããŒã¿ã«ãéã ]ãªã³ã¯ãã¯ãªãã¯ããŠãWindows Azure管çããŒã¿ã«ã«ç§»åããŸãã

è³æ Œæ å ±ã§ãµã€ã³ã€ã³ããŸãã
WebããŒãžã®å·ŠåŽã§ã[ Hosted Services ]ã[ Storage Accounts ïŒ CDN ]ãéžæãã[ Hosted Services ]ãã¯ãªãã¯ããŸã ã

çµæãã€ã³ã«ã¯ãCloud9ã§æå®ããããã¹ãããããµãŒãã¹åãšã2ã€ã®ãããã€ã¡ã³ãã衚瀺ãããŸãã1ã€ã¯ç°å¢ ã¹ããŒãžã³ã°ã§ããã1ã€ã¯æ¬çªçšŒåã§ãã
VIPã亀æããã«ã¯ããã¹ããããŠãããµãŒãã¹ãéžæãããªãã³ã®[ VIPã®äº€æ ]ãã¯ãªãã¯ããŸãã

éããŠãã[VIPã¹ã¯ãã]ãã€ã¢ãã°ããã¯ã¹ã§ã[ OK ]ãã¯ãªãã¯ããŸãã
å®çšŒåç°å¢ã®ã¢ããªã±ãŒã·ã§ã³ã«ç§»åããŸãã ã¢ããªã±ãŒã·ã§ã³ããã¹ãç°å¢ããåäœç°å¢ã«ç§»åããããšã«æ³šæããŠãã ããã

ãªã¢ãŒããã¹ã¯ãããã®äœ¿çš
äœæäžã«RDPå±éã䜿çšãããŠãŒã¶ãŒåãšãã¹ã¯ãŒããæå®ããå Žåãå¿ èŠãªã€ã³ã¹ã¿ã³ã¹ãéžæãããªãã³ã®[æ¥ç¶]ãã¯ãªãã¯ããŠããªã¢ãŒããã¹ã¯ãããçµç±ã§ãã¹ãããããµãŒãã¹ã«æ¥ç¶ã§ããããã«ãªããŸããã

[æ¥ç¶]ãã¿ã³ãã¯ãªãã¯ãããšãã·ã¹ãã ã¯.RDPãã¡ã€ã«ã®ããŠã³ããŒããææ¡ããŸãã ãã®ãã¡ã€ã«ã«ã¯ããªã¢ãŒããã¹ã¯ãããã»ãã·ã§ã³ã®äœæã«å¿ èŠãªæ å ±ãå«ãŸããŠããŸãã Windowsã§ãã®ãã¡ã€ã«ãéããå±éã®äœææã«æå®ãããŠãŒã¶ãŒåãšãã¹ã¯ãŒããå ¥åããŠãéžæããã€ã³ã¹ã¿ã³ã¹ã®ãã¹ã¯ãããã«æ¥ç¶ããŸãã
ã泚æ ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãã€ã³ã¹ã¿ã³ã¹ãšã®éä¿¡ã«äœ¿çšããã.RDPãã¡ã€ã«ã¯ãWindowsãªã¢ãŒããã¹ã¯ãããã§ã®ã¿æ©èœããŸãã
ã¢ããªã±ãŒã·ã§ã³ãåæ¢ããŠã¢ã³ã€ã³ã¹ããŒã«ãã
Windows Azureã¯ããµãŒããŒãå®è¡ããããã³ã«ããŒã«ã€ã³ã¹ã¿ã³ã¹ãèšé²ããã€ã³ã¹ã¿ã³ã¹ãå®è¡ãããŠããªããŠãããµãŒããŒã®çšŒåæéã«ã¯å±éæéãå«ãŸããŸãã ããã«ããµãŒããŒã®çšŒåæéã¯ããã¹ãç°å¢ãšéçšç°å¢ã®äž¡æ¹ã§ã®å±éãèæ ®ããŠããŸãã
Cloud9ã¯åãªãéçºç°å¢ã§ãããWindows Azureã«ãããã€ãããã¢ããªã±ãŒã·ã§ã³ãçŽæ¥åæ¢ãŸãã¯ã¢ã³ã€ã³ã¹ããŒã«ããããšã¯ã§ããŸããã Windows Azureããã¢ããªã±ãŒã·ã§ã³ãåé€ããã«ã¯ã次ã®æé ãå®è¡ããŸãã
å±éãã€ã¢ãã°ããã¯ã¹ã§ã[ ããŒã¿ã«ãéã ]ãªã³ã¯ãã¯ãªãã¯ããŠãWindows Azure管çããŒã¿ã«ã«ç§»åããŸãã
![clip_image038 [1] clip_image038[1]](https://habrastorage.org/getpro/habr/post_images/6f2/77a/dba/6f277adbad973f752bd19e703959d389.gif)
è³æ Œæ å ±ã§ãµã€ã³ã€ã³ããŸãã WebããŒãžã®å·ŠåŽã§ã[ Hosted Services ]ã[ Storage Accounts ïŒ CDN ]ãéžæãã[ Hosted Services ]ãã¯ãªãã¯ããŸã ã
ãã¹ãç°å¢ãéžæããŸãïŒã ç°å¢ããã£ãŒã«ãã®å€ãåç §ïŒã ã¢ããªã±ãŒã·ã§ã³ãåé€ããã«ã¯ããªãã³ã®[ åé€ ]ãã¯ãªãã¯ããŸãã

åæ§ã«ãã¢ããªã±ãŒã·ã§ã³ãã¢ã³ã€ã³ã¹ããŒã«ããã«ã¯ãäœæ¥ç°å¢ãéžæããŠ[ åé€]ãã¯ãªãã¯ããŸãã