æ±äº¬éœã®æ°åã³ãã察çãµã€ãã¯ãªãNuxtJSã ã£ãã®ãïŒ â ã·ããã¯ããã¯ã®ãã¹ããã©ã¯ãã£ã¹
æ±äº¬éœã3æåæ¬ã«å ¬éããæ°åã³ãããŠã£ã«ã¹ææç察çãµã€ãã¯ãã¢ãã³ãªWebæè¡ã䜿ããªãŒãã³ãœãŒã¹ã®ææ³ã§éçºãããŸãããã·ããã¯ããã¯ã®æŽ»åããçãŸãããã¹ããã©ã¯ãã£ã¹ã«ã€ããŠãéçºè ã®ã2人ã«èããŸããã
æ±äº¬éœã2020幎3æ3æ¥æ·±å€ã«å ¬éããæ°åã³ãããŠã€ã«ã¹ææç察çãµã€ãã¯ãéœå ã®ææååãèŠãããæŽçãããŠããã ãã§ãªããNuxtJSããŒã¹ã®SSRïŒServer Side RenderingïŒã§éçãã¹ãã£ã³ã°ã«Netlifyãæ¡çšãããµãŒãã¬ã¹ãªSPAïŒSingle Page ApplicationïŒãšããã¢ãã³ãªæè¡éžå®ãWebãšã³ãžãã¢ã®éã§æ³šç®ãéããŸããã
ãœãŒã¹ã³ãŒãã¯GitHubãUIãã¶ã€ã³ãFigmaã§ç®¡çããŠããããã瀟äŒçãªåé¡ã®è§£æ±ºã«ååããããšã³ãžãã¢ãæ¹åææ¡ãªã©ãã³ã³ããªãã¥ãŒãã§ããéçºç°å¢ã§ã¯CI/CDãæŽåãããŠãããé©åãªãªãŒãã³ãœãŒã¹ã©ã€ã»ã³ã¹ïŒMIT LicenseïŒãä»äžãããŠããã®ã§åå°æ¹èªæ²»äœåãã®æŽŸççãèªç±ã«äœæã§ããââã
ãããã£ããªãŒãã³ãœãŒã¹ã®ãããŒã«åã£ããã®å¯Ÿçãµã€ãã¯ãå ã€ããŒCEOã®å®®ååŠïŒ@miyasakaïŒæ±äº¬éœå¯ç¥äºãçµç¹ããç¹å¥åºå ±ããŒã ã®å§èšãåãã颿²»ä¹ïŒ@hal_skïŒããã代衚ãåããCode for JapanãéçºããŸããã
Code for Japanã¯ãè¡æ¿ã§ã¯ãªããªãæãå±ããªãå°åã®èª²é¡ããã¯ãããžãŒã®åã§æå©ãããã·ããã¯ããã¯ãšããæŽ»åãããŠããäžè¬ç€Ÿå£æ³äººã§ã2011å¹Žã®æ±æ¥æ¬å€§éçœåŸçŽåŸã«éçºè ã³ãã¥ããã£ããç«ã¡äžãã£ãæ¯æŽã®åãã®äžããçãŸããŸããã
æ¥ãèŠãã察çãµã€ãã«ãããŠãªããã®ããã«ã¢ãã³ãªæè¡èŠçŽ ãéžå®ã§ããå®éã«ã¯ã©ã®ããã«éçºãé²ããã®ãïŒ ãµã€ãã®ããŒã³ããŸã§å°æ°ã§éçºã«ããã£ãã³ã¢ããŒã ã®ã¡ã³ããŒã§ããå°å¯å·å¥ãããšæ± ç°éåããã«ãä»åã®ãããžã§ã¯ããæ¯ããæè¡ã®èæ¯ãããã·ããã¯ããã¯ã«æºãããšã³ãžãã¢ã®ããæ¹ãŸã§ã話ã䌺ããŸããã
- ãªãNuxtJSã ã£ãã®ãïŒ ãããã¯jQueryã§ãªãã£ããïŒ
- å¶ç¶ã«æ±ºãŸã£ãNetlifyã¯éçºã«ãšãŠã圹ç«ã£ã
- åŸã§ã³ã³ããŒãã³ãã倿޿¹åã§ããããå°ããäœã
- ãã¹ããšãã©ãŒãã§ã®éçºäœå¶
- ãªãªãŒã¹çŽåŸããå±ãããšã³ãžãã¢ã®åé¿
- ã·ããã¯ããã¯æŽ»åã®ãã¹ããã©ã¯ãã£ã¹
ãªãNuxtJSã ã£ãã®ãïŒ ãããã¯jQueryã§ãªãã£ããïŒ
ââ ãŸãæåã«ãä»åã®æè¡çãªããã¯ã°ã©ãŠã³ãããèãããŠãã ãããäžèŠãããšè¡æ¿ãé¢ä¿ããä»äºãšã¯æããªãçŸä»£çãªæè¡éžå®ã®WebãµãŒãã¹ã§ããããã®æ§æã¯ã©ããã£ãŠæ±ºãŸã£ãã®ã§ããããïŒ
å°å¯å·ãç§ãæåã«è©±ãæ¯ãããæç¹ã§ã¯ãæçµçã«ããŒã¿ãéçãªãµã€ãã«è¡šç€ºããä»çµã¿ãå¿ èŠãšããã ãã§ãç¹ã«æè¡çãªæ±ºå®äºé ã¯ãããŸããã§ããã
ãã ãVue.jsã®ãã¬ãŒã ã¯ãŒã¯ã§ããNuxtJSã䜿ãããšèªäœã¯ããããŸã§Code for Japanã§éçºããŠããçµéšãããããªããšæ±ºãŸã£ãæãã§ãã
ââ 詳ããæããŠãã ããã
å°å¯å·ã2018幎7æã«è¥¿æ¥æ¬ã§çºçããéäžè±ªéšã«äŒŽãæ°Žå®³ãæ©ã«éçºããããçŽãããããšããã¢ããªã±ãŒã·ã§ã³ããã£ãŠãçŸåšã¯NuxtJSã§éçºãããŠããŸãã
ãã®ãµã€ãã§ã¯ãé¿é£å Žæãªã©ã®å°å³ãçŽã«å°å·ããã®ã«æé©ãªç¶æ ã§Webãã©ãŠã¶äžã«è¡šç€ºã§ããã®ã§ãããåœæã¯jQueryã§æžãããŠããŸãããå°å³ãæ±ãã®ã«LeafletãšããJavaScriptã©ã€ãã©ãªã䜿ã£ãŠããŠããã¡ããTypeScriptã§ã¯ãããŸããã§ããã
ââ 2018幎ã«jQueryã ãšããã§ã«æä»£é ãæããããŸãããã
å°å¯å·ãã¯ãããããããã®ãšãã¯ããããjQueryã§ããŸããã£ããããšããèªèã ã£ããã§ãããã®ãããžã§ã¯ãã§éãŸã£ãã®ã¯ãç§ãå«ããŠãjQueryãªãæžããããšãã30代ã®ãšã³ãžãã¢ãå€ãã£ãã®ã§ãã¡ã³ããŒã«åãããæè¡ãæ¡çšã§ããŸããã
ââ ãã®ãµã€ããã©ããã®ã¿ã€ãã³ã°ã§NuxtJSã«çœ®ãæããããã§ããã
å°å¯å·ãå»å¹ŽïŒ2019幎ïŒã®å°é¢š19å·ã§ããåèçãäžå¿ãšããè¢«å®³ã®æ å ±å ¬éã§ãè¥¿æ¥æ¬è±ªéšã®ãããžã§ã¯ããåå©çšããããšæ¹ããŠè€æ°äººã§éçºãå§ãããã§ãããjQueryã ãšã©ãããŠãã³ã³ããªã¯ããå€çºããŠããŸãã
ããã¯ã³ã³ããŒãã³ãããŒã¹ã®ä»çµã¿ã«ç§»è¡ããªããšãŸãããšããããšã§ãVue.jsã§æžãçŽããŸããã
ââ ãšããããšã¯ãæ±äº¬éœã®ãµã€ããããããã¢ãã³ãªä»çµã¿ãçã£ãã®ã§ã¯ãªãããããŸã§ã®éçºçµéšããã®éžæã ã£ããã§ããã
å°å¯å·ãã¯ããå šå¡ãè§Šãããããã³ã³ããŒãã³ãããŒã¹ã§ãè€æ°äººã§éçºããŠãã³ã³ããªã¯ããèµ·ãã«ãããã®ãéžãã ããèªç¶ãšNuxtJSã«ãªããŸãããéžæè¢ãšããŠã¯Reactããã£ãã®ã§ãããçŽãããã®çµéšããã£ãã®ã§Vue.jsãéžãã ããã§ãã
ââ çµæçã«ã¯ããã®éžæãåãå¥ããŠãããã®æè¡ã ã£ããåå ãããããšãã圢ã§ã³ã³ããªãã¥ãŒã¿ãŒãäžæ°ã«å¢ããé¢ãããããã§ããã
æ± ç°ã確ãã«ããããjQueryãšæå°éã®HTMLã§äœã£ããµã€ãã ã£ãããããã»ã©ãšã³ãžãã¢ããæ³šç®ãããããšã¯ãªãã£ããããããªãã§ããã
å°å¯å·ããã¡ãããšã³ãžãã¢ã®åå¿ãèŠè¶ããŠæè¡ãéžå®ããããã§ã¯ãããŸããããåŸã«ãªã£ãŠãããVueã«ããŠãããŠããã£ãããšãã話ãé¢ãããšããèŠãã¯ãããŸãã
æ± ç°ãããã³ããšã³ãã«ãããŠãæ¥æ¬ã§ã¯Vue.jsãNuxtJSã®æè¡ã³ãã¥ããã£ãçºå±ããŠããããšãããæ°ãããŸãã
å¶ç¶ã«æ±ºãŸã£ãNetlifyã¯éçºã«ãšãŠã圹ç«ã£ã
ââ ãœãŒã¹ã³ãŒããGitHubã§å ¬éããããšã¯æåããæ±ºãŸã£ãŠãããšæããã§ããããã¹ãã£ã³ã°ã§Netlifyãæ¡çšããã®ã¯ãªãã§ãããïŒ
å°å¯å·ãéçã³ã³ãã³ããªã®ã§ãæåã¯GitHub Pagesã§ããã®ã§ã¯ãšãã話ã«ãªã£ãŠããŸããããããNetlifyã«ãªã£ãã®ã¯ãèãã話ã§ãããSSLãµãŒãèšŒææžã®é¢ä¿ã§èŠä»¶ãæºããããµãŒãã¹ãšããŠéžæè¢ã«äžãã£ãŠããããã§ãã
ââ ã¡ãªã¿ã«ãNetlifyã¯æ°åã³ãããŠã€ã«ã¹ã«é¢ããæ å ±æäŸã§ã®ãµãŒãã¹å©çšã«ã€ããŠã¯ç¡ææéãå»¶é·ããããšã3æ22æ¥ã«çºè¡šããŠããŸãããæ±äº¬éœã®ãµã€ãã®ãªãªãŒã¹ã¯ãã®åã§ãããã
å°å¯å·ãã¯ããæåã¯ç¡æãã©ã³ã§ç»é²ããŠããŠãéäžãããã«ãåæ°ãäœãã®å¶éã«éããŠææãã©ã³ã«ç§»è¡ããããã§ãã
æ± ç°ãNetlifyã«ãããããã§ãã¬ãã¥ãŒããã®ãããæ¥œã«ãªã£ããã§ããã
GitHub Pagesã«æžãåºããŠãããšãã¯ãåèªã«æ®ã£ãŠããã£ãã¹ã¯ãªãŒã³ã·ã§ãããããšã«å€æãããã现éšã確èªããã«ã¯ãã«ãçµæãæ¯åèªåãã¡ã§çæããå¿ èŠããã£ããã§ãããNetlifyã ãšãã«ãçµæãããšã«ã¹ããŒãžã³ã°ç°å¢ãåæã«äœã£ãŠããããã§ãã
å°å¯å·ãå ¬éåŸã«ã³ã³ããªãã¥ãŒã¿ãŒãå¢ãããšãã«ããNetlifyã«ããŠãããããã§ãã«ãªã¯ãšã¹ãã®ã¬ãã¥ãŒããããããŠå©ãã£ãé¢ããããŸããCIãé©åã«èšå®ããã°ããã®ãã«ãªã¯ãšã¹ãããã«ãããŠãããã€ããçµæãã®URLãæããŠããããã§ãã
ããããªãã£ããããã«ãªã¯ãšã¹ããããŒã«ã«ã«åã蟌ãã§ãã«ãããŠãã確èªããããšã«ãªã£ãŠãããšæãã®ã§âŠâŠã
ââ ã¡ããã©è©±ã«åºãCIãªã©ã®èªååã話é¡ã«ãªã£ãŠããŸãããã工倫ãããããšã¯ãããŸããã
æ± ç°ãCIã§ã¯GitHub Actionsã䜿ã£ãŠããŠãããŒãžåã«å¿ ãäžåã¯ESLintãèµ°ãããã«ããããšãâŠâŠã
å°å¯å·ãESLintã¯ãããããã£ãã§ãã
æ± ç°ããšãã£ã¿ã«ãã£ãŠèªåæŽåœ¢ãããŠãæ¬æ¥ã®å·®åãåããã¥ãããªããšããåé¡ããã£ããã§ãããŸããã¬ãã¥ãŒã®éã«æã¡ééããã€ã³ãã³ããªã©çްããããšã§æéãåããããšãã£ãããªãã®ã§ãéçºã®åææ®µéãããã³ãããåã«lintãããããã€ã³ãã³ãã®èªåä¿®æ£ããããããèšå®ãå°å ¥ããŠããŸããã
å°å¯å·ãGitHub Actionsã¯ããŒã¿ã®åã蟌ã¿ãªã©ã§ã䜿ã£ãŠããŸãããèªååã§ã¯æ± ç°ãããæãåãããŠãããŸããã
æ± ç°ãæåã¯äººæãè¶³ããªãç¶æ³ã§ãã³ãã¯ãŒãæ±ããããã®ã§ãã²ãããã³ã³ããŒãã³ããäœã£ãŠãããŒãžãçµã¿ç«ãŠãŠãããŸãããéçºç°å¢ã«ã€ããŠã¯ç¹ã«æå®ããŠããªãã£ãã®ã§ãããã³ã³ããªãã¥ãŒã¿ãŒã®æ°ãå¢ããŠãããšããŸããŸãªã±ãŒã¹ãèæ ®ããå¿ èŠããããŸããã
Dockerã§éçºããŠããå Žåãªã©ãéçºç°å¢ã«ãã£ãŠã¯ã³ãããåã®ããã¯ãããŸãåããã«lintãã¹ãããããŠããŸãäºäŸããã£ãã®ã§ãGitHub Actionsçµç±ã§ãreviewdogã§ESLintãåããŠäºéãã§ãã¯ããlintãéããªããšããŒãžã§ããªããããªèšå®ã«ããããšã§ãããçšåºŠã®ã³ãŒãå質ãä¿ãŠãããã«ããŠããŸããã
åŸã§ã³ã³ããŒãã³ãã倿޿¹åã§ããããå°ããäœã
ââ å°å¯å·ããã¯ãäž»ã«ã©ããã£ãéçºãæ åœãããã®ã§ããããïŒ
å°å¯å·ãnuxt initã³ãã³ããå®è¡ããåæç¶æ
ããããŒããå·®ãæ¿ãããäžèŠãªã³ã³ããŒãã³ããæŽçãããããŠããããæåã«æ±äº¬éœã®ãªããžããªã«ããã·ã¥ããŸããã
ãããã察çãµã€ãã§ã¯ãã«ãŒã圢åŒã®åè§ãæ ãããã€ã䞊ãã§è¡šç€ºãããã®ãåºæ¬æ§æã§ããã®æ ã®äžã«æ£ã°ã©ããããŒãã«ã衚瀺ãããããã«ãªã£ãŠããŸããããã¯ãäŸãã°DataViewãªã©ã®Vueã®ã³ã³ããŒãã³ããšããŠäœãããã®Slotã«äžèº«ãå·®ã蟌ãããšã§å®çŸããŠããŸãã
ãããã£ãã³ã³ããŒãã³ããããããäœã蟌ã¿ãªããããããããªããŒã¿ã§äœ¿ããå ±éã®éšåã«ããäœæ¥ãããŠããŸãããç§ãéã«äœã£ãæ£ã°ã©ããããŒãã«ã«ãCookpadã®è€äºè¬å£«æïŒ@kenshir0fïŒããããã¶ã€ã³ãåœãŠãŠãããã
ââ UIãã¶ã€ã³ã§ã¯è€äºãããšå®ééïŒ@saladdaysïŒãããåå ãããŠãããã§ããã
å°å¯å·ããã®åŸããããããªäººãæ¹è¯ãå ããŠãããŠããã®ã§ãç§ãæžããã³ãŒããä»ãæ®ã£ãŠãããã¯åãããŸãããâŠâŠã
ââ ã©ããªã©ã€ãã©ãªã䜿ãããªã©ã¯ãå®éã«æãåãããšã³ãžãã¢ã®è£éã§é²ããŠããã®ã§ããããïŒ
å°å¯å·ã倧åæãšããŠã¯ã䜿ãã人ãå€ããããšã§ãããçšåºŠã®è»œãããããã®ãã¿ããªã§èããŸããã
äŸãã°ãã°ã©ããæç»ããJavaScriptã©ã€ãã©ãªã§ã¯d3.jsã倧奜ããªã®ã§ãããããã¯åŠç¿ã³ã¹ããæ¯èŒçé«ãããã®ãããã©ã¡ãããšããã°äœ¿ãã人ãå€ããå€ãªã°ã©ããäœããã«ããæ§é ã®chart.jsãéžæããŸããã
ãã¡ããå°å ¥ããåŸã§ããã£ã¡ã®æ¹ãããããšææãããŠçŽãããšããããŸãããæé衚瀺ã®ã©ã€ãã©ãªã§ãæåã¯moment.jsã䜿ã£ãŠããã®ã§ãããããŒã ã§ãday.jsã®æ¹ã軜ãããšããäŒè©±ããã£ãŠéäžãã倿ŽããŠããŸãã
ââ åè§ãæ ã®ã«ãŒãã¯ããµã€ããå ¬éãããæç¹ã§ã¯ã³ãŒã«ã»ã³ã¿ãŒã®çžè«ä»¶æ°ãªã©4ã€ãããã§ããããã
å°å¯å·ãã¯ããããšã¯ãææè æ°ã®æšç§»ãæ€æ»äººæ°ãææè ã®å¹Žéœ¢ãæ§å¥ã®äžèŠ§è¡šãããã ã£ããšæããŸãã
éèšåœåã«æäŸãããŠãããéœå ã®ææ°å¹¹ç·ååãã®ã«ãŒãã¯4ã€
ââ ãããä»ã§ã¯13æã«ãªã£ãŠããŸãïŒ2020幎5æ15æ¥çŸåš1ïŒãå ¬éåŸã«æ å ±ãå¢ããããšãèŠè¶ããŠå ±éã®éšåãäœã£ãŠãã£ãããã§ããã
å°å¯å·ãæåã¯ãšã«ããæ¥ãã§ããã®ã§ããã¡ããšäœãåããŠããªããšèªèŠããŠããéšåããããŸãããèŠãç®ãããããããšãã£ãããšã¯æèããŠããŸããã
ââ ãµã€ãã«æ²èŒã§ããæ å ±ã¯æ±äº¬éœãçšæã§ãããã©ããã«äŸåããããã§ããããåæã«èããŠããããšã¯é£ããã§ãããïŒ
å°å¯å·ãå ·äœçã«ã¯åãããŸããããåŸã§è¿œå ãããæºåäžã®ããŒã¿ããããšãã£ã話ã¯éæ¥çã«èããŠããŸããã
ãããã«ããããŸã£ãããµã€ãããªãæç¹ã§ã¯èª°ã«ãæ£è§£ãåãããªãã®ã§ããã£ãããããã ãªãã®ãäœãããšããæ¹éã«ããŠããã£ããšæããŸãã
ââ å®®ååŠå¯ç¥äºãçµç¹ããæ±äº¬éœã®ç¹å¥åºå ±ããŒã ã§ãããããã£ãæ¹éã ã£ããšã€ã³ã¿ãã¥ãŒã§çããããŠããŸãããéçºæéãããªãçãã£ãããã§ããâŠâŠã
å°å¯å·ãææç¶æ³ãç¬èªã«ãŸãšããŠããWebãµã€ãã¯å ±éæ©é¢ã®ãã®ãå«ããŠãã§ã«ããã€ããããŸããããå人çã«ããæ©ããªãªãŒã¹ããªããšéœæ°ã®ããã«ãªããªãããšããæãã§ãã£ãŠããŸãããããéçºã¹ã±ãžã¥ãŒã«ãã¿ã€ãã§ããããšã«éåæã¯ãããŸããã§ããã
ââ éçºåæã«æèãããŠããããšã¯ä»ã«ãããŸããïŒ
å°å¯å·ãã¡ãã£ãšéããŸãããææè
æ°ãªã©ã®æ°åã«3æ¡ããšã®ã«ã³ããããããã©ãŒããã¿ãŒãä¿®æ£ããŠãããšãã«ããã®ãã£ã«ã¿ãŒã䜿ãããªããšããã§ããããšè©±ããŠããããšãå°è±¡ã«æ®ã£ãŠããŸããã€ãŸããæ°åã1,000ã«å±ããªãããšãé¡ã£ãŠããã®ã§ããâŠâŠã
ââ ãªãªãŒã¹ããæ¥ã¯ãŸã æ°èŠææè æ°ã4人ã§ãããâŠâŠã
å°å¯å·ãæ£ã°ã©ãã®æšªå¹ ãåºå®é·ã®ãŸãŸã ã£ããã§ãããšã³ãžãã¢ãªã³ã°çã«ã¯é·ã䜿ããããå¯å€é·ã«ãããã§ãããé·æåããåæã§ã³ãŒããæžãããšã«ã¡ãã£ãšããæµæããããŸãããåã°ãç¥ãããšèšã£ãŠãããããããŸããã
ãã¹ããšãã©ãŒãã§ã®éçºäœå¶
ââ æåã¯äœäººã®ãšã³ãžãã¢ã§éçºãããŠããã®ã§ããããïŒ
å°å¯å·ã4ã5人ã§ããããã®ãã¡Code for Japanã®æŽ»åãªã©ã§ããšããšç¥ãåãã ã£ãã®ã¯ã2人ã§ãã
ââ éçºäžã®ã³ãã¥ãã±ãŒã·ã§ã³ã¯ã©ããããŠããã®ã§ããããïŒ
å°å¯å·ãZoomãã€ãªãã£ã±ãªãã«ããªãããåèªã§äœæ¥ããŠããŸããããªã³ã©ã€ã³äŒè°ã«ãªã£ãŠããããã©ãåºæ¬çã«äŒè©±ã¯ãããåãããªããšããããã£ããèããšããæãã§ã
ãšã³ãžãã¢ãéãŸã£ãŠã²ãããã³ãŒããæžããããããäŒããšããã€ãã³ãããããŸããããããããªã³ã©ã€ã³ã§æ¯æ¥ãã£ãŠããé°å²æ°ã§ãã
ââ ããã«ãœã³ã®ããã§ãããã»ãšãã©äžç äžäŒã§äœæ¥ãããŠããã®ã§ããããïŒ
å°å¯å·ã人ã«ãããšã¯æããŸãããç§ã¯ãããšäººéçãªç掻ãããŠãããšæããŸããæ¥äžã¯æ¬æ¥ãããã€ã€ãå€ã«èªå® ã«åž°ã£ãŠããŠããæ·±å€ãŸã§ã³ãŒããæžããšãã圢ã§ããã
10æãããã«ãå®¶æãšéããããèœã¡ãŸãããšãã£ãŠéçºããé¢ãã人ãããã®ã§ãããããæå³ã§ç¹ã«ãã©ãã¯ãªå°è±¡ã¯ãªãã£ãã§ãã
æ± ç°ãç§ã¯ã1ã€ã®ããšã«å€¢äžã«ãªã£ãŠããŸããšæ¢ããããªãæ§æ Œã§ãéäžãããšç ããªããªãã®ã§ããªãªãŒã¹ãŸã§ã¯å¯é£ãå¿ããŠåãçµãã§ããæãã§ãã
ââ ä»ã®ã¡ã³ããŒã¯å ¥ãæ¿ããç«ã¡ä»£ããèªåã®ããŒã¹ã§ãã£ãŠæ¥ãããã©ãæ± ç°ããã¯ãã£ãšZoomã«ãããšããããã§ããã
æ± ç°ããããªæãã§ãããããªãªãŒã¹åŸã®æ°æ¥ãŸã§ã¯ãããããã§ãããäžç¹éäžã®æ§æ Œãªã®ã§ãäžæã«è€æ°ã䞊è¡ããŠãããšã©ã¡ããããªããªããã«ãªã£ãŠããŸããã§ãâŠâŠã
ââ éçºäœå¶ãããŒã ãããžã¡ã³ãã§æ°ãã€ããããšã¯ãããŸããã
æ± ç°ãã€ã·ã¥ãŒããã«ãªã¯ãšã¹ãã®ãã³ãã¬ãŒãã¯ç§ãçšæããŸããããŸãçŽ æ¡ãäœããé¢ããã«ã¬ãã¥ãŒããŠããã£ãŠéçšãã¯ãããŸããã
åå è ãå¢ããåŸã§ããå 容ããªãã€ã·ã¥ãŒãé£ãã§ãããšæ··ä¹±ããŸãããããçšåºŠã¯ãã©ãŒããããæ±ºãŸã£ãŠããæ¹ãã€ã·ã¥ãŒãç«ãŠãŠãããã®ã楜ã ãããšããããšã§ãæ©ããã¡ã«äœã£ãŠãããŠæ¬åœã«ããã£ããšæããŸãã
ããã«åŸã«ãªã£ãŠããæ¹åçšãšãã°çšã§ãããããã³ãã¬ãŒããã§ãããããåå°ã«ããªã£ãŠããŠãå°ãªãåŽåã§ã¬ãã¬ããžãå¹ãããªãšæããŸãã
å°å¯å·ãåæã¡ã³ããŒã§éçºããŠããæäžã¯ããã¹ããšãã©ãŒãããååã«ããŠããŸãããã€ãŸãããããã€äœããã£ãŠããªããããªãããã¿ãããªããšã絶察ã«èšããªããšããããšã§ããçµéšäžããããããªããšã·ããã¯ããã¯ã®ãããªæŽ»åã¯ç¶ç¶ã§ããªããã§ãããã
ââ GitHubã®contributorsãèŠããšãæ± ç°ããã®æŽ»åã¯ãªãªãŒã¹ååŸã®äžé±éã«éäžããŠããŠããŒã¯ãã¯ã£ããããŠããäžæ¹ãå°å¯å·ããã¯ãªãªãŒã¹ãããåŸãéçºããããããšç¶ããããŠããããæ¬åœã«ãããããªã¿ã€ãã®è²¢ç®æ¹æ³ããããã§ããã
æ± ç°ãèªåã¯ç«ã¡äžãåæã®ãã³ãã¯ãŒã§ãããå人çã«ãåŸæãªãã§ãŒãºã®äœæ¥ãªã®ã§ãèªåãªãã®ããæ¹ã§è²¢ç®ã§ããŠããã£ããšæããŸãã
ââ ãµã€ããéçºããŠãããšãã«ã¯ããã®ååšãèªåãã¡ã ããç¥ã£ãŠãããšãã髿æã¿ãããªãã®ããã£ãã®ã§ããããã
å°å¯å·ãããã人ã«ãããšæããŸãããç§èªèº«ã¯ç¹ã«çãäžãã£ãŠããããšã¯ãªããè¡æ¿ãå©ããŠåžæ°ãç¥ãããããšãç¥ããæ£ãããã®ãäœãã¹ããåçŽã«éäžããŠããŸããããã§ã«åããããªæŽ»åãåæ°åã¯ãã£ãŠããã®ã§ãã·ããã¯ããã¯ã«ããããã€ãéãã®æŽ»åã®ã²ãšã€ãšããæèŠã§ããã
ãªãªãŒã¹çŽåŸããå±ãããšã³ãžãã¢ã®åé¿
ââ ãªãªãŒã¹åŸã®åé¿ã«ã€ããŠãèãããŸããGitHubãFigmaã®URLãæ©ã ã«Twitterã«æµããŠããšã³ãžãã¢ã®éã§éçºã«åå ããæ°éãé«ãŸããŸãããã
å°å¯å·ãå®ã¯ãå ¬éçŽåŸïŒ3æ4æ¥ïŒã¯ãŸã æ¹åææ¡ãç©æ¥µçã«éããæ®µéã§ã¯ãªãã£ããã§ããå°æ± éœç¥äºã®èšè äŒèŠã«åãããŠã³ã³ããªãã¥ãŒã¿ãŒãåéãããšèããŠããŸããããã¡ãããå ¬éãããŠãããµã€ãã®ãœãŒã¹ãããªããžããªã¯èª¿ã¹ãããŸããâ ã
â çŸåšã¯aboutããŒãžã«ãªããžããªã®URLãæ²èŒãããŠããããããã¯ãªãŒãã³ããŒã¿ã®ãªã³ã¯ãšãšãã«3æ5æ¥ã«è¿œå ããããã®ã
æ± ç°ãæè¡è ãšããŠã¯çŽç²ã«ãããããŠãççŽã«ãã³ã·ã§ã³ãäžããã€ã€ãããªããžããªã®æ¹ãå ã«æ³šç®ãéãããšã¯æã£ãŠããªãã£ãã®ã§é©ããé ããŸããã§ããããã«ãªã¯ãšã¹ããã€ã·ã¥ãŒãã©ãã©ãå¢ããŠãããªãã§ãã©ããã£ãŠåããŠãããããšããçŠããããªããããŸãããã
å°å¯å·ããªãŒãã³ãœãŒã¹ãããžã§ã¯ããšããŠã©ã€ã»ã³ã¹ãªã©ã®æºåã¯é²ããŠãããã®ã®ãã¬ãã¥ãŒã®æ¹æ³ãªã©ã決ããŠããããã§ã¯ãªãã£ãã®ã§ãæ©ã ã«ãã«ãªã¯ãšã¹ããå±ãã¯ããããšå šãæïŒãã°ïŒãããããèœã¡çããŸã§åŸ ã£ãŠãããããšã«ãªã£ãŠããŸããŸãããå€ãã®æ¹ã®ãè²¢ç®ãããæ°æã¡ãã«å¯ŸããŠèªåãã¡ãããã«ããã¯ã«ãªã£ãŠããŸã£ãããã§ãç³ãèš³ãªãæ°æã¡ããããŸããã
æ± ç°ãã¬ãã¥ãŒã®éãå€ãã£ãããšã倧å€ã§ããããæ±äº¬éœã®å ¬åŒã ããæ éã«ãªããããåŸãªãããšãããããã¶ã€ã³ã仿§ã«ããããä¿®æ£ææ¡ã«ã¯ã³ãŒããèŠãã ãã§ã¯å€æã§ããããã©ãããããšããããŸããã
ââ ãªãªãŒã¹åŸã®äœå¶ã¯ã©ã®ããã«æŽããã®ã§ããããïŒ
æ± ç°ãé¢ããã®äžå£°ããå§ãŸã£ãŠã鱿«ã«æ¥éœã誰ã§ãåå ã§ãããªã³ã©ã€ã³ããã«ãœã³ãéå¬ããŸãããCode for Japanã®Slackã«ãããžã§ã¯ããã£ã³ãã«ããããèå³ããæ¹ãç¶ã ãšéãŸã£ãŠããã®ã§åšç¥ããŸããã
ããã§ã¯ãããŸããŸãªé åã®ç¥èŠãæã£ãŠããæ¹ãåå ããŠããããã®ã§ãTypeScriptãžã®æžãæããé²ããçãã¢ã¯ã»ã·ããªãã£ãæŽåããçã翻蚳ãé²ããåœéåçãšãã£ãããã«ãé åããšã®ãããžã§ã¯ããèªç¶ãšçãŸããŠãããŸãããã©ãã倧äºãªããŒãã§ãã
ã³ãã¥ãã±ãŒã·ã§ã³éãå€ãã£ãã®ã§ãã€ãã³ããçµãã£ãåŸãé²ããããã£ãã®ããªãšæããŸããããã§ãªãŒããŒã·ãããæã£ãŠé²ããŠããæ¹ã¯ãèªç¶ãšã³ã¢ããŒã ã«å ãããæææ±ºå®ãªã©ãã¹ã ãŒãºã«è¡ãããããã«ãªã£ãã®ã§ãéçºã¹ããŒããäžãã£ãŠãããŸããã
ââ äžè¬ã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ããåŸããåå ããŠç±å¿ã«ããããéã£ã人ãã³ããã¿ãŒãšãªããç«ã¡äžãã¡ã³ããŒãå¥ã®é åã«æŽ»åãç§»ããŠããããšããããŸãããããã«è¿ãããšãèµ·ããŠããããã§ããã
æ± ç°ãããããæå³ã§ã¯ãå°ãããªãªãŒã¹ããããšã§ãããããã®å°éå®¶ã建èšçãªè°è«ãé²ããŠããããšãã貎éãªçµéšãã§ãããšæããŸãã
ââ ä»åã¯ãCode of ConductïŒCoCãè¡åèŠç¯ïŒãããããšãããã®ãæã ã¯ãªãããã«ããããã«å ±æããæ¹ãå€ãã£ãããã«æããŸãã
å°å¯å·ãCoCãã³ã³ããªãã¥ãŒã·ã§ã³ã¬ã€ãã«ã€ããŠã¯ãã·ããã¯ããã¯ã®æŽ»åãç¶ããŠããçµéšäžãå¿ èŠã§ããããšã¯èªèããŠããã®ã§ãä»åãæåããçšæããŠããŸããã
æ± ç°ãæåã¯é¢ãããæžãããã®ãGitHubã®Wikiã«ãã£ãã®ã§ããããªãªãŒã¹åŸã«ç§ãã³ãŒããšåããªããžããªäžã«ç§»åããŸããã
ä»åã®ããã«å šãç¥ããªã人ãã¡ããã³ã³ããªãã¥ãŒã·ã§ã³ãããç¶æ³ã§ã¯ãåå ã«ããã£ãŠå ±éèªèã確ç«ããäžã§ããçšåºŠã¯å¹æããã£ãã®ãããããŸããããGitHubãå ¬éããŠããOpen Source GuidesãšãããªãŒãã³ãœãŒã¹ã®ã³ãã¥ããã£éå¶ã«ã€ããŠã®æ å ±ãåããããããŸãšãŸã£ãŠãããµã€ããããããšãŠãåèã«ãªããŸããã
å°å¯å·ãäžæ¹ã§ãèªåãã¡ãCoCã®æçŸ©ãå®å šã«ã¯çè§£ã§ããŠããªãã£ããšåçããããšãã¢ã¯ã»ã·ããªãã£ã«é¢ããè°è«ã§ãããŸããã
æ± ç°ãä»åã®ãããžã§ã¯ããããã ã倧ããæ³šç®ãããããšã§ãã·ããã¯ããã¯ãCoCã倧äºã«ããŠããããšã®çæãåããŠåãã£ãããã«æããŸãã
ââ æ±äº¬éœçã®éçºã«åå ããæ¹ãããäžæ¹ã§ã掟çããå°æ¹çããããããã©ãŒã¯ãããŠããŸããã
å°å¯å·ãç§ãã¡ãéçºãããœãŒã¹ã³ãŒãããã©ãŒã¯ããŠåå°æ¹èªæ²»äœã§èªç±ã«äœ¿ã£ãŠããããšããã®ã¯ãã·ããã¯ããã¯ã®æŽ»åãšããŠæåããçã£ãŠããããšãªã®ã§ããããå®çŸããã®ã¯ããã£ãã§ãã
ãã ãäºåã«ãã£ãšèæ ®ã§ããŠããã°äœã蟌ãã§ããããšãããããã€ããããŸããæåãšããŠçŸãããæ±äº¬éœãã®ãããªæ å ±ãç°å¢å€æ°ã«ããŠãããšãâŠâŠã
ââ éã«ãããŸããã£ããšæãéšåã¯ãããŸããïŒ
å°å¯å·ããã®å°åã§å¿ èŠãªæ å ±ãããŸãšãããããªãŒãã³ããŒã¿ã¯èªæ²»äœããšã«å€ãã£ãŠããŸããããã«ãŒããåãæ¿ããã ãã§å¯Ÿå¿ã§ããããã«ã³ã³ããŒãã³ãããŒã¹ã®æè¡ã䜿ã£ãŠããããšã¯ããã®ç¹ã§ãããã£ããšæããŸãã
æ±äº¬éœ æ°åã³ãããŠã€ã«ã¹ææç察çãµã€ãã®ãªããžããªãGitHubã®Trendingãããã«ïŒïŒïŒïŒïŒãããªå€§ããªã ãŒãã¡ã³ãã«ãªããšã¯ã»ã»ã»ã¹ã¯ã·ã§ãšããŸãã£ãhttps://t.co/U8wFlwxE6O pic.twitter.com/51GjWg2kwU
â ð (@yokinist) March 6, 2020
ã·ããã¯ããã¯æŽ»åã®ãã¹ããã©ã¯ãã£ã¹
ââ ã2人ã¯ã©ã®ãããªçµç·¯ã§Code for Japanãã·ããã¯ããã¯ã®æŽ»åããããããã«ãªã£ãã®ã§ããããïŒ
å°å¯å·ããã£ããã«ãªã£ãã®ã¯ã2011å¹Žã®æ±æ¥æ¬å€§éçœã«ãããsinsai.infoã§ããããã®æŽ»åã«ã¯åå ããŠããªãã£ãã®ã§ãããå ±éã§ç¥ã£ãŠæåããèªåãäœãååã§ããªãããšæããŸããã
å®éã«åããŠåå ããæŽ»åã¯ããçšéã¯ã©ããžè¡ã£ãïŒïŒWhere does my money go?ïŒãã®æ¥æ¬èªçãããžã§ã¯ãã§ã2012幎ãã2013幎ããã§ãã
æ± ç°ãç§ã¯ã倧åŠã®æ¿æ²»åŠç§ã§åŠãã§ããŠãITã§å°åãè¡æ¿ã®èª²é¡ã解決ãããšããé åã«èå³ããããŸãããããã§Code for Japanãšé¢ããã®ããšãç¥ããããŸããŸ2016幎ã«ã颿²»ä¹ã®å³è åéããšããã€ã³ã¿ãŒã³äŒç»2ãèŠã€ããŠå¿åããã®ããã£ããã§ãã
ãã®ãšãã«ãæäŒãããã®ã¯ãã·ããã¯ããã¯ã®ã³ãã¥ããã£ãçãäžãããªãã©ã€ã³ã€ãã³ãã®éå¬ãéå¶ãªã©ã§ãããæ¿æ²»ã®åé¡ã§ãã£ãŠãæç¥šã ãã§ã¯ãªãæè¡ã䜿ã£ãŠèªåãã¡ã®åã§è§£æ±ºã§ããé åãããããšãç¥ããæ§ãããã£ãŠãç¬åŠã§éçºã®å匷ãå§ããŸããã
åŠçãšããç«å Žãããããšã³ãžãã¢ã®ã¢ã«ãã€ããã¹ã¿ãŒãã¢ããã®ã€ã³ã¿ãŒã³ã«ããããããããšã«ããã·ã§ã³ã ãã§åãå ¥ããŠããããã®ã§ãããã§å®åçµéšãéããããå匷ãå ŒããŠäºããããšã«Code for Japanã®éçºãããžã§ã¯ãã«ãåå ããŠããŸããã
ä»åããããããã€ãªããããé¢ããã«å£°ããããŠããã£ãã®ã§ããã²ããããŠãã ããããšåå ããŸããã
ââ Code for Japanã«åå ããŠããã¿ãªããã¯ãæ®æ®µã¯ã©ã®ãããªåœ¢ã§æŽ»åããããŠããã®ã§ããïŒ
å°å¯å·ãCode for Japanèªäœã¯äžè¬ç€Ÿå£æ³äººãªã®ã§ããã®æŽ»åãæ¯ããçäºãªã©ã¯ããŸãããç§èªèº«ã¯ãããã£ãç«å Žã§åå ããŠããããã§ã¯ãããŸãããä»åã®ãããžã§ã¯ãããããã³ã«éæåå ãããæéãããããã圢ã§ãã
ãã©ã³ãã£ã¢ããŒã¹ã®ã³ãã¥ãã±ãŒã·ã§ã³ã¯Slackãäžå¿ã§ãäœããã®çœå®³ãæ¥åžžçãªèª²é¡ã«å¯ŸããŠã誰ãããããããä»çµã¿ãäœããããšããæå¿ã衚æããå ±é³Žãããšã³ãžãã¢ããã¶ã€ãã課é¡ã®åœäºè ãªã©ãåå ããŸãã誰ã§ã声ãäžããããŸããã
ââ ã·ããã¯ããã¯æŽ»åã®è¯ãã¯ã©ãã«ããã®ã§ããããïŒ
æ± ç°ãæ®æ®µã¯åºäŒããªããããªå€æ§ãªããã¯ã°ã©ãŠã³ããæã£ãæ¹ãšã€ãªããããšãã§ããæã£ãŠããç¥èŠãã¹ãã«ãæãåãããªããåé¡ã解決ããŠãããããšã ãšæããŸããã·ããã¯ããã¯ã®æŽ»åã§ã¯ç«å Žãäžäžé¢ä¿ãªã©é¢ä¿ãªããã¿ããªãäžåžæ°ããšããŠèªåãªãã§ã¯ã®è²¢ç®ã®ä»æ¹ã§é¢ããããšãã§ããŸãã
ãŸãããªãŒãã³ãœãŒã¹ãšããŠã®é¢çœãããããŸãã1ã€ã¯ããŸããŸãªå°åã«æšªå±éãããäœã£ããã®ãå šåœã«åºãããåå°ã®æ±ãããã圢ã«é²åããŠããããšãéã«èšãã°ããªããžããªãã¯ããŒã³ããŠããŠèªåã®äœãã§ããå°åçãäœãããšãã§ãããšããããšã§ããæ±äº¬éœã®ãªãŒãã³ãœãŒã¹ã掻çšããæ°åã³ãããŠã€ã«ã¹ææç察çãµã€ãã¯ããªããšå šåœ47éœéåºçã«ã ãŒãã¡ã³ããåºãã£ãŠããŸãã
ãã1ç¹ã¯ããã¹ããã©ã¯ãã£ã¹ãæºãŸã£ãŠãããšããã§ããä»åã®ããã«å€§ãããããžã§ã¯ãã§ããã°ãå人ã§ã¯æ°ä»ããªãããšãå€ãããã«ãªã¯ãšã¹ããèŠãŠããã ãã§å匷ã«ãªããŸããããããç§ã¯Vueãè§Šã£ãã®ãä»åãå®ã¯åããŠã§ãCIåšããTypeScriptãªã©ãå«ããŠããã®ãããžã§ã¯ããéããŠåŠãã ããšã¯ããªãå€ãã§ããå ã»ã©è©±ã«åºãã¢ã¯ã»ã·ããªãã£ã®è°è«ãªã©ãå«ããŠãçããŠããæç§æžã®ããã ãšæããŸããã
å°å¯å·ãç§ã¯ã·ããã¯ããã¯ã®æŽ»åã«äœåºŠãåå ããŠããŸããããä»åã¯æ¬åœã«å€ãã®ã³ã³ããªãã¥ãŒã¿ãŒããåå¿ãåŸãããããšã§ããä»ãŸã§ããããæ¯è²ãèŠãããŠãã£ãŠããã®ãããããªãããšããå®æãæ¹§ããŸããããããæåçãªåºæ¥äºã§ããã
ã·ããã¯ããã¯ã§ã¯ãè¡æ¿ãããªãŒãã³ããŒã¿ãåŸãããªããŠåžæ°ãå¿ èŠãªæ å ±ãéããããªãã£ãããæ å ±ãç¶ç¶ããŠè¿œããªãã£ãããšãã£ã課é¡ããããŸãããä»åã®ããã«å€§å¢ã®ãšã³ãžãã¢ã掻åã«åå ããããã«åŸæŒããããŠèªæ²»äœãããã«ãªãŒãã³ã«ãªããšããããããã¯ãšãŠãããããã§ãã
ââ ãããŸã§ã®ãã¹ããã©ã¯ãã£ã¹ã次ã®ãããžã§ã¯ãã«çããããšããã·ããã¯ããã¯ã®æŽ»åãããŒã¹ã«ãã£ããããããä»åã¯æè¡çã«ããããžã§ã¯ããããžã¡ã³ãã®é¢ã§ãå€ãã®ãšã³ãžãã¢ãåå ã§ããç°å¢ã«ãªã£ããšèšãããããããŸãããã仿¥ã¯æ¬åœã«ããããšãããããŸããã
åæã»å·çïŒé¹¿é æ¡äžéïŒæè¡æžåºçã©ã ãããŒãïŒ
ååïŒé£å
äžæš¹ïŒCode for JapanïŒ




