1. Goã®ãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠã®åºæ¬ç¥è
ãã®ç« ã§ã¯ããGoãããã³ããã¬ãŒã ã¯ãŒã¯ãã®äž¡æ¹ã«ã€ããŠãåºæ¬çãªæ å ±ãšãã®å¿ èŠæ§ãåã³äžè¬çãªç¹åŸŽã解説ããŠãããŸãããããã®ç¥èãæã€ããšã§ãGoã®ãã¬ãŒã ã¯ãŒã¯ã®ç解ãæ·±ãŸããŸãã
ãŸãããããã®ç¥èã掻ãããããªãã®ãããžã§ã¯ãã®å¹çåãå質åäžã«åœ¹ç«ãŠãŠããã ããã°ãšæããŸãã
ããã§ã¯ãŸããGoãšã¯äœãããã®ç¹åŸŽãšã¯äœããèŠãŠãããŸãããã
1.1 Goãšã¯
Goã¯ãGoogleã«ãã£ãŠéçºãããéçåèšèªã§ãããã®ã·ã³ãã«ããšé«éæ§ãããå€ãã®éçºè ã«æ¯æãããåºãæ®åããŠããŸãã
Goã®ç®æããã®ã¯ãæå°éã®æ§æã§æ倧éã®å¹æãåŸããããšãã€ãŸããã³ãŒããã·ã³ãã«ã«ä¿ã¡ãªããããé«åºŠãªæ©èœãå®è£ ããããšãå¯èœã«ããŠããŸãã
ãããã®ç¹æ§ããã倧èŠæš¡ãªã·ã¹ãã éçºããã€ã¯ããµãŒãã¹ã®éçã«ãããŠããGoã¯éåžžã«æçšãªèšèªãšãªã£ãŠããŸãã
1.2 ãã¬ãŒã ã¯ãŒã¯ãšã¯
次ã«ãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠèŠãŠãããŸãããããã¬ãŒã ã¯ãŒã¯ãšã¯ãããã°ã©ã ã®éªšçµã¿ããã³ãã¬ãŒããæäŸãããœãããŠã§ã¢ã§ãã
ããã«ãããéçºè ã¯äžãããã¹ãŠãéçºããå¿ èŠããªããç¹å®ã®éšåã®ã¿ãã«ã¹ã¿ãã€ãºããããè¿œå éçºããã°è¯ãã®ã§ãããã®ãããéçºæéã®åæžãã³ãŒãå質ã®åäžã«åœ¹ç«ã€ã®ã§ãã
ãã¬ãŒã ã¯ãŒã¯ã¯ãäžè¬çã«ã¯ç¹å®ã®èšèªãŸãã¯æè¡ã¹ã¿ãã¯ã«å¯ŸããŠéçºããããã®èšèªã®æ©èœãç¹æ§ãæ倧éã«æŽ»çšããããšãç®æããŠããŸãã
1.3 Goã®ãã¬ãŒã ã¯ãŒã¯ã®å¿ èŠæ§ãšå©ç¹
ããã§ã¯ãGoã®ãã¬ãŒã ã¯ãŒã¯ãäœæ å¿ èŠãªã®ãããã®å©ç¹ã«ã€ããŠè§£èª¬ããŸãã
åè¿°ã®éããGoã¯ãã®ã·ã³ãã«ããšé«éæ§ããå€ãã®éçºè ã«æ¯æãããåºãæ®åããŠããŸããããããããããã«äžæ¹ã§ãå®è£ ããã¹ã詳现ãªæ©èœãå€ãå Žåãè€éãªåŠçãå¿ èŠãªå Žåããã®ã·ã³ãã«ããéã«å¶çŽãšãªã£ãŠããŸãããšããããŸãã
ããããåé¡ã«å¯Ÿæããããã«ãGoã®ãã¬ãŒã ã¯ãŒã¯ãååšããŸãããã®äž»ãªå©ç¹ã¯ä»¥äžã®éãã§ãã
- å®åçãªäœæ¥ãèªååããŸãã¯çç¥ããŠãéçºè ãããéèŠãªããžãã¯ã«éäžã§ãã
- äžè²«æ§ãšå質ã®é«ãã³ãŒããäœæããããŒã å šäœã§ã®å ±æã容æã«ãªã
- 倧èŠæš¡ãªãããžã§ã¯ãã§ãã¹ã±ãŒã«å¯èœã§ãå®å šæ§ãå¹çæ§ãå¯èªæ§ãåäžããã
1.4 Goã®ãã¬ãŒã ã¯ãŒã¯ã®äžè¬çãªç¹åŸŽ
æåŸã«ãGoã®ãã¬ãŒã ã¯ãŒã¯ã®äžè¬çãªç¹åŸŽã«ã€ããŠè§£èª¬ããŸãã
äžã€ç®ã®ç¹åŸŽãšããŠãã軜éæ§ããæããããŸããGoèªäœãé«éã§ããããã¬ãŒã ã¯ãŒã¯ããã®ç¹æ§ã掻ããããã«è»œéåãéèŠèŠãããŠããŸãããã®ãããå®è¡é床ãéããå¹ççã«åŠçãè¡ãããšãå¯èœã§ãã
ãŸããGoã®ãã¬ãŒã ã¯ãŒã¯ã¯ãã·ã³ãã«ãªèšèšããç¹åŸŽçã§ããGoã®ã·ã³ãã«ããèžè¥²ãã圢ã§ãçŽæçã«ç解ããããèšèšããããŠããŸããããã«ããããã¬ãŒã ã¯ãŒã¯ã«åããŠè§Šããéçºè ã§ã容æã«äœ¿çšããããšãã§ãããã°ããéçºãé²ããããšãå¯èœãšãªããŸãã
2. Goã®ä»£è¡šçãªãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠ
Goèšèªã«ã¯å€ãã®é«æ§èœã§ãã€äœ¿ãããããã¬ãŒã ã¯ãŒã¯ãååšããŠããŸããä»åã¯ããã®äžããäž»èŠãªåã€ïŒGinãRevelãBeegoããããŠGo Kitã«ã€ããŠè©³ãã解説ããŠãããŸãããã
2.1 軜éãã¬ãŒã ã¯ãŒã¯Ginã®ç¹åŸŽãšå©çšã·ãŒã³
Ginã¯Goèšèªã«ãããéåžžã«é«éãªè»œéãã¬ãŒã ã¯ãŒã¯ãšããŠç¥ãããŠããŸããçŽ æ©ãéçºãå®çŸããåªããã«ãŒãã£ã³ã°æ©èœããå°ãªãã¡ã¢ãªäœ¿çšéãç¹åŸŽã§ãã
Ginã¯RESTful APIã®éçºãªã©ã§ãã䜿çšãããŸããé«éãªããã©ãŒãã³ã¹ãå¿ èŠãšãã倧èŠæš¡ãµãŒãã¹ã®ããã¯ãšã³ãéçºã«ãæé©ã§ãã
ãŸãGoèšèªã®ååŠè ã«ããšãŠã人æ°ããããŸãããã®çç±ã¯ã·ã³ãã«ã§çŽæçãªAPIãæã£ãŠããããã§ãããã®ãããã§åå¿è ã§ã容æã«æ±ãããšãã§ããŸãã
2.2 ãã«ã¹ã¿ãã¯ãã¬ãŒã ã¯ãŒã¯Revelã®ç¹åŸŽãšå©çšã·ãŒã³
Revelã¯Goã®ãã«ã¹ã¿ãã¯ãã¬ãŒã ã¯ãŒã¯ã®äžã€ã§ãGoèšèªãçãŸããåæããååšããŠããŸããMVC (Model-View-Controller) ã¢ãŒããã¯ãã£ãæ¡çšããŠãããããæ©èœãè±å¯ã§ãããå°ïœå€§èŠæš¡ã®éçºã§ãçšéã«åãããŠäœ¿ãããšãå¯èœã§ãã
ãã®çºãWebã¢ããªã±ãŒã·ã§ã³ã®éçºã«å€ã䜿çšãããŸãããã®ç¹åŸŽãããAPIãµãŒããŒãšããŠã ãã§ãªãHTMLã®ã¬ã³ããªã³ã°ã«ã掻çšã§ããŸãã
Revelã¯èšå®ãè±å¯ã§èªååã®åºŠåããé«ããããGoèšèªã®å šãŠãææ¡ããŠããªãååŠè ã§ãæ±ãããããšãããŸãã
2.3 ãã«ããã©ãã€ã ãã¬ãŒã ã¯ãŒã¯Beegoã®ç¹åŸŽãšå©çšã·ãŒã³
Beegoã¯Goèšèªã§ã®ã¢ããªã±ãŒã·ã§ã³éçºãå©ããå šæ©èœãåãããã¬ãŒã ã¯ãŒã¯ã§ãããã®åã®éããBeegoã®ç¹åŸŽã¯ãªãŒã«ã€ã³ã¯ã³ããã±ãŒãžã§ãã
ãã®ãããBeegoã¯APIãµãŒããŒããWebã¢ããªã±ãŒã·ã§ã³ããããŠã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®ããã¯ãšã³ãã«è³ããŸã§ãå¹ åºãçšããããšãã§ããŸãã
ãã®ä»ã«ãBeegoã¯CLIãåãã£ãŠããããããžã§ã¯ãã®äœæãããã€ã°ã¬ãŒã·ã§ã³ãªã©ãéçºã®ã©ã€ããµã€ã¯ã«å šè¬ãè£å©ããŸãã
2.4 ãã€ã¯ããµãŒãã¹ãã¬ãŒã ã¯ãŒã¯Go Kitã®ç¹åŸŽãšå©çšã·ãŒã³
Go Kitã¯Goèšèªã§ã®ãã€ã¯ããµãŒãã¹éçºãç®æãããã¬ãŒã ã¯ãŒã¯ã§ãããã®èšèšææ³ã¯ãæ確ã«åé¢ãããå°èŠæš¡ãªãµãŒãã¹ãé£æºãåäœãããããšãåæãšããŠããŸãã
åŸã£ãŠãGo Kitã¯å€§èŠæš¡ãã€è€éãªã·ã¹ãã ã«åããŠããŸãããŸããããããã®ãµãŒãã¹ãç¬ç«ããŠã¹ã±ãŒã«ãã容æã«å€æŽã»è¿œå ã§ããããšãå©ç¹ã ãšèšããŸãã
ã¢ãžã¥ã©ãŒãªèšèšã«ãããæ°ããªæè¡ã®å°å ¥ã容æã§ãããããæè¡éžæã®èªç±åºŠãé«ããšè©äŸ¡ãããŠããŸãã
3. Goã®ãã¬ãŒã ã¯ãŒã¯éžæã®åºæº
Goã®ãã¬ãŒã ã¯ãŒã¯éžæããéã«ã¯ãäžäœã©ã®ãããªãã€ã³ããåºæºã«ãã¹ããªã®ã§ããããã以äžã§ã¯å ·äœçãªéžæåºæºã«ã€ããŠè§£èª¬ããŸãã
éžå®ããéã«ã¯ããããžã§ã¯ãã®èŠæš¡ãç®çãéçºããŒã ã®ã¹ãã«ã»ããããã¬ãŒã ã¯ãŒã¯ã®ã³ãã¥ããã£ãšãµããŒãããããŠããã¹ããšãããã°ã®å®¹æããäž»èŠãªæ±ºå®èŠçŽ ãšãªããŸãã
ããããèžãŸããªãããå ·äœçãªåé ç®ã«ã€ããŠè©³ããèŠãŠãããŸãããã
3.1 ãããžã§ã¯ãã®èŠæš¡ãšç®ç
ãã¬ãŒã ã¯ãŒã¯ã®éžæã«ãããæåã®åºæºã¯ããã£ãããšãããžã§ã¯ãã®èŠæš¡ãšç®çãè©äŸ¡ããããšã§ãã
倧èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ãéçºããå Žåãé«åºŠãªã³ã³ã«ã¬ã³ã·ãŒæ©èœãæ¡åŒµæ§ãæã€ãã¬ãŒã ã¯ãŒã¯ãæå¹ã«ãªããŸããäžæ¹ã§ãå°ããªãŠã§ãã¢ããªã±ãŒã·ã§ã³ããã€ã¯ããµãŒãã¹ãäœãå Žåãã·ã³ãã«ã§åŠç¿æ²ç·ãç·©ãããªãã¬ãŒã ã¯ãŒã¯ãéžã¶ã»ããè¯ãã§ãããã
ãŸãããããžã§ã¯ãã®ç®çã«åãããŠãREST APIã®ãµããŒãããªã¢ã«ã¿ã€ã ã®éä¿¡æ©èœãããŒã¿ããŒã¹ã®çµ±åãªã©ãå¿ èŠãªæ©èœãæäŸãããã¬ãŒã ã¯ãŒã¯ãéžã¶ããšãéèŠã§ãã
3.2 éçºããŒã ã®ã¹ãã«ã»ãã
次ã«ãéçºããŒã ã®ã¹ãã«ã»ãããéèŠãªåºæºã®äžã€ã§ãã
ããŒã ãæ¢ã«Goèšèªã«ç²ŸéããŠããã°ãé«åºŠãªæ©èœãæã€ãã¬ãŒã ã¯ãŒã¯ãæ¡çšããããšãã§ããŸãããããããããããŒã ãGoã«äžæ £ãã§ããå ŽåãåŠç¿æ²ç·ãã¹ã ãŒãºã§ç°¡åã«ç解ã§ãããã¬ãŒã ã¯ãŒã¯ãéžã¶ããšãæšå¥šãããŸãã
èªåãã¡ã®ã¹ãã«ã»ãããæ£ç¢ºã«ç解ããããã«é©ãããã¬ãŒã ã¯ãŒã¯ãéžã¶ããšã§ããããžã§ã¯ãã®é²è¡ãã¹ã ãŒãºã«ãªããŸãã
3.3 ãã¬ãŒã ã¯ãŒã¯ã®ã³ãã¥ããã£ãšãµããŒã
第äžã®åºæºãšãªãã®ã¯ããã¬ãŒã ã¯ãŒã¯ã®ã³ãã¥ããã£ãšãµããŒãã®ååšã§ãã
å å®ããã³ãã¥ããã£ãšãµããŒãããããšãåé¡ãçºçããéã«è¿ éã«è§£æ±ºã§ãããããéçºã®å¹çã倧ããåäžããŸããããã¯ç¹ã«Goèšèªãæ°ããåŠã³å§ãã人ã«ãšã£ãŠéèŠãªãã€ã³ããšãªããŸãã
ã¢ã¯ãã£ããªã³ãã¥ããã£ã¯ãæ°æ©èœã®ã¢ããããŒãããã°ãã£ãã¯ã¹ãå®æçã«è¡ãããŠããããšãæå³ããŸããããã¯ãã¬ãŒã ã¯ãŒã¯ãåžžã«ææ°ã®ç¶æ ãä¿ã€ããšãä¿èšŒããŠãããŸãã
3.4 ãã¹ããšãããã°ã®å®¹æã
æåŸã®åºæºãšããŠæããããã®ã¯ããã¹ããšãããã°ã®å®¹æãã§ãã
è¯ããã¬ãŒã ã¯ãŒã¯ã¯ããã¹ããšãããã°ã®ç°¡æåããµããŒãããŸããèªåãã¹ãã容æã«è¡ãããã¬ãŒã ã¯ãŒã¯ãããšã©ãŒã¡ãã»ãŒãžãæ確ã§ãããã¬ã䜿ãããããã¬ãŒã ã¯ãŒã¯ã¯ãéçºè ã®äœæ¥å¹çãå€§å¹ ã«åäžãããããšã§ãããã
ãããã®åºæºãèžãŸãããã¬ãŒã ã¯ãŒã¯ãéžã¶ããšã§ãéçºãããžã§ã¯ãã¯ããæåã«è¿ã¥ãããšãã§ããŸãã
4. Goã®ãã¬ãŒã ã¯ãŒã¯ã掻çšããéçºãã¯ãã«ã«ã¬ã€ã
ããã§ã¯ãGoã®ãã¬ãŒã ã¯ãŒã¯ãçšããéçºããã»ã¹ã解説ããŸããããã§æäŸããã¬ã€ãã©ã€ã³ã«åŸãããšã§ãå¹ççãªç°å¢æ§ç¯ãã質ã®é«ãã³ãŒãçæãå¯èœã«ãªããŸãã
Goã®ãã¬ãŒã ã¯ãŒã¯ã«ã¯ãé«æ§èœãã€äœ¿ãããããéèŠããããã€ãã®ç¹åŸŽããããããããç解ã掻çšããããšã§ãéçºå¹çãå€§å¹ ã«åäžããŸãã
ããã§ã¯å ·äœçãªææ³ã«ã€ããŠãéçºç°å¢ã®ã»ããã¢ãããã¢ããªã±ãŒã·ã§ã³ã®ãã£ã¬ã¯ããªæ§é ã®çµã¿ç«ãŠãHTTPã«ãŒãã£ã³ã°ã®èšå®ãããŒã¿ããŒã¹æ¥ç¶ãšCRUDæäœã®é åºã§è§£èª¬ããŠãããŸãã
4.1 éçºç°å¢ã®ã»ããã¢ãã
Goã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããããã«ã¯ãåãã«é©åãªéçºç°å¢ã®ã»ããã¢ãããå¿ èŠã§ããããã«ã¯ãGoã®ã€ã³ã¹ããŒã«ããã¬ãŒã ã¯ãŒã¯ã®éžå®ãšã€ã³ã¹ããŒã«ããšãã£ã¿ãIDEã®èšå®ãªã©ãå«ãŸããŸãã
Goã®ã€ã³ã¹ããŒã«ã¯å ¬åŒãµã€ãããããŠã³ããŒãããåºæ¬çãªç°å¢å€æ°ã®èšå®ãè¡ãããšã§å®äºããŸãã次ã«ããã¬ãŒã ã¯ãŒã¯ãéžå®ãããããã€ã³ã¹ããŒã«ããŸãããšãã£ã¿ãIDEã®èšå®ã¯ãèªèº«ã®å¥œã¿ã«åãããèšå®ãè¡ããŸãã
å šãŠã®èšå®ãçµãã£ãããå®éã«ã³ãŒããæžãå§ããããšãã§ããŸããéçºç°å¢ã®ã»ããã¢ããã¯äžèŠé£ãããã§ãããGoã¯ã·ã³ãã«ã§ç°¡åã«å§ããããèšèªãªã®ã§ãããŸãå¿é ã¯ãããŸããã
4.2 ã¢ããªã±ãŒã·ã§ã³ã®ãã£ã¬ã¯ããªæ§é
次ã«ãã¢ããªã±ãŒã·ã§ã³ã®ãã£ã¬ã¯ããªæ§é ãçµã¿ç«ãŠãŸãããã®æ§é ã¯ã倧èŠæš¡ãªãããžã§ã¯ãã管çããéã«éèŠãªåœ¹å²ãæãããŸãã
äžè¬çãªGoã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãrootãã£ã¬ã¯ããªãpkgãã£ã¬ã¯ããªãcmdãã£ã¬ã¯ããªãapiãã£ã¬ã¯ããªãªã©ããæ§æãããŸããåãã£ã¬ã¯ããªã¯ããããã®åœ¹å²ãæã¡ãé©åã«åå²ããããšã§ãã³ãŒãã®åå©çšæ§ãåäžããã¡ã³ããã³ã¹ã容æã«ãªããŸãã
ãŸãããã®æç¹ã§Goã®ããã±ãŒãžç®¡çã®ä»çµã¿ã«ã€ããŠç解ããŠãããšãåŸã ã®éçºãã¹ã ãŒãºã«è¡ããŸããGoã®ããã±ãŒãžç®¡çã¯ä»ã®èšèªãšæ¯ã¹ãŠãéåžžã«ã·ã³ãã«ã§ãç解ããã®ã«æéã¯ããããŸããã
4.3 HTTPã«ãŒãã£ã³ã°ã®èšå®
Goã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãHTTPã«ãŒãã£ã³ã°ã®èšå®ãéèŠãªåœ¹å²ãæãããŸããã«ãŒãã£ã³ã°ã¯ãåãªã¯ãšã¹ããé©åãªãã³ãã©ã«å²ãæ¯ã圹å²ãæãããŸãã
ã«ãŒãã£ã³ã°èšå®ã¯ãåºæ¬çã«ã¯éžæãããã¬ãŒã ã¯ãŒã¯ã®èŠå®ã«åŸã£ãŠè¡ããŸããå ·äœçã«ã¯ãURLãã¹ãšããã«çŽã¥ããã³ãã©é¢æ°ãå®çŸ©ããŸãããã®æãRESTfulãªèšèšãå¿ããããšè¯ãã§ãããã
ã«ãŒãã£ã³ã°èšå®ãçµãã£ãããå®éã«ãªã¯ãšã¹ããéããæåŸ éãã«åäœããããã§ãã¯ããŸãããã®æãåçš®HTTPã¡ãœããã®æåã«ã€ããŠç解ããŠãããšã¹ã ãŒãºã«èšå®ããããšãã§ããŸãã
4.4 ããŒã¿ããŒã¹æ¥ç¶ãšCRUDæäœ
æåŸã«ãããŒã¿ããŒã¹æ¥ç¶ãšCRUDæäœã«ã€ããŠè§£èª¬ããŸããGoã§ã¯ããŒã¿ããŒã¹ãšã®ã³ãã¯ã·ã§ã³ã®èšå®ãšãCRUD(Create, Read, Update, Delete)æäœãç°¡åã«è¡ããŸãã
ããŒã¿ããŒã¹ã®æ¥ç¶ã¯ãåããŒã¿ããŒã¹ããšã«ãã©ã€ããã€ã³ã¹ããŒã«ããæ¥ç¶æ å ±ãèšå®ããããšã§å¯èœã«ãªããŸããGoã§ã¯æšæºã©ã€ãã©ãªã®database/sqlãéããŠããŒã¿ããŒã¹æäœãå¯èœã§ãã
CRUDæäœã«ã€ããŠã¯ãåããŒã¿ããŒã¹ãã©ã€ãã«æºããSQLæãçšããŠãããŒã¿ã®äœæãèªã¿èŸŒã¿ãæŽæ°ãåé€ãå¯èœã§ãããã®æäœã¯webã¢ããªã±ãŒã·ã§ã³éçºã®åºæ¬ãšãªãããããã£ãããšç解ããŠãããŸãããã
5. ããã©ãŒãã³ã¹ãšæé©å
Goãã¬ãŒã ã¯ãŒã¯ã®ããã©ãŒãã³ã¹ãšæé©åã«é¢ããŠæ·±ãæ¢ããšããããã©ãã»ã©åŒ·åãã«é©ããããŸããããã§ã¯ãããã©ãŒãã³ã¹ãã¡ã¢ãªç®¡çãã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã䞊è¡åŠçããããŠæé©åã®ãã¯ããã¯ã«ã€ããŠèª¬æããŸãã
5.1 Goã®ãã¬ãŒã ã¯ãŒã¯ã®ããã©ãŒãã³ã¹
Goãã¬ãŒã ã¯ãŒã¯ã¯çŽ æ©ãéçºãšé«æ§èœãªã¢ããªã±ãŒã·ã§ã³ãå®çŸããŸããããã¯å®è¡é床ã®éãã«ãã£ãŠäœçŸãããŸããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã¯ãã®å¹çæ§ã«çŽçµããŸããããGoãã¬ãŒã ã¯ãŒã¯ã®ããã©ãŒãã³ã¹ãç解ããããšã¯éåžžã«éèŠã§ãã
ããã«ãGoãã¬ãŒã ã¯ãŒã¯ã¯ã¹ã±ãŒã©ãã«ã§ãããããå°èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ãã倧èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãºã·ã¹ãã ã«ã察å¿ã§ããŸããèéæ§ãšæ¡åŒµæ§ãGoã®å€§ããªé åãšãªã£ãŠããŸãã
ãããã®ç¹æ§ã¯å€ãã®éçºè ãæ±ãããã®ã§ãããã¯Goãã¬ãŒã ã¯ãŒã¯ã®æåã®å€§ããªèŠå ãšãèšããã§ãããã
5.2 ã¡ã¢ãªç®¡çãšã¬ããŒãžã³ã¬ã¯ã·ã§ã³
ã¡ã¢ãªç®¡çãGoãã¬ãŒã ã¯ãŒã¯ã®äžéšã§ããããã¯ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ïŒGCïŒã«ãããèªåçã«ç®¡çãããŸãã
Goã®GCã¯ç¡é§ãªã¡ã¢ãªãååãããªãœãŒã¹ãå¹ççã«å©çšããŸãããŸããGoã®ããŒã¿æ§é ãšåã·ã¹ãã ãã¡ã¢ãªäœ¿çšãæå°éã«æããå©ãã«ããªããŸãã
ãã®ãããªã¡ã¢ãªç®¡çæ©èœã¯ãã¢ããªã±ãŒã·ã§ã³ãã¹ã ãŒãºã«åäœããããšãä¿èšŒããããã«ããã©ãŒãã³ã¹ãåäžããã圹å²ãæãããŸãã
5.3 ã³ã³ã«ã¬ã³ã·ãŒãšäžŠè¡åŠç
Goãã¬ãŒã ã¯ãŒã¯ã§ã¯ãã³ã³ã«ã¬ã³ã·ãŒãšäžŠè¡åŠçã容æã«æ±ããŸããããã¯Goã軜éã¹ã¬ããïŒãŽã«ãŒãã³ïŒããµããŒãããŠããããã§ãã
ã³ã³ã«ã¬ã³ã·ãŒã¯è€æ°ã®ããã»ã¹ãåæã«å®è¡ããããšã§ãããã©ãŒãã³ã¹ãæ倧åããŸãããŸããã€ãã³ãããŒã¹ã®éåæåŠçãå®è£ å¯èœã§ãã
ããã«ããã倧èŠæš¡ãªã·ã¹ãã ãã¹ã ãŒãºã«ç®¡çãå¯èœã«ãªããŸãããŸãããªã¢ã«ã¿ã€ã ã®ããŒã¿åŠçããé«è² è·ãªç¶æ³ã«ãããããã©ãŒãã³ã¹æé©åãå®çŸã§ããŸãã
5.4 ãã¹ããã©ã¯ãã£ã¹ãšãã¥ãŒãã³ã°ãã¯ããã¯
Goãã¬ãŒã ã¯ãŒã¯ã®å©çšã§ã¯ããã¹ããã©ã¯ãã£ã¹ãšãã¥ãŒãã³ã°ãã¯ããã¯ãäžæ©å ãè¡ãããã®ç§èš£ãšãªããŸãã
ã³ãŒãå質ãæ ä¿ããããã®ãã¹ããããªãã¡ã¯ã¿ãªã³ã°ããããã°ãªã©ãå€ãã®ãã¹ããã©ã¯ãã£ã¹ãååšããŸãããããŠãããããé©çšããããšã§ãéçºå¹çãšã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãããã«åäžãããããšãã§ããŸãã
ããã«ããã¥ãŒãã³ã°ãã¯ããã¯ãçšãããšãç¹å®ã®ã·ããªãªã«ãããããã©ãŒãã³ã¹ãæé©åããããšãå¯èœã§ããããã«ã¯ããŒã«ã®å©çšãã³ãŒãå éšã®èª¿æŽãããŒã¿æ§é ã®éžæãªã©ãå€å²ã«ãããææ³ãååšããŸãã
6. Goã®ãã¬ãŒã ã¯ãŒã¯ã掻çšããã±ãŒã¹ã¹ã¿ãã£ãšæåäºäŸ
Goã®ãã¬ãŒã ã¯ãŒã¯ã¯ãã®æ§èœã®é«ããšè¿ éãªéçºãµã€ã¯ã«ãå¯èœã«ããæè»æ§ãããæ§ã ãªèŠæš¡ã®ãããžã§ã¯ãã§åºãå©çšãããŠããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ããã®é©çšäŸãšæåäºäŸã«ã€ããŠè©³ãã解説ããŸãã
6.1 倧èŠæš¡ãµãŒãã¹ã§ã®äœ¿çšäŸ
倧èŠæš¡ãµãŒãã¹ã«ãããŠã¯ãGoãã¬ãŒã ã¯ãŒã¯ã®ã¹ã±ãŒã©ããªãã£ãšããã©ãŒãã³ã¹ãéåžžã«éèŠãªèŠå ãšãªããŸãã Goã¯ãã®ã³ã³ãã€ã«é床ãšéçåä»ãã®æ©æµã«ããã倧èŠæš¡ãªã³ãŒãããŒã¹ã管çããéã®å°é£ãã軜æžããŸãã
ãŸããGoã®åŒ·åãªäžŠè¡åŠçæ©èœã¯ãæ°çŸå°ã®ãµãŒããŒã掻çšããŠèšå€§ãªæ°ã®ãªã¯ãšã¹ããåŠçããå¿ èŠããã倧èŠæš¡ãµãŒãã¹ã«ãããŠããã®ç䟡ãçºæ®ããŸãããã®ããšã«ããããšã³ããŠãŒã¶ãŒã«å¯ŸããŠè¿ éã§äžè²«æ§ã®ãããµãŒãã¹ãæäŸããããšãå¯èœãšãªãã®ã§ãã
å ·äœçãªäœ¿çšäŸãšããŠã¯ãã°ããŒãã«ãªé ä¿¡ãããã¯ãŒã¯ãæã€åç»ã¹ããªãŒãã³ã°ãµãŒãã¹ãªã©ããããããŸãã
6.2 äžèŠæš¡ãµãŒãã¹ã§ã®äœ¿çšäŸ
äžèŠæš¡ãµãŒãã¹ã«ãããŠã¯ããã¯ãGoãã¬ãŒã ã¯ãŒã¯ã®é«ãããã©ãŒãã³ã¹ãšé«éãªéçºãµã€ã¯ã«ãæ±ããããŸããäžèŠæš¡ãµãŒãã¹ã§ã¯ãã³ãŒãããŒã¹ãå€§å¹ ã«å¢å€§ããåã«ããªãªãŒã¹ãšå埩çãªæ¹åãéããã«è¡ãããšãéèŠãšãªããŸãã
Goãã¬ãŒã ã¯ãŒã¯ã®æçãªæ§æãšããã±ãŒãžç®¡çã®åæ»ãã«ããããããžã§ã¯ãã®æ··ä¹±ãæå°éã«æãã€ã€ãé«éãªéçºãšå質ä¿èšŒãäžèŽãããããšãå¯èœãšãªããŸãã
å床ã®ãªã³ã©ã€ã³ã·ã§ããã³ã°ãµã€ãããäžèŠæš¡ã®ããŒã¿åæãã©ãããã©ãŒã ãªã©ããã®ã«ããŽãªã«è©²åœããŸãã
6.3 å°èŠæš¡ãµãŒãã¹ã§ã®äœ¿çšäŸ
å°èŠæš¡ãµãŒãã¹ã§ããå šäœçãªããã©ãŒãã³ã¹ã®é«ããšéçºå¹çã®åäžã®ããã«Goãã¬ãŒã ã¯ãŒã¯ã掻çšãããŸãã
ç¹ã«ã¹ã¢ãŒã«ããŒã ãå人ã«ãããããžã§ã¯ãã§ã¯ãGoãã¬ãŒã ã¯ãŒã¯ã®æèªæ§ãšã·ã³ãã«ãªæ§æãããã¿ãªãšãã£ããããŸãã
äŸãã°ãã¹ã¿ã³ãã¢ããŒã³ã®APIãµãŒããŒãå°ããªWebã¢ããªã±ãŒã·ã§ã³ãç°¡æãªããŒã¿ããŒã¹ç³»ã®ã¢ããªã±ãŒã·ã§ã³ãªã©ã該åœããŸãã
6.4 ã¹ã¿ãŒãã¢ããã§ã®äœ¿çšäŸ
ã¹ã¿ãŒãã¢ããã§ã¯ããããã¯ããåžå Žã«æå ¥ããæéãéèŠãªæåèŠå ãšãªããããGoãã¬ãŒã ã¯ãŒã¯ã®é«ãéçºå¹çãéåžžã«é åçã§ãã
ãŸããã¹ã¿ãŒãã¢ããç¹æã®ãªãœãŒã¹å¶éãããŒã ã®å°ãããè£ã£ãŠäœãããGoãã¬ãŒã ã¯ãŒã¯ã®æ©èœã»ããã¯ãæ°ããããžãã¹ãå®çŸããããã®ããŒã«ãšããŠåªããŠããŸãã
å ·äœçãªäŸãšããŠã¯ãæ°ãã«æ°ããããŒã±ããã«åå ¥ããSaaSãããã¯ãããã¹ã¿ãŒãã¢ããã«ããæ°èŠã®WebãµãŒãã¹ãªã©ãæããããŸãã