ããã«ã¡ã¯ãæ°å2幎ç®ã®KENâYAMAGUCHIã§ãïŒ ä»åã¯ãã³ãŒãã£ã³ã°ãããéããŠäººæ ŒåŠå®ãããããšãã話ãããããšæããŸãã ã³ãŒãã£ã³ã°ãšã¯ãããã°ã©ã ãæžãããšã§ãããŸããããã®ã³ãŒãã£ã³ã°ã«ããããããªäœæ³çãªãã®ããããŸããä»åã¯ãããªäœæ³ãã³ãŒãã®èŠæããæ·±ãèããã«éçºããŠãããçãç®ãèŠãçµéšãã話ãããŠããã ããŸãã é§ãåºããšã³ãžãã¢ã®æ¹ã¯ãã¡ããããšã³ãžãã¢ãç®æããŠããæ¹ã«ãšã£ãŠãããã«ãªãã®ã§ã¯ãªãããšæãã®ã§ãæåŸãŸã§èªãã§ããã ããã°å¹žãã§ãïŒ ãå¿èºãåããŠã®éçºçµéš å
¥ç€ŸåŸã®éçºç ä¿®ãçµããããããé
å±ãããããšã«ãªããŸããããã¡ãã®éçºç ä¿®ã®å
容ã«ã€ããŠã ãã¡ãã®èšäº ãå
¬éãããŠããã®ã§æ°ã«ãªãæ¹ãããã£ããããŸãããæ¯éãã¡ããèªãã§ããã ããã°ãšæããŸãã ããŠãåã®é
å±å
ã¯ãããã¯ãšã³ããšåŒã°ãã瀟å
ã®ç®¡çç»é¢ã察ãã©ã³ãåãã®ç®¡çç»é¢ãéçºããéšçœ²ã§ããããã®ææã«ã¡ããã©ã察ãã©ã³ãåãã®ç®¡çç»é¢ã®ãªãã¬ã€ã¹ãããšãããããžã§ã¯ããé²è¡ããŠãããŸããããã®ãããã®ãããžã§ã¯ãã« ã¢ãµã€ ã³ããããšãšãªããŸããã åãæ
åœããããšãšãªã£ãã¿ã¹ã¯ã¯ãæ°èŠã§éçºãå¿
èŠãªãã®ã§ãããäžããããã°ã©ã ãäœãããšãšãªããŸããã åœæãæ°èŠã®éçºãšããã å¿ãèºãããªãã éçºäœæ¥ãè¡ã£ãŠããŸããã ã倱æ
ãã³ãŒãã£ã³ã°ãããéããããã çŽ2ãæã»ã©ãè²ã
ãšå£ã«ã¶ã€ãããªããããããŠãã¬ãŒããŒã®æ¹ã®åãåãã€ã€éçºãé²ããŠããç¢å
ãçµç¹å€æŽãè¡ãããåœæè¡ã£ãŠããæ
åœæ¡ä»¶ãéçºã®éäžã§åæã®ãšã³ãžãã¢ã«åŒãç¶ãããšã«ãªããŸããã åœæç²ã
ãšéçºãé²ããŠããäžã§ãæ¥ããããªãããèŠä»¶ããæºãããã°ãããšããèãã§ããããã ãœãŒã¹ã³ãŒã ã®å
± éå ãå¯èªæ§ãªã©ã®èãã軜ãããŠããŸããã åŒç¶ããçµãããåŒç¶ãçžæã«ããã°ã©ã ãèŠãŠããããšãå
± éå ãå¯èªæ§ãªã©ã®èããå
šãåæ ãããŠããªãã³ãŒãã ãšæ°ã¥ãããã倿°åãåããã¥ããããå
± éå ããããŠãªã(æ)ããšæ¿ããè©°ããããŠããŸããã ãæèšãã³ãŒãã£ã³ã°ã§æèãã¹ãããš ãã®ããã«ãèŠä»¶ãæºããã°ãããšåæã«èãéçºé²ããçµæãè©°ãããã倱ç¬ããããšãã£ãããããçµéšãããŠããŸããŸããã ãããªåããè¯ãã³ãŒããæžãããã®ã³ãŒãã£ã³ã°ã§æèãã¹ãããšã3ã€ã»ã©ãäŒããããŠããã ããŸãã â äœãæåŸãã®èªåãèŠãŠãçè§£ã§ããã â¡å€æ°åã® åœå ã¯ãæãåã«ååãä»ããã®ãšåç â¢ã³ãŒããæžãå§ããåã«ããã°ã©ã ã®å®æåœ¢ãã€ã¡ãŒãžããã äžãããããããªããããæèãã¹ãããšã¯ãããšæããŸãããçç·Žã®ãšã³ãžãã¢ããã«ãšã£ãŠã¯åœããåã ãšæãããŠããŸãããã§ãããæž©ããç®ã§èŠãŠããã ããã°ãšæããŸã(ç¬) â äœãæåŸãã®èªåãèŠãŠãçè§£ã§ããã 1ã€ç®ã¯ãæªæ¥ã®èªåãèŠãŠãçè§£ã§ãããã§ããããã°ã©ã ãæžããŠãããšãã¯ãèªåã§çè§£ã§ããŠãããšæããŸãããäœãæåŸãã®èªåã¯ã»ãšãã©ä»äººã§ãããšããããããšããããŸããåœæã¯çè§£ã§ããŠããŠãäœãæåŸãã«ã³ãŒããèŠãŠã¿ããçè§£ã§ããªãããŸãã¯ãšãŠãåããã¥ãããªããŠããšã«ãªã£ãŠããŸããŸãããã®ããã«ãæªæ¥ã®èªåã§ãèªã¿ããããã軞ã«ã³ãŒããæžãããšãæèãã¹ãã ãšèããŠããŸãïŒ â¡å€æ°åã® åœå ã¯ãæãåã«ååãä»ããã®ãšåç 2ã€ç®ã¯ãå°ã倧ããã§ãããæãåã«ååãä»ããã®ãšåããããã®æ°æã¡ã§å€æ°åã åœå ãã¹ãã ãšããäºã§ãã倿°åãèããã®ã«æéããããããŠããŸãã®ã¯ãããªããšæããŸããããã®å€æ°ãã©ããªåœ¹å²ããªã®ããäœãæ ŒçŽããŠããã®ãã倿°ãèŠãã ãã§åããããã« åœå ããããšã§ãèªã¿ãããã³ãŒãã«ãªããšæããŸãã å®éã«ããããçµéšãããåŸããã倿°åã® åœå ã«ã¯ãšãŠãæ°ãé£ã£ãŠããŸã(ç¬) â¢ã³ãŒããæžãå§ããåã«ããã°ã©ã ã®å®æåœ¢ãã€ã¡ãŒãžããã 3ã€ç®ãåã¯éèŠã ãšèããŠãããå®æåœ¢ãããçšåºŠã®ã€ã¡ãŒãžãæã£ãããã§ã³ãŒããæžãå§ããããšã§ãããã¯å
± éå ã§ãããªãšããèããªããã³ãŒããæžãé²ããããšãã§ãããšæããŸãã ããããçµéšããããšãã¯ãšããããã³ãŒãã£ã³ã°ããªããèããããšããæèã§ããã®ã§ãè¡ãè©°ã£ãŠããŸã£ãŠãããªãå
± éå ã®æèã軜ãããŠããŸããŸããã ãæšèŠãã³ãŒãã£ã³ã°ãåŠã¹ãæ¬ åç« ã§ãäŒããããã®ã¯ãèªåãèãããã®ã§ãããæèãã¹ãããšã®ã»ãã®äžæ¡ãã§ãããããŸããããªã®ã§æ¬ç« ã§ã¯ãé§ãåºããšã³ãžãã¢ã®æ¹ãããšã³ãžãã¢ãç®æããŠããæ¹ãåãšåãããã«ã³ãŒãã£ã³ã°ãããã ãšããããŠããŸã£ãæ¹ã«ããããã®æ¬ã玹ä»ãããŠããã ããŸãã 1ã€ç®ã¯ã ãªãŒããã«ã³ãŒãâããè¯ãã³ãŒããæžãããã®ã·ã³ãã«ã§å®è·µçãªãã¯ãã㯠ããšããæ¬ã§ãããã¡ãã¯å
茩ãšã³ãžãã¢ã®æ¹ã«ãå§ãããåèªèº«ãèªã¿ãŸããã ãã¡ãã®æ¬ã¯ãç¹å®ã® ããã°ã©ãã³ã°èšèª ã«ç¹åãããã®ã§ã¯ãªããããã°ã©ã ãæžãéã«æèãã¹ãããšããè¯ãã³ãŒããæžãããã«ã¯ã©ã®ããã«ããã°ããããæžãããŠããŸãã ãšã³ãžãã¢ã«ãªã£ãã°ããã®äººã§ãèªã¿ããããã®ã ãšæããŸãïŒ 2ã€ç®ã¯ã è¯ãã³ãŒãïŒæªãã³ãŒãã§åŠã¶èšèšå
¥é ããšããæ¬ã§ãã ãã¡ãã®æ¬ã¯ ãªããžã§ã¯ãæå åã®èšèªãå
ã«æžãããŠããã ãªããžã§ã¯ãæå ããã°ã©ãã³ã°èšèª ã®åºç€ç¥èããã£ãŠãèšèšãåŠã³ãããããšèããŠããæ¹åãã«ãªã£ãŠããŸããã©ããªæ§é ãè¯ããã®ãªã®ããçè§£ããããã«ãèšèšã®åºæ¬çãªèãæ¹ããã¯ã©ã¹èšèšãªã©ã«ã€ããŠã³ãŒããå
ã«è§£èª¬ããŠãããŸãã 1ã€ç®ã®æ¬ããå°ãé£ãããããããŸããããèšèšã®åºæ¬çã¯èãæ¹ãåŠã¹ãã®ã§ãå§ãã§ãïŒ ããŸãšãã ä»åã¯ã³ãŒãã£ã³ã°ãããéããŠãããã£ãŠããŸã£ã話ããããŠããã ããŸããã倱æãçµéšããããšã§æèçã«ã³ãŒããæžãããšãã§ããããã«ãªã£ãã®ã§ãä»ãšãªã£ãŠã¯ããçµéšã§ããã å®éãå
茩ãšã³ãžãã¢ã®æ¹ã¯ããªã现ãããšãããŸã§ã³ãŒããèŠãŠãããªãšå®æããŠããŸãããªã®ã§ãäººæ ŒåŠå®ããããŠããŸãåã«æäœéã®ã³ãŒãã£ã³ã°ã®åºç€ã身ã«ä»ããŠããå¿
èŠããããšæããŸãïŒ æ¬ãèªãã§å®ç§ã«èº«ã«ã€ããã®ã¯é£ãããšæããŸãããªã®ã§åãå
茩ãšã³ãžãã¢ã«ã³ãŒããã¬ãã¥ãŒããŠããããªããåŠãã§ãããšããã§ãã®ã§äžç·ã«é 匵ããŸãããã ããã§ã¯ãŸã次åãäŒãããŸãããïŒ
ããã«ã¡ã¯ãã¯ã«ãŒãºæ ªåŒäŒç€ŸCTOã®éŽæšã§ãã 以åã®æçš¿ã§ã ããã³ããšã³ãã®ãšã©ãŒç£èŠSentyãå°å
¥ãã話 ãã§Sentryå°å
¥ã®è©±ãããŸããããã³ã¢ãŠã§ããã€ã¿ã«ã®ç£èŠã«ã€ããŠãSentryã§æè¿è¡ãããã«ãªã£ãããäºäŸå
±æãããããšæããŸãã Core Web Vitalsã®éèŠæ§ 2021幎㫠Google ã¯ãWebããŒãžã®ãŠãŒã¶ãŒäœéšïŒUXïŒã®åäžãç®æããŠãWeb VitalsãšããæŠå¿µãå°å
¥ããããšãçºè¡šããç¹ã«æ€çŽ¢ã®è¡šç€ºé äœã«åœ±é¿ãäžããææšãšããŠCore Web Vitals ãå®çŸ©ããŠããŸãã Core Web Vitals ã®ããžãã¹ ã€ã³ã㯠ãã«ã€ããŠã¯ä»¥äžã®èšäºããåèã«ããŠãã ããã developers-jp.googleblog.com ããã©ãŒãã³ã¹èšæž¬äžã®èª²é¡ Core Web Vitalsãå¯èŠåããããŒã«ã¯ Google Search Console ãã¯ãããšããŠæ§ã
ãããŸãããJSãšã©ãŒãšåæ§ã«ç¹å®ã®ãã©ãŠã¶ãç¹å®ã®æ¡ä»¶ã§ããçºçããªã課é¡ã«ã€ããŠç¶²çŸ
çã«ææ¡ãå°é£ã§ãããåçŽã«éçºè
ã SEO æ
åœè
ãèªåã®PCäžã§èšæž¬ãè¡ãã ãã§ã¯å§åçã«æ
å ±ãäžè¶³ããŠããŸããã ãŸãããŒãžè¡šç€ºãé
ãçç±ã®ææ¡ããé
ãããŒãžã®ç¹å®ãã§ããã°éçºè
ããŒã«ãªã©ã§èª¿æ»å¯èœã§ãããå
·äœçã«åé¡ã®ããããŒãžããªããªã®ãã«ã€ããŠã¯ãWebãµãŒãã®ãã°ã Google Analytics ã®æ
å ± ããã ã倿ã§ããã广çãªåå ç©¶æãååã«è¡ããŠãããŸããã§ããã äžèšã®åé¡ã®è§£æ±ºææ®µãšããŠSentry ã®Perfomace Monitoringã§ã®ç£èŠã宿œããŠããŸãã å°å
¥èæ¯ãšããŠã¯ æ¢ã«JSãšã©ãŒç£èŠãLaravelã®ãšã©ãŒç£èŠã§ç€Ÿå
ã§æŽ»çšå®çžŸãããã㚠端æ«ã»åç·ã»ãã©ãŠã¶ãšãã£ããããªå©çšç°å¢ã«é¢é£ããæ
å ±ãååŸã§ããããš Slack飿ºãå¯èœã§å³æéç¥ãã§ããããš ããããŸãã éçš Core Web Vitals ïŒ LCPã«ã€ããŠã以äžã® éŸå€ ãèšããŠç£èŠããåŒã£ããã£ããã®ã¯æ¹åããããéçšãããŠããŸã Warning ïŒGood ãšNeeds Imprrovement ã® éŸå€ ã®80ïŒ
ä»¥äž Critical. ïŒGood ãšNeeds Imprrovement ã® éŸå€ è¶ã éçšããäžã§æè¡çã«ããã£ãããš CORSã®èšå®ãå¿
èŠã§ãããšããããšã«å°å
¥åŸãã°ããæ°ã¥ããèšæž¬ãæ£ããã§ããªãããŸãäžéšå€éšãµãŒãã¹ãšã®é£æºãæ£åžžã«ã§ããªãç¶æ³ã«ãªã£ãŠããŸã£ãŠããŸããã  ç¹ã«Sentryã¯æ¥æ¬èªã®æç®ãå°ãªãããå°å
¥åœåå
šãæ°ã¥ãããåå ã®ç¹å®ã«ãããªãã«æéãããã£ãŠããŸã£ãããšãåçç¹ã§ãã docs.sentry.io éçšããŠããäžã§èŠããŠããã㚠倧ããªãšããã§ãããš å®ã¯å®è¡åŸ
ã¡ã«ãªã£ãŠãã ã¹ã¯ãªãã ããããäžã«ã¯éåæã§åŒã³åºãããã®ãå«ãŸããŠããã 䜿ãããŠããªã ã¹ã¯ãªãã ãèªã¿èŸŒãã§ãããïŒæ£ç¢ºã«ã¯ã©ã®ããŒãžã§ãå
±éã«ãèŠèŸŒãã§ãããããã®ããŒãžã§ã¯äœ¿ã£ãŠããªãã£ãïŒ å€éšé£æºã§äœ¿çšããŠããJSãã¡ã€ã«ã®å®è¡ã«æéãããã£ãŠãããã®ããã£ã éçºè
ãæå³ããªãæµ·å€ CDN ãåŒã³åºããŠããç®æããã£ãïŒäœ¿çšããŠããJSã©ã€ãã©ãªãæµ·å€ CDN ãåç
§ããŠããããšãããã£ãïŒ ã§ãããªã®ã§ä»ã®æç¹ã ãšã»ãšãã©ã Google Developer Toolã§ãããå
容ãæçãªæ
å ±ã§ãããšããç¶æ
ã§ãã ããã ãã ãš Google Developer Toolã§ååãããªãïŒãšããçµè«ã«ã¯ãªã£ãŠããŸãã®ã§ãããCore Web Vitalsã®èŠç¹ã§èŠãŠèª²é¡ãããããŒãžãçºèŠã§ããããšãšãããã³ããšã³ããšã³ãžãã¢ã ãã§ã¯ãªãããšã³ãžãã¢è·çš®å
šå¡ãSentryãšããããŒã«ãå©çšããããšã§ãåé¡ã®ãã ãã©ã³ã¶ã¯ã·ã§ã³ ã®Core Web Vitalsã®æ°å€ããå ãã©ã³ã¶ã¯ã·ã§ã³ äžã®ã¿ã€ã ã©ã€ã³äžã§ã®åãªãœãŒã¹ãã¡ã€ã«ã®èªã¿èŸŒã¿ã»å®è¡ç¶æ³ãææ¡ã§ããããã«ãªã£ãããšã¯å°å
¥ã®å¹æãšããŠå€§ããã£ããšèããŠããŸãã ç¹ã«ããã® SDK ïŒJSãã¡ã€ã«ã£ãŠïŒã£ãŠããã®ïŒãšãããã®åŠçã£ãŠãµãŒãåŽã§ãã£ãæ¹ãå®è¡é床ççž®ã§ããªãïŒãšããã®JSã CSS ãã¡ã€ã«ã¯èªç€Ÿå¥çŽã® CDN äžããåŒãã æ¹ãæ©ããªãïŒãããã API ãé
ãããããçµæãšããŠå
šäœãé
ããªãããããªãïŒãªã©ã®ãã£ã¹ã«ãã·ã§ã³ãæ§ã
ãªæè¡è·çš®ã®ã¡ã³ããŒãšè¡ããããã«ãªã£ãããšã¯æ¥µããŠéèŠã ãšæã£ãŠããŸãã ãŸã éçšãå§ããŠéããªãã§ãããSentryãæŽ»çšããŠWebããŒãžã®ãŠãŒã¶ãŒäœéšãåäžãããŠãããŸãã
ããã«ã¡ã¯ãæ°å2幎ç®ã®RYOBALã§ãã åã¯å
¥ç€ŸåŸãµãŒããŒãµã€ããšã³ãžãã¢ãšããŠé
å±ãããäžå¹ŽåŸã«ãããä»å¹Ž4æãã ããŒã±ãã£ã³ã° éšã«ç°åããŸããã å
ã
ã ããŒã±ãã£ã³ã° éšã®æ¥åã«ã¯èå³ãæã£ãŠãããã¿ã€ãã³ã°ãããã®æ©äŒã«åžæããéšçœ²ã«ç°åãšãªããŸããã ä»å㯠ããŒã±ãã£ã³ã° éšã«ç§»åããŠ1ãæãçµã£ãã®ã§ããšã³ãžãã¢ãã ããŒã±ãã£ã³ã° éšã«ç§»åããŠæ°ã¥ãããšã³ãžãã¢çµéšãããŠè¯ãã£ãããšããäŒãããŸãã ããŒã±ãã£ã³ã° éšã£ãŠã©ããªä»äºãããŠããã®ïŒãšã³ãžãã¢ã®çµéšã£ãŠäœã«åœ¹ç«ã€ã®ïŒãšæ°ã«ãªãæ¹ã«åèãšãªãèšäºãªã®ã§ããã²æåŸãŸã§ã芧ãã ããã ãããããšã³ãžãã¢ãšããŠã©ããªããšããŠãã®ïŒ ããŒã±ãã£ã³ã° éšã«ç§»åããŠæ°ã¥ãããšã³ãžãã¢ãšããŠè¯ãã£ãããšãèªãåã«ãããŸã§åããšã³ãžãã¢ãšããŠã©ããªæ¥åãçµéšããã®ããäŒãããŸãã å
¥ç€ŸåŸ3ãæéã®éçºç ä¿®åŸããµãŒããŒãµã€ããšã³ãžãã¢ãšããŠé
å±ããã PHP ãLaravelã䜿ã£ãŠç€Ÿå
管çç»é¢ã®æ¹ä¿®ãMetabaseã䜿ã£ãŠç®¡çç»é¢ã®ç§»è¡ïŒè©³ãã㯠ãã¡ã ã®èšäºïŒãè¡ã£ãŠããŸããã å®éã«ç€Ÿå
ã§äœ¿ãããŠãã管çç»é¢ã®æ¹ä¿®ãªã©å®éã« ãœãŒã¹ã³ãŒã ãè§Šã£ãŠã®éçºãããŒã¿ããŒã¹ã®æäœããããªã©åºç€çãªãšã³ãžãã¢ãšããŠã®æ¥åãè¡ã£ãŠããŸããã ãã®ãããªéçºçµéšãéããŠãå㯠ããŒã±ãã£ã³ã° éšã«ç§»åããŸããã ããŒã±ãã£ã³ã° éšã«ç§»åããŠäžçªæåã«é©ããããšãããã ããŒã±ãã£ã³ã° éšã§ãéçºã®ç¥èããªããšè©±ã«ãªããªãïŒïŒ ããŒã±ãã£ã³ã° éšã«ç§»åããŠäžçªæåã«é©ããããšã¯ãéçºã®ç¥èããªããšã€ããŠãããªãïŒããšããããšã§ãã åãè¡ã£ãŠãã ããŒã±ãã£ã³ã° éšã§ã®æ¥åå
容ã¯BigQueryã䜿ã£ãæœçã®åæã§ããäŸãã°ããã®ãã£ã³ããŒã³ã¯äœäººã®å©çšè
ãããŠãã©ã®ããã广ããã£ãã®ããªã©BigQueryã䜿ã£ãŠéèšããæœçãåæããŸããBigQueryãæ±ãã®ã§ã SQL ã¯æžããŠåœç¶ã®çŸå Žã§ãã éçºéšã®çµéšããã£ãã®ã§å€å° SQL ã®ç¥èã¯ãããŸããããããã§ã倧å€ãªå
容ã§ããã 1,000è¡è¿ãã«ãªãã¯ãšãªãæžããªã©ãããŸã§çµéšããããšã®ãªãé·ãã¯ãšãªãæžãããšã«ãªããé ã远ãã€ããŸããïŒç¬ïŒ 仿ããšããšã³ãžãã¢ã ãããšãã£ãŠã0ããã¯ãšãªãæžãæ©äŒã£ãŠããŸããªãã®ããªãšæã£ãŠããŸãã æ°èŠãããã¯ãã®å Žåã¯å¥ã§ãããæ¢ã«ãããã¯ããååšããŠããå Žåã¯ããŒã¿ã®ååŸã¯ãã§ã«å®æãããã¯ãšãªã§ã§ããŠããç¶æ
ã§ãããªã®ã§ãããŒã¿ã®ååŸæ¹æ³ãå€ãããªã©ä¿®æ£ãããæã«ããã¯ãšãªã«ã¯è§ŠããŸããã ãããªããšããããéçºéšã§ã¬ãã㪠SQL ã«è§ŠããŠããªãã£ãåã¯BigQueryäžã®ããŒã¿ããŒã¹ã®ã«ãŒã«ãã¯ãšãªãæžãããšã«æ
£ããããšã倧å€ã§ããã ãšã³ãžãã¢æä»£ã«çµéšããŠããŠè¯ãã£ãããš ããŒã±ãã£ã³ã° éšã§ã®æ¥åãéããŠãšã³ãžãã¢æä»£ã«çµéšããŠããŠè¯ãã£ããšæãããšã¯äž»ã«2ã€ã§ãã 1. SQL ã»ããŒã¿ããŒã¹ã®ç¥è 2.éçºçµéš ãŸã1ã€ç®ã® SQL ã»ããŒã¿ããŒã¹ã®ç¥èã§ãããåè¿°ãããšãããæ¥åå
容ãBigQueryã䜿ã£ãŠåæãããšããããšãããããã®ç¥èããªããã°ä»äºã«ãªããŸããã ã SQL ã£ãŠãªã«ïŒããšããå
šãã®æªçµéšã®ç¶æ
ããã ãšçžåœå€§å€ã ã£ããšæããŸããããæããšããšã³ãžãã¢æä»£ã«å°ãã§ãåŠãã§ããããšãä»ã®ä»äºã«ç¹ãã£ãŠãããã ãšå®æããŠããŸãã 2ã€ç®ã®éçºçµéšã§ãããããã¯ãšã³ãžãã¢èŠç¹ã§ç©äºãèããæå³ã§åœ¹ç«ã£ãŠããŸãã ããŒã±ãã£ã³ã° éšããéçºéšã«å¯ŸããŠæ°æ©èœã®å®è£
ãªã©äŸé Œãããæ©äŒã¯å€ã
ãããŸãããã®éã«ãããã® ãœãŒã¹ã³ãŒã ãããããšå®è£
ã§ãããã ãªãšéçºè
ã§ãªããšãäœãšãªãæ³åããããšãã§ããŸãããããããšãéçºéšã®ã¡ã³ããŒã«äŸé ŒããããããªãããªãªãŒã¹ãŸã§ã©ã®ããã å·¥æ° ããããã®ãã€ã¡ãŒãžãã§ããŸãã ã©ã®éšçœ²ã®äººã§ãéçºã®ç¥èãããã®ãšãªãã®ãšã§ã¯ãéçºè
ãšã®ä»äºã®é²ãæ¹ã«é²æ³¥ã®å·®ãçãŸããŸãã ãããŒã±ã¿ãŒã¯ããã¢ãŒã·ã§ã³ãã§ããã°è¯ãããããã°ã©ãã³ã°ã®ç¥èãªãããããªãïŒããšæã人ããããããããŸããããã ã ããŒã±ãã£ã³ã° ãèãããã ããã°ã©ã㌠ãä»äºãã§ããããã«ããã°ã©ãã³ã°ãã§ããããŒã±ã¿ãŒã匷ãã§ãã ããŒã±ãã£ã³ã° ã ããããã°ã©ãã³ã°ãå¶æ¥ã ããªã©äžã€ã®ããšãã§ããã°ãããšããæä»£çµããã€ã€ããããªãšæããŸãã ãŸãšã ä»åã¯æ°åãšã³ãžãã¢ãã ããŒã±ãã£ã³ã° éšã«ç§»åããŠæ°ã¥ãããšã³ãžãã¢ãšããŠçµéšããŠè¯ãã£ãããšã«ã€ããŠãäŒãããŸããã 2ã€ã®éšçœ²ãçµéšããŠãæ¹ããŠéçºã®ç¥èã¯ã©ã®éšçœ²ã§ãå¿
èŠãªãã®ã ãšæããŸãããç¹ã«ITæ¥çã§å€ããŠãã人ã§ããã°ãITã¹ãã«ã¯å¿
èŠäžå¯æ¬ ã§ãã èªåã¯å¶æ¥ã ãããšãã£ãŠãITã®ç¥èãç¡èŠã§ããããã§ã¯ãããŸããã ããããã®æä»£ã«æŽ»èºããããã«ãéçºçµéšãITã®ç¥èã¯éèŠã«ãªã£ãŠããã§ãããã ä»åŸãæ¥åãéããŠçµéšããããšã圹ã«ç«ã£ãããšãèšäºã«ããŠçºä¿¡ããŠããã®ã§æ¥œãã¿ã«ããŠãã ããããŸããä»ã«ãé¢çœãèšäºãçºä¿¡ããŠããã®ã§æ¯éå¥èšäºãèªãã§ã¿ãŠãã ãããããã§ã¯ããŸã次åã®ããã°ã§ã BYEâ
ããã«ã¡ã¯ãæ°å2幎ç®ã®KENâYAMAGUCHIã§ãïŒ ä»åã¯ããªã¢ãŒãã¯ãŒã¯äžã«ãããã³ãã¥ãã±ãŒã·ã§ã³ã®é£ãããšè§£æ±ºæ¹æ³ãã«ã€ããŠã®ã話ãããããšæããŸãã æšä»ã æ°åã³ãããŠã€ã«ã¹ ææç æ¡å€§ã«äŒŽããªã¢ãŒãã¯ãŒã¯ãå°å
¥ããäŒæ¥ãå¢ããŠãããšæããŸãããããªãªã¢ãŒãã¯ãŒã¯ãé
å±çŽåŸããçµéšãããªã¢ãŒãã ããããæããé£ãããšããã«è§£æ±ºããã®ãã玹ä»ããããšæããŸãã ãŸãã察é¢ã ãããé察é¢ã ããããã³ãã¥ãã±ãŒã·ã§ã³ãåãäžã§å€§äºã ãšæããããšãã話ã§ããã°ãšæããŸãã®ã§ãæåŸãŸã§èªãã§ããã ããã°å¬ããã§ãïŒ ãé
å±ãé
å±ãããç¬éã«ãªã¢ãŒãã¯ãŒã¯ïŒ åãå
¥ç€Ÿããã¿ã€ãã³ã°ã¯æ°åã³ãããæµè¡ããäžã®äžçã«ããªã¢ãŒãã¯ãŒã¯ããããšãäžè¬çã«ãªã£ãŠããŠããç¶æ³ã§ãããåŒç€Ÿã§ããã¡ããããªã¢ãŒãã¯ãŒã¯å¶åºŠãå°å
¥ããŠããŠãåãé
å±ãããŠãããªã¢ãŒãã¯ãŒã¯ãããããšãå€ããªããŸããã èªãã§ãã ãã£ãŠããæ¹ã®äžã«ã¯ãæ°å
¥ç€Ÿå¡ã¯ãªãã¹ãåºç€Ÿããæ¹ãè¯ããšæãããæ¹ãããããšæããŸãããã ãåºç€ŸãããšããŠããã¬ãŒããŒãããŠãã ãã£ãŠããå
茩瀟å¡ããªã¢ãŒãã¯ãŒã¯ãªã®ã§ãåºç€ŸããããããŸããé察é¢ã§ã®ã³ãã¥ãã±ãŒã·ã§ã³ãäœåãªããããç¶æ³ã§ããã ãããªç¶æ³ã®äžã§ãªã¢ãŒãã¯ãŒã¯ãå§ããããã§ãããåœåã¯ããªã¢ãŒãã§åããŠããèªåã¹ããŒãïŒããšæã£ãŠããŸããïŒç¬ïŒã ææ°æã
ãšãªã¢ãŒãã¯ãŒã¯ãããŠããããã§ãããåŸã
ã«ãªã¢ãŒãã¯ãŒã¯ã«ãããã³ãã¥ãã±ãŒã·ã§ã³ã®å£ã«ã¶ã¡åœããããšã«ãªããŸããããã ãè¡çªããªã¢ãŒãã¯ãŒã¯ã«ãããã³ãã¥ãã±ãŒã·ã§ã³ã®å£ ãªã¢ãŒãã¯ãŒã¯ã«ãããã³ãã¥ãã±ãŒã·ã§ã³ã®ã»ãšãã©ã¯ããã£ããã§è¡ãããã§ãããå£é ã§ããã°é£ãªãäŒããããå
容ããæåã«èµ·ããããšã«é£ããšæéããããããšãæããŸããã çŽæ¥ã§ããã°ãå°ã£ãŠããçŸè±¡ãåãããªãéšåãèŠããªããèãããšãã§ãããããŸããããã£ããã ãšç»åãæ·»ä»ããŠäŒããããšãéçãªæ°ãããŸã(åç»ã§äŒããããšãã§ããŸããããŸãçŸå®çã§ã¯ãªã)ããã®ããããã£ããäžã§ã®ã³ãã¥ãã±ãŒã·ã§ã³ã§ã¯ èšèªå ããèœåãäœããšäŒãããããšãå
šç¶äŒãããªããšãã£ãããšãèµ·ããŠããŸããŸãã é
å±åœåã¯åãããªãäºã°ããã§ã質åããããšãå€ãã£ãã®ã§ãããããããéçºç¥èãä¹ããã£ãããã³ãã¥ãã±ãŒã·ã§ã³æã«æèãã¹ãããš(åŸè¿°ããŸã)ãæèããŠããããããŸã èšèªå ããããšãã§ããŸããã§ããããã®ãããæ£ããäŒãããŸã§ã«è€æ°åã®ã©ãªãŒãå¿
èŠã«ãªãããšããããŸããã æ¬æ Œçã«éçºäœæ¥ãè¡ãããã«ãªãããããããã£ããã ãã®ã³ãã¥ãã±ãŒã·ã§ã³ã§ã¯å€ªåæã¡ã§ããªããªããŸããã ãªã®ã§ãããã°ã©ã ãããŸãåããªãæããå®è£
æ¹æ³ãåãããªãæã¯ç»é¢å
±æãè¡ã ãœãŒã¹ã³ãŒã ãèŠãŠããããªãããæããŠããã£ãŠããŸãããããã§ã ãã¶ã³ãã¥ãã±ãŒã·ã§ã³ã楜ã«åããããã«ãªããŸããã ãœãŒã¹ã³ãŒã ã®ç»é¢å
±æãããªãããã©ãã©ãã®ã®ãããããã«ä¿®æ£ããŠïŒããªã©ã®æç€ºãããšã«å®è£
ãä¿®æ£ãããããã§ãããå°ãã©ã°ããã£ããã PHP æ§æã®æžãæ¹ãåãããªãå Žåã¯ãã©ã¹ã§ãããå¿
èŠãããããŸã ãŸã æéãããã£ãŠããŸããŸãã ãçºèŠããŸããã®è§£æ±ºæ¹æ³ ç»é¢å
±æã§ ãœãŒã¹ã³ãŒã ãèŠããªããã®ã³ãã¥ãã±ãŒã·ã§ã³ã§ããŸã ãŸã æéãããã£ãŠããŸã£ãŠãããšè¿°ã¹ãŠããŸããããã® ãœãŒã¹ã³ãŒã ãèŠããªããã®å®è£
ãä¿®æ£ããããšã¯æè¬ ãã¢ããã°ã©ãã³ã° ã®ãããªãã®ã«è¿ãããªãšæããŸããç¹ã«æªçµéšã®ãšã³ãžãã¢ã®æ¹ã¯å®éã« ãœãŒã¹ã³ãŒã ãèŠãŠããããªããä¿®æ£çãè¡ãããšãããã®ããªãšæããŸãã ããã§ç޹ä»ããã®ã¯ãããªäœæ¥ãå¹ççã«ã§ããæ©èœã§ãã ããã¯ã Microsoft 補ã³ãŒããšãã£ã¿ãŒã Visual Studio Code ãã®æ©èœã®äžã€ã§ãããLive Shareããšãããã®ã§ããããã¯ãäžã€ã®ãœãŒãã³ãŒããè€æ°äººã§é²èЧã»ç·šéããããšãå¯èœã§ã ãããã° æäœçãå¯èœãªã®ã§ ãã¢ããã°ã©ãã³ã° ãã³ãŒãã¬ãã¥ãŒã«äŸ¿å©ãªæ©èœãšãªã£ãŠããŸãã ã€ãŸãããã®æ©èœã®ãããã§ããããç»é¢å
±æããããšãããäºã ãœãŒã¹ã³ãŒã ãèŠãªããã³ãã¥ã±ãŒã·ã§ã³ãåããããã§ãããã®æ©èœãçºèŠã䜿çšããŠã¿ããšããšãŠãã¹ã ãŒãºã«éçºãä¿®æ£ãè¡ãããšãã§ããããã«ãªããŸããããæããåŽã«ãšã£ãŠãæãããããšãã声ãé ããŸããã ããã«ããã®å Žã§ãã£ãããšããããã°ã©ã ã ãäœã£ãŠãããã詳现ãªããã°ã©ã ã¯èªåã§èãããšãã£ããããªé²ãæ¹ãã§ããã®ã§ããšãŠãæå¹ãªæ©èœããšæããŸãã ãèªæãã³ãã¥ã±ãŒã·ã§ã³ã§æ°ãä»ããã¹ãããšãšã¯ïŒïŒ åç« ã§è¿°ã¹ããããªã䟿å©ãªæ©èœã«é Œã£ãè§£æ±ºæ¹æ³ãããããšæããŸãããæ¬è³ªçãªè§£æ±ºçã¯ã³ãã¥ãã±ãŒã·ã§ã³èœåãåäžãããããšã§ã¯ãªãããšæããŸãã åèªèº«ãïŒå¹Žç®ã¯ç¹ã«ã質åãå©ããæ±ããããšãå€ãã£ãã§ãããããŸãäŒããããšãã§ããªãããšãå€ã
ãããŸããã ãããªäžã§ãã©ããªããšãæèããã°çžæã«äŒãããããåæ»ãªã³ãã¥ãã±ãŒã·ã§ã³ãåããã®ãèªåãªãã«èããŠããŸããã ããã§ãåã質åãå©ããæ±ãããšãã«ãã©ããªæèããããããŸãäŒãããããã«ãªã£ãã®ãã3ã€ã»ã©ç޹ä»ãããŠããã ããŸãã â çµè«ããè¿°ã¹ã â¡ã©ããŸã§åãã£ãŠããŠãã©ãã§è©°ãŸã£ãŠããã®ãæç¢ºã« â¢åãããªããªãã®ä»®èª¬ãæã€ äžèšã®3ã€ãæèãã¹ãçç±ãšããŠã質åãããåŽã¯ããã®äººã¯ãâ äœãåãããªãã®ãã»â¡ã©ããŸã§åãã£ãŠããã®ãã»â¢ã©ã®ããã«èããŠããã®ãããåãããªããã°ãããã®ç¢ºèªããå§ããªããã°ãªããŸããã ããªãåœããåã®ããšã§ãããããããã£ãã èšèªå ã§æ¥ãŠããªããšç¡é§ãªã©ãªãŒãçãŸããŠããŸããŸãã ããŸãšãã ä»åã¯ãªã¢ãŒãã¯ãŒã¯ã®äžã§ããã«ã³ãã¥ãã±ãŒã·ã§ã³ã³ã¹ããäžããã®ãã«ã€ããŠã話ãããŠããã ããŸããã æ°åã§å
¥ç€ŸããŠããèªç«ãããŸã§ã¯ãå€ãã®ã³ãã¥ãã±ãŒã·ã§ã³ãåãå¿
èŠããããšæããŸãããã®ãããã³ãã¥ãã±ãŒã·ã§ã³ã³ã¹ããäžããããšã¯èªåã«ãšã£ãŠããã³ãã¥ãã±ãŒã·ã§ã³ãåãçžæã«ãšã£ãŠã倧äºãªããšã ãšæããŸãã 瀟äŒäºº2幎ç®ã«ãªããèªãçºä¿¡ããããšãå¢ããŠãããšæããŸãããããªæã«æèããããšã¯ãã£ãšå¢ããŠãããŸãããŸããç©äºãæ£ããããããããçžæã«äŒããããšã¯ããžãã¹ãã³ã«ãšã£ãŠéåžžã«éèŠãªã¹ãã«ã®1ã€ã ãšæãŠããŸãã ã³ãã¥ãã±ãŒã·ã§ã³ã®èšç·Žããã£ããè¡ããã³ãã¥ãã±ãŒã·ã§ã³èœåæ¿é«ã®ãšã³ãžãã¢ã«ãªããããã«é 匵ããŸãïŒ ä»åã¯ãããããã«ããŠããŸã次åã®èšäºã§ãäŒãããŸãããïŒ
ããã«ã¡ã¯ãã¯ã«ãŒãºæ ªåŒäŒç€ŸCTOã®éŽæšã§ãã 2021幎ã®10æããããããã³ãšã³ãã®ãšã©ãŒç£èŠãšããŠSentryãå°å
¥ããŠããŠããŸãã å°å
¥ãã6ã¶æãçµã¡ãéçšã«ãä¹ã£ãŠããã®ã§äºäŸãšããŠå
±æããããšæããŸãã JSã®ãšã©ãŒãåå ã§ç«ãŠç¶ãã«åé¡ãèµ·ãã£ã åœæãç¹å®ãã©ãŠã¶ã ããã¿ã³ãæŒããŠãåäœããªãåé¡ãããµãŒãã¹ãšããŠã¯æ£åžžã«åããã ãã©å¹ææž¬å®çšã«éã£ãŠããã€ãã³ããçºç«ããªãåé¡ãç«ãŠç¶ãã«èµ·ããåå ã®ç¹å®ãšä¿®æ£ã«é·ããã®ã ãšïŒå¶æ¥æ¥ããã£ãŠããŸãããšããããŸããã ãã®ä»¶ã§åé¡ã ãšæããç¹ã¯ä»¥äžã§ãã ãµãŒããšéã£ãŠããã©ãŠã¶äžã§åäœãããã®ã¯æç€ºçã«ãã°ãã©ããã«éã£ãŠãããªãéãå®è¡ããŠãããã©ãŠã¶äžã§ãããšã©ãŒã«æ°ã¥ããªãã ç¹å®ãã©ãŠã¶ã®ã¿ã§çºçããå Žåãåé¡ãçºèŠããŠãéçºè
ããã®åé¡ãç¹å®ãããŸã§æéãããããïŒåçŸæ¡ä»¶ã®ç¹å®ã«æéããããïŒ è¡šç€ºã«åœ±é¿ããªãèšæž¬ç³»ã®ã€ãã³ãçºç«ã¯èŠèœãšããããããïŒè¡šç€ºäžã¯æ£åžžãªããïŒ äžèšåé¡ã解決ããæ¹æ³ã®äžã€ãšããŠã以åã« AWS Fargateäžã«æ§ç¯ããã³ã³ããäžã§åäœããLaravelã®ãšã©ãŒéä¿¡ã§äœ¿ã£ãŠããSentryã§JSã®ãšã©ãŒç£èŠãè¡ãããšã«ããŸããã Sentryã®å°å
¥ å°å
¥ã¯ããã¥ã¡ã³ãã®éãã«è¡ããéåžžã«å®¹æã«åºæ¥ãŸããã æ€ç¥ããããšã©ãŒã¯Issuesãšãã圢ã§ãã±ãããšããŠäžãã£ãŠããã®ã§ãéçšãšããŠã¯ æ€ç¥ããããšã©ãŒã¯ããã³ããšã³ãã®å°éè·çš®é·ã察åŠãå¿
èŠãã©ããããŸã倿ããã 察åŠãå¿
èŠãªãã®ã¯æ
åœè
ã ã¢ãµã€ ã³ããŠã ãªãã¡ã¯ã¿ãªã³ã° ã¿ã¹ã¯åãã ã¢ãµã€ ã³ãããæ
åœè
ã¯ä¿®æ£ããçŽè¿ã®ãªãªãŒã¹ã«æ··ã蟌ãã§ä¿®æ£ãªãªãŒã¹ããã ãšãã圢ã§è¡ã£ãŠããŸãã ãŸããšã©ãŒå
容ãä»¶æ°ãšãã£ãæ
å ±ã¯ããšã³ãžãã¢å
šå¡ã®åå ããäŒè°äœã®äžã§å
±æããä»ã©ã®ãããªåé¡ã¯çºçããŠãããã«ã€ããŠãšã³ãžãã¢å
šå¡ãç¥ãããšãã§ããããã«ããŠããŸããèå³ã®ãã人ã¯Sentyäžãã詳现ã¬ããŒããèŠãããããã¢ã«ãŠã³ãããšã³ãžãã¢å
šå¡ã«é
åžããŠããŸãã Sentry以å€ã§å®æœããŠããããš å®éã«ãµãŒãã¹åŽã§çºçããŠãããšã©ãŒã®äžã§ã¯ãéçºç°å¢ã§ãèµ·ãã£ãŠãããã©æ°ã¥ããã«ãªãªãŒã¹ãããŠããŸã£ããã®ãå«ãŸããŠãããããeslintãåãããŠå°å
¥ããŠããŸãã ããã¯åå人ã®éçºç°å¢ãšãGitLabã«é£æºããJenkinsã®CI/CDç°å¢ã§åäœããŠãããåè
ã¯ãããã€åã«ãšã©ãŒãåºãŠããªãããšã®ç¢ºèªã«ãåŸè
ã¯ãšã³ãžãã¢å
šäœã«å
±æãããããã¬ããŒãã£ã³ã°ãšããŠæŽ»çšããŠããŸãã ãªã®ã§ããªãªãŒã¹åã«ãšã©ãŒãæå°ã«ããïŒãµãŒãã¹äžã§çºçããŠãããšã©ãŒãæ©ææ€ç¥ã§ããããã«ãããšããïŒæ®µæ§ãã§JSãšã©ãŒãžã®å¯Ÿå¿ãè¡ãªã£ãŠããŸã éçšããŠããŠããã£ãããšã»èª²é¡æ ãã£ãããšã§ããã ããã£ãããš å質ã¡ããªã¯ã¹ãšããŠãšã©ãŒä»¶æ°ãå¯èŠåãã§ããããšïŒå
±éã®åè³ªç®æšãšããŠãšã©ãŒ0ä»¶ãç®æããã ïŒãšèšããããšãšãå®éã«ä»¶æ°ãèŠããããšïŒ çºçããŠããã ãã€ã¹ ã»ãã©ãŠã¶ã®æ
å ±ãåãããããåå ã®ç¹å®ã«ãããèª¿æ»æéãççž®ã§ããããš èª²é¡æ åäœä¿èšŒãã©ãŠã¶ã§çºç以å€ããã®ãšã©ãŒã¬ããŒããéé³ã«ãªã ã¿ã°ãããŒãžã£ã«ãã£ãŠ ãœãŒã¹ã³ãŒã 管çå€ã§HTMLå
ã«æ¿å
¥ãããJSã®ãšã©ãŒã®å Žåãæ€ç¥ããŠãåé¡ã®ç¹å®ã«æéããããã±ãŒã¹ãããïŒ ãœãŒã¹ã³ãŒã ãã远ããªãããïŒ ããã·ã¥ ããŒããªã©ãŸã 广çã«æŽ»çšããããŠããªãéšåãããã ã§ãã èªåèªèº«ããµãŒãã®çµéšã®æ¹ãé·ããããã³ããšã³ãåéã«ã€ããŠå
šãŠãææ¡ã§ããŠããããã§ã¯ãªããããæè¡å¯ãèŠç¹ãšããããã¯ç®¡çå¯ããªèŠç¹ã§ã®ææ³ãšãªã£ãŠããŸããŸãããäžèšã®ããã«æããŠããŸãã ãã®ä»ããšã©ãŒæ€ç¥ã ãã§ãªãããã©ãŒãã³ã¹èšæž¬ã«ãSentryãæŽ»çšãã¹ããPerformance Monitoring ã®éçšã䞊è¡ããŠé²ããŠããŠãã®å
容ã«ã€ããŠãæ¹ããŠå
±æããŸãã
ããã«ã¡ã¯ãã¯ã«ãŒãºæ ªåŒäŒç€ŸCTOã®éŽæšã§ãã ä»åã¯ããã©ãŠã¶ããŒã¹ã® IDE ã® AWS Cloud9ã®è©±ã§ãã å
æ¥ã«ã ã¯ã«ãŒãºã§5幎ã¶ãã«æ°å
¥ç€Ÿå¡åãã«ããã°ã©ãã³ã°ç ä¿®ãåéãã話 ãã§ãè§Šãããšãããåœç€Ÿã§ã¯ãæ°å
¥ç€Ÿå¡åãã®ç ä¿®ã®äžç°ã§è·çš®ã«é¢ä¿ãªãIT ãªãã©ã·ãŒ ã®æè²ã®äžç°ãšããŠããã°ã©ãã³ã°ã¹ãã«ã«é¢ããç ä¿®ã宿œããŠããŸãã ãã®äžã§ãä»å¹Žã®å
å®è
åãã®ç ä¿®ãã AWS Cloud9ã䜿ããHTMLãJSã PHP ã®åºç€çãªç ä¿®ã§æŽ»çšããŠããŸãã æ°äººåãã«ããã°ã©ãã³ã°æè²ã宿œããçç± ã¯ã«ãŒãºã°ã«ãŒãã§ã¯ãæ°å瀟å¡åãã®åéè·çš®ãšããŠå¶æ¥ãéçºãªã©ã®è·çš®å¥æ¡çšã¯çŸåšå®æœããŠãããããæ°åããšããäžã€ã®ãããã§æ¡çšãè¡ããããžãã¹ã¹ãã«ã®æè²ãITã¹ãã«ã®æè²ãå
å®è
å
šå¡å
±éã®å
容ã§å®æœããŠããŸãã æ°ååãã«ITã¹ãã«æè²ã®äžç°ãšããŠããã°ã©ãã³ã°ã®ç ä¿®ã宿œããŠããçç±ãšããŠã¯ãåœç€Ÿãã€ã³ã¿ãŒãããäžã§ãµãŒãã¹ãæäŸããŠãã倧åæãšããŠã€ã³ã¿ãŒãããã«é¢é£ããç¥èãçµéšããªããšäŒç»ã®ç«æ¡ã广æ€èšŒã广çã«è¡ããªãããšããŸãèªç€Ÿãããã¯ããšããŠã€ã³ã¿ãŒããããµãŒãã¹ãéçºããŠããäžã§ããã°ã©ã ã®èšèšã»å®è£
ã«é¢ããç¥èããªããšèŠä»¶ã決ããããªãããšããããå
¥ç€Ÿã®åããåºç€çãªæè²ãå
宿¿è«ŸåŸãããªã¢ãŒãç ä¿®ãšãã圢ã§å®æœããŠããŸãã å
¥ç€ŸåŸã«ã€ããŠã¯ãçŽ é€ã驿§ã倿ãé
å±éšéãæ±ºå®ãããããžãã¹ãµã€ãã®éšéã«é
å±ãããã¡ã³ããŒã¯ã4æã«å¶æ¥éšéé
å±ããšã³ãžãã¢éšéã«é
å±ãããã¡ã³ããŒã¯åŒãç¶ã3ã¶æã®éçºã®ç ä¿®ãçµãŠéçºéšéã«é
å±ãšãªããŸãã å
å®è
ç ä¿®ã§Coud9ãæ¡çšããçç± åæç°å¢æ§ç¯ãåã
ã§è¡ãå¿
èŠããªã åè¿°ã®ããã«å°éè·çš®ãšããŠãšã³ãžãã¢è·æ¡çšãããŠããããåºæ¬çã«ç°å¢æ§ç¯ã®çµéšã®ãªã人ãã»ãšãã©ã§ãã ãã®ãããªç¶æ³ã§ã仮㫠Vagrant ãDockerã§ããŒã«ã«éçºç°å¢ãé
ããã«ããŸã Vagrant ãDockerã®åäœç°å¢ãäœãããšèªäœãããŒãã«ãé«ãããã€æã®ããã«åæ¥éãŸã£ãŠç ä¿®ãè¡ããšãã£ãããšãåºæ¥ãªãã§ãã ãŸãåææ§ç¯ã«ã€ãŸã¥ããšããããã®æç¹ã§ããã°ã©ãã³ã°ã«èŠææèãæã£ãŠããŸã人ãããã®ã§ãæè»œã«ç°¡åãªã³ãŒããæžããŠå®è¡ã§ãããã®ã¯ãªãããšè²ã
èããæ«ã AWS Cloud9ãæ¡çšããŸããã å®éã«ã¯äžçªåãã«ç¹å®ã®ã³ãã³ããæµããŠç°å¢æ§ç¯ã¯è¡ã£ãŠãããã®ã§ãããPCäžã§ã®ç°å¢æ§ç¯ãšã¯éããEC2äžã§ã®æ§ç¯ã§ãã€ãOSããŒãžã§ã³ãªã©ã®åææ§æã«å·®ããªãã®ã§åææ§ç¯ã«ããã£ãŠç ä¿®éå¶ãæ»ãããšããªãéåžžã«ãããããã£ãã§ãã IDE ïŒãµãŒããšããŠæ©èœããã®ã§Coud9äžã§å®çµã§ãã ç°å¢æ§ç¯ãå¿
èŠãšããªãããã°ã©ãã³ã°ã®ç ä¿®ææ®µãšããŠã¯ãä»ã«ããªã³ã©ã€ã³ãšãã£ã¿ããããŸãã ãã ãªã³ã©ã€ã³ãšãã£ã¿ã®å Žåãç®çã«ãã£ãŠãšãã£ã¿ã䜿ãåããªããã°ãªããªãäºããã®éšåã¯ãµãŒããµã€ãèšèªã§æžããŠãããã¯ããã³ãå®è£
ããŠãææç©ã¯Gitã§ç®¡çããŠãšãã£ããããªå®éã®éçºã«è¿ãããšãè¡ãããšãé£ãããå®éã® IDE ãšããŠæ©èœãããã®ãCloud9ã ã£ããšãããã®éžå®ã®çç±ãšããŠå€§ããã§ãã ç¹ã« IDE äžãã ã€ã³ã¹ã¿ã³ã¹ ã«å¯ŸãOSã³ãã³ãæäœãã§ããããšããWebãµãŒãã®ææç©ã®ãã¬ãã¥ãŒãã§ããããšã倧ãããå®éã«tailã³ãã³ãã§ãã°ã確èªããªãã ãããã° ã§ããããšã®ã¡ãªããã¯å€§ããã£ãã§ãã æè»œã«å®è·µã§ããç°å¢ã欲ããã£ã åœç€Ÿã§ã¯ããã°ã©ã æè²ã«åãå
¥ããŠãããã®ã®ãæ°å
¥ç€Ÿå¡å
šå¡ãå
¥ç€ŸåŸéçºè·çš®ãšããŠæŽ»èºããããšãæåŸ
ããŠããããã§ã¯ãªãã§ãã éçºã®ç¥èãæ°å
¥ç€Ÿå¡å
šå¡ãçè§£ããŠããããšãå
±éã§æ±ããããããããå
ã¯çŽ é€ã驿§å€æã§ãšã³ãžãã¢éšéé
å±ã®äººã¯ããã«ïŒã¶æéãã¯ã©ã¹èšèšãGit-Flowãªã©ã®ãäœæ³çãªå
容ãããDBèšèšããã¥ãŒãã³ã°ãªã©æ§ã
ãªããšãåŠãã§ãããŸãã ãªã®ã§ãŸãã¯æè»œã«ã³ãŒãããããŠãããææç©ãšããŠèŠããŠã ãªããžã㪠æäœãã§ããç°å¢ãããã°ããããã®èŠä»¶ãæºãããããæ¡çšããŠããŸãã å°å
¥ããŠã¿ãŠ æè»œã«ã³ãŒãããããç°å¢ãšããŠã¯æé©ïŒ ç¹ã«ç°å¢æ§ç¯é¢ã¯ïŒç°å¢ãæ§ç¯ãããåŽã®èŠç¹ã§èšã£ãŠããŸãïŒã¯ãããæéãå°ãªãã£ãã§ãã ç ä¿®ãåããåŽã®äººã«ãšã£ãŠã¯åããŠäœ¿ã IDE ãªã®ã§å€å°ã¯æžæã£ãŠãããã®ã®ã1æéãããã®æäœã§ IDE ã®åºæ¬çãªæäœã«ã¯æ
£ããŠããŠããã®ã§ãç ä¿®çšéãšããŠã¯æé©ã ãšå€æããŠããŸãã äžæ¹ã§æ¥åäžã®å©çšãèãããšããã©ãŠã¶ããŒã¹ã§ãã«ããã£ã¹ãã¬ã€å¯Ÿå¿ããŠãªãããçç£æ§ã©ããªãã ãããšãã VSCode äžã§è¡ã£ãŠãããã¡ã€ã«ä¿åæã®Lintãšã諞ã
ã©ãããããšãèããªããšãªããªãããšã¯ãŸã å€ãã®ã§ããããã©ãŠã¶ãšé»æ³¢ããããã°ã©ãã§ãéçºã§ããæè»œãã¯ãã®ãããé
åãªã®ã§ãDaaSçãªæŽ»çšãä»åŸæ€èšããŠãããããšæã£ãŠããŸãã
ããã«ã¡ã¯ãã¯ã«ãŒãºæ ªåŒäŒç€ŸCTOã®éŽæšã§ãã ä»åã¯éçºã®è©±ãšã¯å°ã話ããããã®ã§ããã5幎ã¶ãã«æ°å
¥ç€Ÿå¡åãããã°ã©ãã³ã°ç ä¿®ãããŸãããšãã話ãããããšæããŸãã CROOZ ã§ã¯2013幎床ãã2016幎床ã®ãšã³ãžãã¢ãšããŠé
å±ããæ°å
¥ç€Ÿå¡ãŸã§ã¯æ°å
¥ç€Ÿå¡åãã®æè²ãšããŠããã°ã©ãã³ã°ç ä¿®ãé
å±åã®3ã«æéè¡ã£ãŠããŸããã ãã®åŸçŽäœæ²æãã2017幎床以éã¯ãã°ããè¡ãããšãã¯ãªãã£ãã®ã§ãããä»å¹ŽåºŠãã宿œã®éã³ãšãªããŸããã ããã°ã©ãã³ã°ç ä¿®ãæ°å
¥ç€Ÿå¡ã«è¡ã£ãŠããçç± ããã¯ãããã°ã©ãã³ã°ãããžãã¹ã¹ãã«ã®äžã€ã ãšèããŠããããã§ãã åœç€Ÿã¯ã€ã³ã¿ãŒãããäžã§ãµãŒãã¹ãéçšããŠãããITã«ã€ããŠã®ç¥èãæã£ãäžã§æŽ»çšã§ããªããã°ãè¯ããµãŒãã¹ãæäŸãç¶ããããšãã§ããããã€ãã¯çãæ®ããªããªããŸãã ãŸããä»åŸã¯ãŸããŸãæè¡ãçºå±ãã€ã³ã¿ãŒããããéãããµãŒãã¹ã身è¿ã«ãªã£ãŠãããŸãããã®ãããªæä»£ã«ãªããšããããã°ã©ãã³ã°ãšããã¹ãã«ã¯å¿
ãå¿
èŠãšãªã£ãŠããŸãã ãªããªãããã°ã©ã ã§æžããããã®ã®äžã§ãµãŒãã¹ãå±éããŠããããããã©ã®ãããªä»çµã¿ã§åããŠããŠããšã³ããŠãŒã¶ãåŸæ¥å¡ã«ã©ã®ãããªåœ¹å²ãããŠããã®ããçè§£ã§ãããããèŠä»¶ãšããŠæ±ºããããªããšæ°ãã䟡å€ãæ©èœãæäŸããããšãã§ãããçµæãšããŠããžãã¹ã«åãæ®ãããŠããŸãããã§ãã ãªã®ã§æ¥µè«ãèšããšããã°ã©ã ãæžããããšãéèŠãšããããã§ã¯ãªããã³ã³ãã¥ãŒã¿ãŒäžã§ãµãŒãã¹ãæäŸããã«ã¯ã©ã®ãããªä»çµã¿ãå¿
èŠã§ãã©ã®ãããªããã°ã©ã ãäœãå¿
èŠãããã®ããšãããããã°ã©ã ã®èãæ¹ããèšèšã®ä»æ¹ãèŠä»¶ã®åºãæ¹ããããã°ã©ã ã補é ãããããžã§ã¯ã管çã®äžèŠ§ã®æµãã«ã€ããŠåŠã¶ããšããšãŠãéèŠãšãªããŸãã ãã®ãããªããšãããããã°ã©ãã³ã°ã¯æåŒ·ã®ããžãã¹ã¹ãã«ã§ãããšèšãããããšããããŸãã äžã®äžã®åããšããŠãã ã»ç±³General Electric瀟ã®äŒé·å
ŒCEOã®ãžã§ããªãŒæ°ããä»åŸæ¡çšãã20代ã®ç€Ÿå¡ã«é¢ããŠã¯ãæ¡çšããè·çš®ã«ãããããªãããã°ã©ãã³ã°èœåãå¿
é ãšããæ¹éãã衚æããŠããã ã» Wantedly CEOã®ä»²æ°ã¯ãæåã®ãã¢ãããäœã段éã§å¿
èŠã«ãªãããã°ã©ãã³ã°ã®æ¹ããããŸã MBA ãããå§åçã«éèŠãé«ãããšçºèšããŠããã ã» ãã¯ã³ãŽ ãç£ä¿®ããæžç±ãããã°ã©ãã³ã°ã¯æåŒ·ã®ããžãã¹ã¹ãã«ã§ãããã®äžã§ããçŸä»£ã«ãããŠäººãšã©ãä»ãåããã§ã¯ãªããã³ã³ãã¥ãŒã¿ãšã©ãä»ãåãããéèŠã§ããã®ããã«æ¹æ³è«ãšããŠããã°ã©ãã³ã°ãåŠã¶ããšãæãæå¹ãªæŠç¥ã§ããããšããèšèŒãããã 㻠楜倩 ã§ã¯çŽ2äžäººã®å
šåŸæ¥å¡ã«å¯ŸããåçŽã¬ãã«ã®ããã°ã©ãã³ã°èœåãå¿
é ãšããæ¹éã2019幎ã«åºããŠããã ãªã©ãããžãã¹ã¹ãã«ãšããŠã®ããã°ã©ãã³ã°ã«ä»æ³šç®ããããŠããŸãã åœç€Ÿã®ããã°ã©ãã³ã°æè²ã«ã€ã㊠åæãšããŠãã¯ã«ãŒãºã°ã«ãŒãã®æ°åã®åéãšããŠã¯ç·åè·çš®ãªã®ã§ãå
¥ç€Ÿæç¹ã§å€§éšåã®æ°å
¥ç€Ÿå¡ã¯ããã°ã©ãã³ã°ã¹ãã«ã身ã«ä»ããŠããŸããã ããã°ã©ãã³ã°æè²ã«ã€ããŠã¯ãå
宿¿è«Ÿæããå
¥ç€ŸãŸã§ã«å®æœããæè²ãšãå
¥ç€ŸåŸã«3ã«æéãããŠå®æœããæè²ãšå€§ãã2ã€ã«åãããŸãã å
宿¿è«Ÿæããå
¥ç€ŸãŸã§ã«å®æœããæè²ã§ã¯äž»ã«éçºè
ãšäŒè©±ããããã«å¿
èŠãªITã®çšèªããããžã§ã¯ãã®ç®¡çææ³ã«é¢é£ããç¥èãåçš®ãµãŒãã®åœ¹å²ãšãã£ãèªåãéçºè
ã«é©åã«éçºã®äŸé Œãè¡ãããã«å¿
èŠãªåºç€ç¥èã®ç¿åŸãšãã³ã³ãã¥ãŒã¿èšèªãšã㊠SQL ãš Google App Script ã®ç¿åŸãè¡ããŸãã ããã¯ãã©ã®è·çš®ã«ãããŠãé
å±åŸã«éçºè
ã«å¯ŸããŠé©åãªéçºãªã¯ ãšã¹ ããè¡ãã課é¡è§£æ±ºã®ããã«èªèº«ã§ããŒã¿ã®æœåºãè¡ãåæãã§ããããã«ããããã«å
¥ç€Ÿåæè²ãšããŠå®æœããŠããŸãã å
¥ç€Ÿåæè²çµäºæã«ããã°ã©ãã³ã°ç¿åŸã®çŽ é€ã倿ããçŽ é€ãããšå€æããã人ã«ã€ããŠã¯å
¥ç€ŸåŸ3ã«æãããŠããã°ã©ãã³ã°ã¹ãã«ã®ç¿åŸãããŠãããŸãã ç ä¿®ã§å
·äœçã«äœãè¡ã£ãŠããããªã©ã®å
容ã«ã€ããŠã¯ãŸãå¥ã®æçš¿ã§æžããŠããããšæããŸãã
ããã«ã¡ã¯ãæ°å1幎ç®ã®RYOBALã§ãã 瀟å
ã®MDãããã¢ãŒã·ã§ã³éšãéçºéšãªã©ã䜿çšããŠãã管çç»é¢ãååšããã®ã§ãããä»åã¯ãã®ç®¡çç»é¢ã®äžéšãMetabaseãšããããŒã«ã«ç§»è¡ããæ¥åãè¡ã£ãã®ã§ããã®å
容ã«ã€ããŠçºä¿¡ããŠãããŸãã ãããŸã§ Metabase ã䜿ã£ãããšãããæ¹ãããããäœ¿ãæ¹ãç§ãã©ããªæ¥åãããŠããã®ãæ°ã«ãªãæ¹ã¯ã楜ãã¿ã§ããå
容ã ãšæããŸãã Metabaseã£ãŠããããäœïŒ Metabaseãšã¯ãMetabaseãããžã§ã¯ãã«ãã£ãŠéçºãããŠãã ãªãŒãã³ãœãŒã¹ ãœãããŠã§ã¢ã®ããŒã¿å¯èŠåããŒã«ã§ããããŒã¿å¯èŠåããŒã«ã¯ ããã·ã¥ ããŒããœãããŠã§ã¢ã»BIããŒã«ãšãåŒã°ããŠããŸããMetabaseã§å¯èŠåããããŒã¿ãåæã«åœ¹ç«ãŠãããšãã§ããŸãã ãŸããMetabaseã§ã¯ä»ã®ãäžèšã®ãããªè±å¯ã«ãæ©èœããããšãŠã䟿å©ãªããŒã«ã§ãã ã»ã°ã©ãã®çš®é¡ãè±å¯ ã» LDAP ã Google ã¢ã«ãŠã³ããå©çšããèªèšŒ ã»å©çšé »åºŠã®é«ãæ€çŽ¢æ¡ä»¶ã®ç»é²æ©èœ ã»Slackãšã®é£æº ã»æ¥æ¬èªå¯Ÿå¿ ãããããªãä»åã管çç»é¢ã®äžéšãMetabaseã«ç§»è¡ããããšã«ãªã£ãã®ãã ããã¯ããããæ°ãã«ç®¡çç»é¢ã®æ¹ä¿®ãçºçããå ŽåãMetabaseã«ç§»è¡ããŠãããšæ¹ä¿®ããããããªãããã§ãããªããæ¹ä¿®ããããã®ã説æããŠãããŸãã ãŸããçŸåšã®ãµã€ã管çç»é¢ã¯ PHP ãã¡ã€ã³ã«éçºãããŠããŸãã 管çç»é¢ã§ã¯ SQL ã䜿ã£ãŠæ€çŽ¢çµæã®è¡šç€ºãããŒã¿ã®ç»é²ãç·šéãæŽæ°ãªã©ã管çç»é¢äžã§ãã¿ã³äžã€æŒãã ãã§å¯èœã«ãªã£ãŠããŸãã äŸãã°ãæ°ããååã远å ããããšãã«ã¯å¿
èŠãªæ
å ±ãå
¥åããŠãååç»é²ãã¿ã³ããã¯ãªãã¯ãããšååç»é²ãã§ãããããªä»æ§ã«ãªã£ãŠããŸãã ä»åã管çç»é¢ããMetabaseã«ç§»è¡ããç»é¢ã¯ SQL ã§SELECTããŠããŒã¿ãåãåºããã¯ãšãªã®çµæãç»é¢ã«è¡šç€ºãããŠããç»é¢ã§ããã€ãŸããããŒã¿ã®ç»é²ãæŽæ°äœæ¥ããªãã®ã§ãMetabaseã«ç§»è¡ãã§ããç»é¢ã§ãã Metabaseã«ç§»è¡ããŠããããšã§ãä»åŸç»é¢ã®æ¹ä¿®ãè¡ãéã«ãããããã³ãŒããä¿®æ£ããããšããªããæäœããããMetabaseã§æ¹ä¿®ãã§ãããšããã¡ãªãããããã®ã§ãã Metabaseãžã®ç§»è¡ãæã£ãããé£ããã£ãä»¶ Metabaseã§ã¯ SQL ãçŽæ¥èšèŒããŠçµæãåºåã§ããã®ã§ã SQL ããæžãããšãã§ããã°ç¹å¥é£ãããªãæäœãã§ããŸãã ãããããããæã£ãããèŠæŠãããã§ããã æå㯠SQL ãèšèŒããã ãã§éèšçµæãããã«åºãŠãæ£ã°ã©ããåã°ã©ããªã©ããžã¥ã¢ã©ã€ãºãç°¡åã«ã§ããã®ã§ããããã¯äŸ¿å©ãããïŒããšæåããŠããã®ã§ãããããæãã€ãŸã¥ããŠããŸããŸããã å
·äœçã«ã¯Metabaseãªãã§ã¯ã®èšèŒæ¹æ³ãããç¹ã«ã€ãŸã¥ãèŠæŠããŸããã Metabaseã§ã¯Metabaseç¬èªã® SQL ã®èšèŒæ¹æ³ããããŸãã äŸãã°ã倿°ã¯{{}}ã䜿ã£ãŠèšèŒãããªã©æ®æ®µã SQL ã«è§ŠããŠããŠãç¥ããªãå
容ã倿°ãããŸããã ãã¡ããããããªãããšã¯ã°ã°ãã°ããçšåºŠåºãŠããã®ã§ãããMetabaseã®æç®ã¯æ¡å€å°ãªããMetabaseã®ããŒãžã§ã³ã«ãã£ãŠã§ããããšãšã§ããªãããšãããããªããªã調ã¹ãã®ã倧å€ã§ãããã è±èªãåãããªããªãããæµ·å€ã®æç®ã調ã¹ãŠMetabaseã«ã€ããŠæ¯æ¥èª¿ã¹ãŸããã åŠçã®æã«ããå°ãè±èªã®å匷ããã°ããã£ããšæ¹ããŠæãããã(ç¬) ãããªãããªã§èŠæŠããªããããªããšã仿§ãçè§£ããŠãé 調ã«ç®¡çç»é¢ã Metabase ã«ç§»è¡ããŠããŸãããããããªæã«ããåé¡ãèµ·ããŸããã äœåºŠãã£ãŠãéèšçµæãåããªã 管çç»é¢ã® SQL ãç¹ã«å€ããããšãªããMetabaseã«ç§»è¡ããŠããã®ã«ãé¢ãããéèšçµæãåããªãã®ã§ãã å
容èªäœã¯åããªã®ã«ãéèšçµæãåããªããªããŠäœãèµ·ãã£ãŠããã®ããã£ã±ãããããŸããã§ããã(ç¬) åé¡ã®åå ã¯Metabaseã®ç¹æã®èšèŒã§ãã[ ]ã®äœ¿ãæ¹ã§ããã[ ]ã§å²ããšãå²ãŸããç¯å²å
ã®å€æ°ãå
¥åããããšãã®ã¿ããã®äžã®æ§æãè©äŸ¡ãããŸãã äŸãã°ãWHERE [[ and {{product_name}} ]] ãšããèšèŒãããæã« ããã¯å€æ°product_nameã®äžã«å€ãããã°WHEREå¥ãšããŠæ§æãèªã¿èŸŒãŸããŸãã ãã®ã«ãŒã«ãç¥ã£ãŠããã°ãå
šãåé¡ã§ã¯ãªãã®ã§ããããã®ã«ãŒã«ãç¥ããã«é·ãæéèŠæŠããŠããŸããã ãã®åé¡ã解決ããæã¯å¬ãããŠæ¶ãåºãã»ã©ã§ãããã(ç¬) 瀟å
ã®ç®¡çç»é¢ãMetabaseã«ç§»è¡ããŠã¿ãŠ ä»å瀟å
ã®ç®¡çç»é¢ãMetabaseã«ç§»è¡ããŠã¿ãŠèªåèªèº«ããããŸã§ããŒã«ã®ç§»è¡äœæ¥ã¯ããããæéã®ãããé¢åãªäœæ¥ã ããšæã£ãŠããŸããããå®éã«ãã£ãŠã¿ããšæå€ã«èªåã§ãã§ããã䟿å©ã ãšå®æããŸããã ãã¡ãããéäžã§èŠæŠããããšããããŸããããããã§ããããŸã§çµéšããªãäœæ¥ãçµéšã§ããããšã¯è¯ãã£ããšæã£ãŠããŸãã æ®æ®µåœããåã«äœ¿ã£ãŠããããŒã«ã§ãæåã¯èª°ããããŒã«ã®èšå®ãåããŠã®äººã§ã䜿ããããããã«ããã¥ã¢ã«ãäœæãããªã©ãé°ãªããã®åªåããããŠããã®ã ãšæããŸãããä»åŸã瀟å
ã§ã¯æ§ã
ãªããŒã«ãå°å
¥ãããŠãããšæãã®ã§ããã®éã¯é²ãã§æããããŠããããšæããŸãã ãŸãšã ä»åã¯ç€Ÿå
ã®ç®¡çç»é¢ãMetabaseã«ç§»è¡ãããšãã£ãå
容ã«ã€ããŠãäŒãããŸããã äžã®äžã§ã¯æ¥ã
䟿å©ãªããŒã«ãèªçããŠããŸãã 瀟å
ã®çç£æ§ãäžããäžã§ã¯æ¬ ãããªãããŒã«ãããããååšããŠããŸãããããªããŒã«ãåºãéã«ããã¡æ©ããã£ããã¢ããããç§»è¡ããããšã§ç€Ÿå
ã®çç£æ§ãäžãããšä»åä»äºãéããŠèº«ã«ãã¿ãŠæããŸããã ä»åŸãæ¥åãéããŠçµéšããããšã圹ã«ç«ã£ãããšãèšäºã«ããŠçºä¿¡ããŠããã®ã§æ¥œãã¿ã«ããŠãã ãããããã§ã¯ããŸã次åã®ããã°ã§ã BYEâ
ããã«ã¡ã¯ãã¯ã«ãŒãºæ ªåŒäŒç€ŸCTOã®éŽæšã§ãã 以åã®æçš¿ã§ã AWS Auto Scaling ã«ããã€ã³ã¹ã¿ã³ã¹ç®¡çã«åãæ¿ãã話 ãã話ãããŸããããä»åã¯ãæ°èŠãããžã§ã¯ããã管çç»é¢ã§EC2ã§ã¯ãªãã³ã³ããã§ã®ãµãŒãã¹éçšãéå§ãã話ã«ã€ããŠæžãããšæããŸãã æ¬çªç°å¢ã§ã³ã³ããåãé²ããŠããçç± ããŒã«ã«ç°å¢ãå«ãéçºç°å¢ã§ã³ã³ãããå©çšããã±ãŒã¹ã¯å€ãã§ãããæ¬çªç°å¢ã§ãããŠã³ã³ãããå°å
¥ããŠããªãäŒç€Ÿãããã®ã§ã¯ãªãããšæããŸã ãã®äžã§ãæ¬çªç°å¢ã§ã³ã³ãããå°å
¥ããããšã®ã¡ãªããã«ã€ããŠãç§ã¯ä»¥äžã®ããã«èããŠããŸãã â ã€ã³ãã©ä¿å®ã³ã¹ãã®åæž åçŽã« ã€ã³ã¹ã¿ã³ã¹ è²»çšã ãã§èããã°EC2ãã¯ãããšããä»®æ³ãµãŒããšå€ãããªããããããä»®æ³ãµãŒãã®ã»ããã³ã¹ãã¯å®ãéçšã§ãããããããŸããã ãã ããäžæ¹ã§OSã®ã¡ã³ããã³ã¹ã¯ã€ã³ãã©éšéãšããŠã¯ãç¶ããªããã°ãªãããã€ã³ãã©å
šäœã® å·¥æ° ããèŠãã°åŸ®ã
æããã®ã§ã¯ãããã®ã®ãæ°žç¶çã«ã¡ã³ããã³ã¹ã³ã¹ããçºçããŸãã ã³ã³ãããå©çšããããšã§OSã®ã¡ã³ããã³ã¹ã«ããã å·¥æ° ãåæžããå¥ã®äŸ¡å€ã®ããä»çµã¿åãå®çŸãã å·¥æ° ã«å
ãŠãããšãå¯èœãšãªããŸãã â¡ããæè»ã«ã¹ã±ãŒã«å¯èœãªã€ã³ãã©ãå®çŸãããµãŒãã¹ã¬ãã«ãåäžããããã ããããã£ãšãã¡ãªãããšããŠã¯ãšããŠã¯å€§ãããšèããŠããŸãã çŸç¶ã®EC2ããŒã¹ã®ãªãŒãã¹ã±ãŒã«ã§ã¯ã¹ã±ãŒã«ã¢ãŠãã«çŽ10ïœ15åã»ã©ã®æéãããã£ãŠããŸãã æã®ããã«æåã§æ§ç¯ããŠããæãšæ¯èŒããã°ååã«ã¯ççž®ã§ãããã®ã®ãäŸãã°æ¥ã«è² è·ããã£ãŠã10åïœ15åã®éã®ãµãŒãå°æ°ã®å¢å ã¯èŠèŸŒããããã®æéã¯ãµã€ãã«ç¹ããã¥ãããªã£ãããææªã®å Žåã«ãµãŒãã¹ããŠã³ã®å¯èœæ§ããããŸãã ã³ã³ãããå©çšããããšã«ããããããã€ã«ãããæéãæ°åã«ççž®ãå¯èœã§ãããæè»ã«ã¹ã±ãŒã«ã§ããã€ã³ãã©ã®å®çŸãã§ããããšãæåŸ
ã§ããŸãã ⢠TCO (ããŒã¿ã«ã³ã¹ã)ã®åæž ãããã€æéã®ççž®ã«ããããµãŒãã®åœ¹å²ã«ãã£ãŠã¯æ¢ããŠåé·æ§æãè¡ãã1å°ã§é転ããããšã§ã³ã¹ãããŠã³ãå³ãããã®ãããã®ã§ã¯ãªãããšèããŠããŸãã äŸãã°ã瀟å
ã®ç¹å®ãŠãŒã¶ãã䜿ãããä»®ã«æ°åã®ãµãŒãã¹ããŠã³ã§ããã°éçšäžå容å¯èœãªãµãŒãã¹ã§ããã°ã·ã³ã°ã«æ§æã§éçšããã1æ¥æ°æéã ãåãã°ããããã ã€ã³ã¹ã¿ã³ã¹ ã§ããã°1å°æ§æã§ãã®æéã ãé転ããã³ã³ãããèœã¡ãŠãç«ã¡äžãçŽããŠåå®è¡ãããªã©ã åããµãŒãã¹ã¬ãã«ã§ãã£ãŠãããããã€æéã®ççž®ã«ããã·ã³ã°ã«æ§æã§é転ã§ãã ã€ã³ã¹ã¿ã³ã¹ ãçãŸãããã®éšåã®ã³ã¹ãã®åæžãå¯èœã§ã¯ãªãããšèããŠããŸãã ⣠ã¯ã©ãŠã ãã³ãã®ãã°ãããªããªã ã³ã³ããåã«ããããã³ããŒç§»è¡ã容æã«ãªãããšãåŸãããã¡ãªãããšããŠã¯å€§ãããšèããŠããŸãã ä»ãŸã§ã¯ç¹å®ã® ã¯ã©ãŠã ãã³ããŒã§æ§ç¯ããå Žåãä»®ã«å質ãã³ã¹ãã«åªããåŸçºãã³ããŒããµãŒãã¹ãåºãŠãã·ã¹ãã ã®ç§»è¡ãéåžžã«å°é£ã§ããã ã³ã³ããåã«ããã ã¯ã©ãŠã ãã³ããŒéã®çžãããªããªããã€ã³ãã©èª¿éé¢ã§ã®æè»æ§ã®åäžãæåŸ
ã§ããŸãã äžèšã®çç±ã§ãWeb åã³ãããã«ã€ããŠã¯çŸåšã³ã³ããåã®å©çšããDBãã¡ãŒã«ãµãŒãã«ã€ããŠã¯PaaSã®å©çšãé²ããŠãããä»åã¯æ°èŠã§æ§ç¯ãã管çç»é¢ããã³ã³ããã§ã®éçšãéå§ããŸããã ã³ã³ããåã«ãããŠèŠåŽããããš ïŒïŒããã¥ã¡ã³ãã®å°ãªã ä»åã³ã³ããã®åºç€ãšã㊠AWS Fargateã䜿çšããŸããããæ³å®ããããã©ãã«ã·ã¥ãŒãé¢ã§ããããèŠåŽããŸããã ç¹ã«æ¢å®ã®èšå®ã§Taskãæ§ç¯ããããã€ããŠãã³ã³ããå
ã«ãã¡ã€ã«æžã蟌ã¿ã§ãããã®ãšåºæ¥ãªãã±ãŒã¹ãããããã®åå ã®ç¹å®ãªã©ã AWS å
¬åŒããã¥ã¡ã³ãã«èšèŒããªãéšåãããããã ãã©ã€ã¢ã³ããšã©ãŒ ã§åãåããªããã®æ§ç¯ã§ãã£ãããéåžžã«èŠåŽããããŸããã ãã®éšåã«ã€ããŠã¯ãççŽã«èšã£ãŠ AWS åŽã«ã¯æ¹åããã ãããéšåã tèããŠããŸãã ïŒïŒ ãããã° ã®ãã¥ãã ããã¯ããçšåºŠä»æ¹ããªãéšåã§ãããOSéšåããããŒãžãã«ãªã£ãŠããéšåãOSãçŽæ¥æäœããããšãã§ããªãã®ã§ãã€ã³ãã©æ§ç¯é¢ã® ãããã° ã§ã®èŠåŽã¯ãããŸããã çµå±ECS EXEC ã³ãã³ããå
¬éããããããã§OSåŽãžã®ã³ãã³ãå®è¡ãã§ããããã«ãªã£ããã ãããã° ã¯å®¹æã«ãªããŸããããåºæ¬çã«ã¯ãã¥ããã§ãã ãªã®ã§äžåºŠæ§ç¯ãããŸã§ã¯çµæ§èŠåŽããéšåãããã®ã§ã¯ãªãããšæããŸãã ä»åŸã®å±æ çŸåšæ°èŠæ§ç¯ã®ç®¡çç»é¢ã®ã¿ã³ã³ããäžã§éçšããŠããããã°ããéçšã®ãã¬ããžã®ç¯çæã®ã®ã¡ã宿çã«å®æœããŠããOS/ ããã«ãŠã§ã¢ ã®ããŒãžã§ã³ã¢ããã®ã¿ã€ãã³ã°ã«åãã鿬¡åãæ¿ããè¡ããæçµçã«ã¯Webããã³ããã ã€ã³ã¹ã¿ã³ã¹ ã«ã€ããŠã¯ã³ã³ããã«åãæ¿ããŠããããšãèããŠããŸãã ãã¡ãããçŸæç¹ã§ã®è©±ãªã®ã§ãéçšã®äžã§åºãŠãã課é¡ã«ãã£ãŠã¯ã³ã³ãããšããéžæè¢ä»¥å€ã«EC2ã®ãããªä»®æ³ãµãŒããæ¡çšããã±ãŒã¹ãã AWS API Gateway ïŒLambdaã GCP ã®Cloud Functionãšãã£ããã€ã¯ããµãŒãã¹ã®æ¡çšã®å¯èœæ§ãåœç¶ãããŸãããŸãã¯éçšã§ãã¬ããžãèç©ããŠããããšèããŠããŸãã
ããã«ã¡ã¯ïŒã¯ã«ãŒãºæ ªåŒäŒç€Ÿã®åºå ±æ
åœã§ãã ä»åã¯å
æ¥éå¬ãã瀟å
ã€ãã³ãã«ã€ããŠã玹ä»ããŸãïŒ ä»åã¯ã¯ã«ãŒãºã®æè¡PRé¡§åã«å°±ä»»ãã Ruby ã®çã¿ã®èŠªMatzããããš ãŸã€ããšããã²ã æ°ã«ãåå ããã ããLTçºè¡šããã£ã¹ã«ãã·ã§ã³ãè¡ããŸããã ä»åã®ã€ãã³ãã®èæ¯ ä»åã®ã€ãã³ãã«ã¯2ã€ã®ç®çããããŸããã ã»æè¡PRé¡§åã«å°±ä»»ãã ãŸã€ããšããã²ã æ°ã«ãåœç€Ÿã®æè¡ã¹ã¿ãã¯ãç¥ã£ãŠããã ã»äžç·ã«åãã¡ã³ããŒã«ã©ã®ãããªäººãããããç¥ã£ãŠãããã SHOPLISTã«ã¯ãéçºéš21æãã£ãŒãããã¯ãšãããæ°ããæè¡ã®å°å
¥ããåãæ¹ãæ¹åããããã®æœçãçµå¶é£ãšçŽæ¥è©±ããŠå³æã«æ±ºå®ããŠãããšããåãçµã¿ãè¡ã£ãŠããŸãã ãã ãäžç·ã«åããŠããã¡ã³ããŒãã©ããªæè¡ãã©ãåãå
¥ããã©ã掻çšããŠããã®ããšãããããªæ
å ±ãå
±æããå Žã¯ãªãã瀟å
å
±æã§ããå Žãèšããããšæãã€ãã³ããéå¬ããããŸããã ã€ãã³ãã®ã³ã³ãã³ãã«ã€ã㊠ä»åã®ã€ãã³ãã¯ã¡ã³ããŒããã®LTçºè¡šãšãŸã€ããšãããšã®ãã£ã¹ã«ãã·ã§ã³ã®å€§ãã2ã€ã®ã³ã³ãã³ãã§éå¬ããŸããã LTçºè¡šäŒã«ã¯3ååå ããŸããããèªæžã®å¹çåã¢ããªãéçºãã話ãã¢ã€ãã«ã奜ããããŠé åŸãã«ãªã¿ã®ããã®äŸ¿å©ãµã€ããäœã£ã話ã1幎ç®ã®ãããã£ã話㚠çã®ããçºè¡šã§ããïŒç¬ïŒ 3åãšã OSS ãæŽ»çšããèªåã®çæ³ãšããã¢ããäœããããå·å¿µã¯ éãšã³ãžãã¢ã®ç§ ããã ãŠãããªãé¢çœãå
容ãšãªã£ãŠããŸããã ãŸã€ããšãããšã®ãã£ã¹ã«ãã·ã§ã³ã§ã¯ãäºåã«ã¡ã³ããŒããåã£ã質åãžã®åçãäžå¿ã« Ruby ãéçºãããŸã§ã®èæ¯ãã©ãããäœå¶ã§éçºãè¡ã£ãŠããã®ããšãã話ãããšã³ãžãã¢ã® ãã£ãªã¢ãã¹ ããçµç¹äœå¶ã®è©±ããªã¢ãŒãç°å¢ãã©ãæŽããŠããã®ããªã©æ§ã
ãªããŒãã§ã話ããã ããŸããã Ruby éçºã®ã話ãã¡ã€ã³ã§ããŠããã ããŸãããã ãèªèº«ã®æ¥åå¹çã®ããã«ããŒã«ãéçºãããã Ruby 以å€ã«ãéçºããŠãã OSS ã«ã€ããŠæ®æ®µèãããšã®ã§ããªãã話ãããŠããã ããŸããã æ¥åæéåŸã«ã€ãã³ããéå¬ããŸãããã30å以äžã®ã¡ã³ããŒã«åå ããŠããã ãã ããŸã€ããšãããšäº€æµãã§ããŠããã£ããããæ®æ®µèããªãè£è©±ãŸã§èããŠè¯ãã£ããããªã©ããããææ³ãŸã§èãããšãã§ããŸããã 瀟å
ã€ãã³ããä»åŸå®æçã«éå¬ããŠãããããšæããŸãã æåŸã« 4æ13æ¥ïŒæ°ŽïŒ19æããåŒç€Ÿäž»å¬ã®ããã¯ã€ãã³ããTECHHILLSããéå¬ããŸãã ãŸã€ããšãããã¢ãã¬ãŒã¿ãŒã«ã¡ã«ã«ãªããã»CADDiããã«ãç»å£ããŠããã ããŸãã ã€ãã³ãç³èŸŒã»è©³çŽ°ç¢ºèªã¯ä»¥äžã確èªãã ããã techplay.jp
ããã«ã¡ã¯ã仿¥ãã2幎ç®ã«çªå
¥ãããšã³ãžãã¢ã®KENâYAMAGUCHIã§ãã ä»åã®ããŒãã¯ãåãã¡ããã©1幎åã«çµéšããéçºç ä¿®ã«ã€ããŠã§ããéçºç ä¿®ãšã¯å
·äœçã«èšããšã4æã«å
¥ç€ŸããŠãããéçºéšã«é
å±ããããŸã§è¡ã£ãã3ãæéã®ç ä¿®ã®ããšã§ãããã®3ãæéã®éçºç ä¿®ã§ã¯ããã€ãã®ç ä¿®ãè¡ããŸãããããã®äžã§ãæåã«è¡ã£ãç ä¿®ã§ããããããããã²ãŒã ãã®éçºã«ã€ããŠã話ãããããšæããŸãã ã¡ãªã¿ã«ãä»åãããããã²ãŒã ã®éçºã¯ãåãåãéçºãšãããã®ãçµéšãããæãåºæ·±ããã®ãšãªã£ãŠããŸãã æåŸãŸã§èªãã§ããã ããã°å¬ããã§ãã ãå§åãããéçºç ä¿®ã¹ã¿ãŒã 4æã«å
¥ç€ŸããŠããåŸ
ã£ãŠããã®ã¯3ãæéã®éçºç ä¿®ã§ãããç ä¿®ã¯ã倧ãŸãã«åãããšã åºæ¬æ
å ±æè¡è
è©Šéš ã®å匷㻠SQL ç ä¿®ã»ããã°ã©ãã³ã°ç ä¿®ã®äžæ¬ç«ãŠã§ããã æç³»åºèº«ã®åã¯ãã¡ããããã°ã©ãã³ã°ã¯è¡ã£ãããšããªãã£ãã®ã§ãéçºç¥èã¯å
šãã®ãŒãããã®ã¹ã¿ãŒããšãªããŸãã ãããªäžå®ãªæããæ±ããªããã¹ã¿ãŒãããç ä¿®ã§ããããŸãåãã« ã·ã§ã«ã¹ã¯ãªãã ã䜿çšããŠç°¡åãªifæãäœæããŠããã°ã©ã ãæžãããšã«ãªãããšããããå§ãŸããŸããã ãããŠåŸã
ã«ããã°ã©ã ãæžãããšããããã°ã©ã ã®ä»çµã¿ãªã©ã«æ
£ããŠããããã«ããããããã²ãŒã ã®éçºãè¡ãããšã«ãªããŸãããã ãè¡æããããããã²ãŒã ãäœããªããïŒïŒ ããããã¯åãéçºããåã®ææç©ã«ãããããããããã²ãŒã éçºã«ã€ããŠã話ãããŠãããã ããŸãã ããã©ã³ãšã³ãžãã¢ã®æ¹ã«ã¯ããããããã²ãŒã ãšèããŠæãããæãåºãé§ãåºããšã³ãžãã¢ã®æ¹ã§ããã°ãæ°é®®ãªæãåºã§ã¯ãªãã§ããããïŒ ãããããã²ãŒã ã¯ãifãforeachãé
åãã©ããªæžãæ¹ãåŠã³ãªããéçºã§ãããã®ã§ãããé£ãã php ã®é¢æ°ã䜿ãããšãªãéçºã§ããã®ã§ãããã°ãã³ã°åå¿è
ãšã£ãŠã¯ããææã ãšèããŠããŸã ã ãããããã²ãŒã ã®æµãã¯ç°¡åã«äžèšã®ãããªãã®ã§ãã ãã¬ã€ã€ãŒããããããã®æãéžã¶ ãåè² ããã¿ã³ãã¯ãªãã¯ããŠå€ãPOSTãã POSTãåãåã£ããã³ã³ãã¥ãŒã¿ãŒã®æãã©ã³ãã ã§éžã¶ (é
å) ãã¬ã€ã€ãŒãšã³ã³ãã¥ãŒã¿ãŒã§åè² ãã (æ¡ä»¶åå²) åæãšãã¬ã€ã€ãŒãã³ã³ãã¥ãŒã¿ãŒã®æãç»é¢ã«è¡šç€ºãã çžæã®æãé
åã«æ ŒçŽããããæ¡ä»¶åå²ã§åæå€å®ãããããšãåæ©çãªããšãåŠã¹ãŸãã 仿ããšãããç°¡åãªããã°ã©ã ã§ãããåœæã¯èŠæŠããŠããŸãããããïŒç¬ïŒ ãããªäžã§ããåŸã
ã«éçºãã§ããŠããŠãã宿ãããšç¢ºä¿¡ããŠãã¹ããè¡ã£ãŠããŸãããå®éã«ããããããããŠãããšãå€å®ããè² ããããåºãŠããªãããšã«æ°ã¥ããŸããã éžæããæãšã³ã³ãã¥ãŒã¿ãŒã®æã§ã¯çµ¶å¯Ÿã«åã£ãŠããã®ã«å€å®ã¯ãè² ããããããã®æã®çµ¶ææã¯å€§ãããã®ã§ãããèªåã®æã§äœã£ããã®ãåãããšã»éã«æ£åžžã«åããªããšãã£ããã®ã«æ
£ããŠããªãé ã ã£ãã®ã§ãã¡ãã£ãšã®ãšã©ãŒãæ£åžžãªæåã«äžåäžæããŠãããŸããã ãçµ¶æãäœåãã£ãŠããè² ããå€å® äœåºŠè©ŠããŠããè² ããã®å€å®ã¯æ²»ããªãã®ã§ãã³ãŒããèŠãŠã©ããééã£ãŠããã®ãèããŠã¿ãŸããã åæå€å®ãè¡ã£ãŠããã®ã¯ãæ¡ä»¶åå²ã§ããã®ã§ifæãééã£ãŠããã®ã§ã¯ãªãããšç®æãä»ãæ³šææ·±ãèŠãŠã¿ããšãå®å
šã«ifæã®èšè¿°ãééã£ãŠããããšã«æ°ãä»ããŸããã ãšããã®ããä»åãããããã²ãŒã ãäœãéã«ãæããã°ãŒããã§ããããŒããšããæååã§ã¯ãªãããïŒïŒïŒïŒïŒããšããé¢šã«æ°åã§ç®¡çããŠããŸããã ãããããšifæã®äžã§ããïŒã»ïŒã»ïŒãã䜿çšãåæå€å®ãããããšãã§ããŸãããã®äœ¿ãæ¹ãééããŠããŸããè² ããã«ãªã確çãé«ããªã£ãŠããŸã£ãã®ã§ãã ãããŠãæ£ããifæã«ä¿®æ£ãè¡ãå床詊ããŠã¿ããšãäœåºŠãã£ãŠãæ£ããåæå€å®ãããŠãããŸããã ãå®éããããããã²ãŒã éçºã§åŠãã ããš ãããªãããªããããããããã²ãŒã ã宿ãããããšãã§ããŸãããé
åã®ä»çµã¿ã»æ¡ä»¶åå²ãªã©ãããã°ã©ãã³ã°ã®åºæ¬çãªããšãåŠã¹ããšåæã«ããšã©ãŒãšã®åãåãæ¹ã»ããã°ã©ãã³ã°ã¯æ³¥èãã倧äºã§ããããšãåŠã³ãŸããã ä»åã®ããã«åçŽãªããã°ã©ã ã§ã¯ãšã©ãŒã®è§£æ¶ã¯æ¯èŒçç°¡åã§ã¯ãããŸãããè€éãªäœãã«ãªã£ãŠãã webãµãŒãã¹ ã§ããç°¡åã«ãããŸããã ãšã©ãŒè§£æ¶ãå°éã«ãã°ã確èªãããªã©ã®æ³¥èãã¯ããšã³ãžãã¢ã«å¿
èŠãªèŠçŽ ã®äžã€ã ãšèããŸãã ä»ã§ã¯ããšã©ãŒãèµ·ããŠãçŠããããã°ã確èªããŠä¿®æ£ããããšãã§ããŠããŸãã ãããŠäœãããèªåã®æã§äœã£ããã®ãå®éã«åãããšã«ãšãŠãæåããŸããããã®æ°æã¡ãä»ã§ãå¿ããŠããããå°ããªããšã§ããµãŒãã¹ã«åæ ããããšãã¯ãããããããããããæããŠããŸãã ããŸãšãã ä»åã¯ããããããã²ãŒã ããããŒãã«ã話ããããŠããã ããŸããã åã®ããã«æªçµéšã§ãšã³ãžãã¢ãç®æããŠãã人ãèªãã§ãããŠãããããããŸããããããã°ã©ãã³ã°ã¯äžèŠãããšã¹ããŒãã«èŠãããã®ã§ãããããå®éã«ã¯ãæ³¥èããã³ãŒãããã°ãšåãåãããšãå€ãã§ãã ãã ããã®å
ã«ããããããã¯å€§ãããªãã®ããããšæããŸããç¹ã«èªç€Ÿã§ãµãŒãã¹ãéçºããŠããã°ãçŽã«èªåã®è¡ã£ãéçºã®å¹æã課é¡ãèã§æããããšãã§ãããããããæãããããšæããŸãã 4æã«å
¥ç€ŸããŠãããæ°åã§ãšã³ãžãã¢ã«ãªããšãã貎éãªçµéšããããŠããããŠããŸããããŸã ãŸã æªçãªãšã³ãžãã¢ã§ããããšãæ¥ã
æããŠããŸãã ãã ããã®çµéšãç¡é§ã«ãããå°éã«åŠãã§ãããã¹ãŒããŒãšã³ãžãã¢ã«ãªãããã粟é²ããŠãããããšæããŸãã ãããããšã³ãžãã¢ãç®æãæ¹ãåãšåããããªé§ãåºããšã³ãžãã¢ã®çããã«ããèªåãšåãããã«é 匵ã£ãŠãã人éããããã ããšãããããããªå¿ã®æ¯ããåŠã³ã®å
±æãã§ããã°ãšæããŸãïŒ æåŸã«ããã ãããããã²ãŒã ã宿ãããããšãã§ãããã®é ã®èªåã¯ã次ãªãéçºã§ãŸãçµ¶æããããšããŸã ç¥ããªãããã§ãããã ãã®è©±ã¯ãŸãã®å¥ã®èšäºã§ã§ããã°ãšæããŸãã ãæ¥œãã¿ã«ã Â
ããã«ã¡ã¯ãã¯ã«ãŒãºæ ªåŒäŒç€Ÿã®éŽæšã§ãã ä»åã¯ãžã§ã管çãµãŒããšããŠRundeckã®å°å
¥ãæ€èšããŠãã話ã§ã çµç·¯ äž»ãªçµç·¯ãšããŠã¯ âµcronã§ãã£ãŠãããžã§ãã¹ã±ãžã¥ãŒãªã³ã°ã®å€åºã â¡ãžã§ãã®å®è¡ç¶æ³ã®å¯èŠå â¢ãžã§ã倱ææã® ãªã«ã㪠åŠçã®å¹çå ã§ãã çŸç¶cronã§ãžã§ã管çããŠããã®ã§ãããåãµãŒãããšã«æéã§ããã¯ããŠããç¶æ³ãªã®ã§ãåcronã§å®è¡ããŠãã ãããåŠç ã®å®è¡æéã®ææ¡ãå°é£ã§ãã£ãããäœãã®æåã§åŠçã倱æãããããéã«é¢é£ããããããã¹ãŠã¿ãŒããã«äžããäžã€ãã€æå ãªã«ã㪠ãè¡ãç¶æ
ã ã£ããããäœãããã®ãžã§ã管çããŒã«ã®å°å
¥ã§éçšã®å¹çåãå³ããªãããèããŠãããšãããèŠä»¶ãæºãããããªããŒã«ãšããŠRundeckããã£ãããæ€èšŒãè¡ã£ãŠããŸãã éçšããéã«æ³å®ããèŠä»¶ âµãžã§ãå®è¡Nodeã¯EC2äžã®ããã ã€ã³ã¹ã¿ã³ã¹ ã§ SSH æ¥ç¶ã§ãžã§ãå®è¡ããã â¡æ¥ç¶çšã® SSH ãŠãŒã¶ãšãããå®è¡æã® SSH ãŠãŒã¶ã¯ç°ãªãã â¢ç®¡çç»é¢ãžã®ãŠãŒã¶èªèšŒã¯ LDAP èªèšŒã â£HAæ§æãšããã(ãµãŒãã¹ã§ã¯ãªããããŠã©ãŒã ã¹ã¿ã³ãã€å¯) çŸç¶ âµïœâ¢éšåã®èŠä»¶ã«ã€ããŠã¯æ€èšŒæžã â£ã®HAæ§æãã©ãå®çŸãããã«ã€ããŠä»èª¿æ»ãããŠãããšããã§ãã ä»¥äžæç®ã«ãããšä»çµã¿ãšããŠã¯çšæãããŠããŠã§ãããããªèšè¿°ã«ãªã£ãŠããŸãã docs.rundeck.com ãã ãAvailable in Rundeck Enterpriseããšãªã£ãŠããŠãRundeck Enterpriseãšããæåçã®ãã®ããããŸã§ã¯ããã£ãã®ã§ãããæäŸå
ãäŸ¡æ ŒãŸã§èª¿ã¹ãããŠããããçŸåšèª¿ã¹ãŠãããšããã§ãã ãŸãã«ä»çµ¶è³æ€èšŒäžãªã®ã§ãæ
å ±ããæã¡ã®æ¹ããããŸãããæ¯éæããŠããã ãããã§ãã
ããã«ã¡ã¯ã2021幎4æã«ã¯ã«ãŒãºã°ã«ãŒãã«å
¥ç€Ÿããæ°åã®RYOBALã§ãã å
ã
ãèªåèªèº«ããã¡ãã·ã§ã³ç³» ECãµã€ã ãããå©çšããŠãããã®äžã§èªç€ŸãµãŒãã¹ãç¥ã£ãŠãããå€ãã®äººã«ãµãŒãã¹ã䜿ã£ãŠããããããšæãå
¥ç€ŸããçŸåšããµãŒããµã€ããšã³ãžãã¢ãšããŠäž»ã«ç€Ÿå
管çããŒã«ã®ã·ã¹ãã æ¹ä¿®ãè¡ã£ãŠãããŸãã ä»åã¯ã¯ã«ãŒãºã°ã«ãŒãã«å
¥ç€ŸããŠçŽ1幎ã«ãªããŸãããå
¥ç€Ÿæã®3ã¶æéã®éçºç ä¿®ã«ã€ããŠã話ãããããšæããŸãã ããŒã±ãã£ã³ã° åžæã ã£ãåãéçºæªçµéšããã®ã¹ã¿ãŒãã§æ§ã
ãªæ Œéãããªããç ä¿®ãããŠããã®ã§ãéçºæªçµéšã»çµéšè
ã®æ¹ã©ã¡ãããæ¥œãã¿ã§ããå
容ã ãšæããŸãã éçºæªçµéšã®æ°åãéçºç ä¿®ãããããªãããšã ããã®æ¯æ¥ã ã¯ã«ãŒãºã°ã«ãŒãã§ã¯éçºã®ç¥èã身ã«ã€ããããšå
¥ç€Ÿåãã SQL ã åºæ¬æ
å ±æè¡è
è©Šéš ã®å匷ãè¡ããŸããå
¥ç€ŸåŸã®4æä»¥éã¯æ°åã¡ã³ããŒã®é©æ§ãèŠãŠãä»å¹Žã¯7åãéçºéšçœ²ã«é
å±ãããŸããã7åäž6åãéçºå
šãã®æªçµéšããã®ã¹ã¿ãŒãã ã£ãã®ã§ãæ°åèªèº«ãããŸããèªåãéçºéšçœ²ã«é
å±ããããšæããªãã£ãããšå°ææ°å³ãã å
¥ç€Ÿåããéçºã«é¢ããç ä¿®ãè¡ã£ãŠãããšã¯ãããå®éã«å
¥ç€ŸããŠããã¯ããããªãããšã ããã®é£ç¶ã§ããããã¯ææ¶ã®éçºç ä¿®ã®ã¹ã¿ãŒãããŸããéçºãŸã§ã®ç¿åŸç®æšã¯äžèšã®å
容ã§ããããå®éã® ã¢ããªéçº ãªã©ãè¡ããªããç¿åŸããŠããæµãã§é²ãã§è¡ããŸããã â åºæ¬æ
å ±åŠç æè¡è
暡詊ååïŒ8岿£çïŒ â¡ Linux æäœïŒåºæ¬æäœã³ãã³ãã®ç¿åŸãShell ã¹ã¯ãªãã äœæïŒ â¢GIt Bash ïŒéµäœæãCLONEãPULLãPUSHãã³ã³ããªã¯ãè§£æ¶ïŒ ⣠PHP èšèªïŒã¯ã©ã¹å®è£
ãŸã§ïŒ ⊠SQL ïŒèªç€Ÿãµã€ãã§ã®ããŒã¿æœåºïŒ Â åºæ¬æ
å ±æè¡è
è©Šéš ã®åŠç¿ã𿝿¥ã®ãã¹ã 4æã«å
¥ç€Ÿä»¥éãæåã®ç ä¿®å
å®¹ã¯ åºæ¬æ
å ±æè¡è
è©Šéš ã®åŠç¿ãšéå»åã®ãã¹ãã ãšã³ãžãã¢ã®æ¹ã§ããã°ãã®è©Šéšã®ããšããåç¥ããšæããŸãããç°¡åã«èšããšITãšã³ãžãã¢ãå
±éããŠçè§£ããŠããã¹ãåºæ¬çãªç¥èãäœç³»çã«åŠç¿ããããšãã§ããè³æ Œã§ãããã®äžã§ãåååé¡ãšååŸåé¡ã«åãããŠãããåååé¡ããŸãã¯åŠç¿ãåŠç¿ããããšã§ãã³ã³ãã¥ãŒã¿ãã·ã¹ãã ãåäœããä»çµã¿ããããŒã¿ããŒã¹ããããã¯ãŒã¯ãªã©ãšã³ãžãã¢ãšããŠå¿
èŠã ããããšããç¥èãé ã«å
¥ããŠããããšããç®çã§ãã ããããæ®éã®è³æ Œã®å匷ã§ããã ãšæãæ¹ããããããããŸããããããããªããªã倧å€ãã ãšããã®ããåºæ¬æè¡è
詊éšã®åååé¡ã®å
šäœã®8å²çšã®ç¹æ°ã3åé£ç¶ã§åãããŸã§ã¯ç ä¿®æéäžæ¯æ¥éå»åãè§£ããŠãã¹ããè¡ãã®ã§ããè³æ Œã®åæ Œã©ã€ã³ã¯çŽ6å²ãšèšãããŠããã®ã§ããã®ããã«äžã«è¡ããšãããªããªãããŒããããå
容ã ããããPCã ã¹ããŒããã©ã³ ã¯æ¯æ¥è§Šã£ãŠãããã©ãã³ã³ãã¥ãŒã¿ãŒã®å
éšãšã¯ãªããŠãããŸã§ç¥ãããšãããªãã£ãã®ã§ãCPUã£ãŠäœããããããŒã« ãã©ã¯ ãŒããšãèããããšããªããã¿ãããªç¶æ
ããã®ã¹ã¿ãŒãã§ãããåããŠéå»åãè§£ãããšãã¯å
šäœã®3å²ãè§£ããããããªãå¿ãæããããã®ãèŠããŠããŸã(ç¬) æåã®1é±éã¯å
šäœã®å€§äœ3å²ãããŸã«4å²ã®ç¹æ°ãåãããšããã§ããããã èŠããã£ãããããïŒç¬ïŒ  ã§ãããæ¯æ¥ãã£ãŠãããšèªåã®äžã§ãåŸæãªç¯å²ãšèŠæãªç¯å²ãããã£ãŠããã®ã§éç¹çã«åŠç¿ããå
å®¹ãæ¬¡ç¬¬ã«ããã£ãŠãããŸãã èŠæŠããªãããåŸã
ã«ç¹æ°ã䌞ã³ãŠããã1ã¶æååŸãããã«ã¯å
šã¡ã³ããŒã6å²ã®ç¹æ°ã3åé£ç¶åãããšãã§ããŠããŸããïŒ æ¯ãè¿ã£ãŠã¿ããšæ¯æ¥æ¯æ¥å€§å€ã§ãããã1ã¶æåã§åºæ¬çãªITã®ç¥èã身ã«ã€ãããšæããã®ã§ãéåžžã«å
å®ããæéã§ããã ãã®ç¥èã¯é
å±åŸããšã³ãžãã¢ãšããŠãã£ãŠããäžã§åºç€ãšãªãå¿
èŠãªç¥èã§ãSHãµãŒãã¹ãæ¯ããäžã§ããµãŒããŒãDBãªã©ã®ç¥èã¯åœ¹ç«ã¡ãŸããããã¯ãšã³ãžãã¢ã«éãããå¶æ¥ã ããŒã±ãã£ã³ã° ç³»ã®éšçœ²ã§åãå Žåã§ããç¥ã£ãŠããã ãã§ãµãŒãã¹ã®èŠãæ¹ãå€ãããªããšæã£ãç ä¿®ã®äžã€ã§ããïŒ èŠæŠããªããéçºããããã°ãµã€ã åºæ¬æ
å ±æè¡è
è©Šéš ã®åŠç¿ãšäžŠè¡ããªããã ã·ã§ã«ã¹ã¯ãªãã ã䜿ã£ãŠãã¡ã€ã«ã®äœæãªã©ã³ãã³ãã䜿ã£ãŠåºç€çãªåŠç¿ã PHP ã䜿ã£ãŠãžã£ã³ã±ã³ã²ãŒã ãåãåãããã©ãŒã ãªã©ã®éçºãããŸããã ãŸããå®éã«æžããã³ãŒãã¯GitLabãšåŒã°ããããŒãžã§ã³ç®¡çããŒã«ã䜿ã£ãŠäžåžã«ç¢ºèªããŠããããªã©å®éã«éçºã®çŸå Žã§äœ¿ãããŠããããŒã«ã䜿ããªããæ¥ã
åŠãã§ãããŸããã ãã®ãããªåŠç¿ãçŽ1ã¶æéè¡ããããããæ¬æ Œç㪠ã¢ããªéçº ãšããŠããã°ãµã€ãã®éçºãžã PHP ãBootstrapã䜿ã£ãŠã®éçºã§ããæ©èœãšããŠã¯äŒå¡ç»é²ããã°ã€ã³ãèšäºã®æçš¿ãèšäºã«å¯Ÿããè¿ä¿¡ã®æçš¿ãç·šéæ©èœãªã©ãçãæ²¢å±±ã ãŸããéçºãé²ããã«ããã£ãŠãäŸé Œè
ã«ãããäžåžã«å®éã«ã©ããªãµã€ããéçºãããã®ãã ãã¢ãª ã³ã°ããæ±ããããèŠæ±ã«å¯Ÿããå®è£
ã®å
容ãçŽæãèãããšããå®éã«ãšã³ãžãã¢ã®æ¥åãè¡ãªã£ãŠããäžã§å¿
èŠãšãªãæµããçµéšããããšãã§ããŸããã å®éã«äŸé Œè
ã« ãã¢ãª ã³ã°ãããŠããæã«ã¯ãäŸé Œè
ãäœãæ±ããŠãããèããŠçºèšããŠãïŒããææ¡ããŒã¹ã§è©±ããŠããªã©ãšã³ãã¥ãã±ãŒã·ã§ã³ãåãäžã§å¿
èŠãªããšãè¶³ããŠããªããšææãåããããšããã ãšã³ãžãã¢ã®ä»äºã¯ãã èšãããããšãéçºããã ãã§ã¯ãªããšèº«ã«æã¿ãŠå®æããç¬éã§ããã èŠæ±ãèãã ãã¢ãª ã³ã°ããåŸã¯å®éã«èŠä»¶å®çŸ©æžãäœæããç»é¢èšèšãããŒã¿èšèšãURLèšèšãERå³ã®äœæãªã©éçºãå®çŸããããã«äžæµå·¥çšã®éšåãè¡ããäžæµå·¥çšãçµãããšæ¬¡ã¯éçºããã¹ããªã© äžæµ å·¥çšã«çæããŸãã å®éã«ã³ãŒããæžããŠãããªãããå¿
èŠãªæ©èœãäžã€äžã€å®è£
ãããŠãã宿ã«è¿ã¥ããŠããã éçºãé²ããŠããäžã§æã倧å€ã ãšæããã®ã¯çŽæãèŠæ®ããªããéçºãããŠããé£ããã§ããéçºåããçŽææ¥ãéç®ãéçºã®äºå®ã決ããŠããŸããããå®éã¯ãããªã«ã¹ã ãŒãºã«éçºãé²ãã§ãããã®ã§ã¯ãããŸããã ããã°ã®ãã°ã€ã³æ©èœãèšäºã®ç·šéæ©èœã®å®è£
ã«ãšã©ãŒãåºãŠãã°ã°ã£ãŠããªããªãäžæãåããªããäºå®ãããã©ãã©ãé
ããçããŠãçŽæãè¿«ã£ãŠãããã 仿ãã°ãããããçŽæã®èŠç©ãããçãã£ãããå®è£
ã®èª¿ã¹æ¹ãå
šç¶ã§ããŠããªããªã©åå ã¯æ§ã
ãããŸãããéçºã®çŸå Žã£ãŠãããªã«å€§å€ãªãã ãªããšå®æããããšãä»ã§ãèŠããŠããŸãã å®éã®çŸå Žã§ã¯èŠç©ããæã«æ³å®ããŠããªãã£ããããªåé¡ã«ãã³ãã³çŽé¢ããŸãããã®æã®ããã«ãããã®ãããã§ããã°ã¿ã¹ã¯ãçµããã ããããšæ¥œèгçã«èŠç©ãããããã®ã§ã¯ãªãããããã¡ãæãããå ŽåãèããŠèŠç©ãããããããšã倧äºã§ãã 詊è¡é¯èª€ããªãããç¡äºã«ããã°ãµã€ãã宿ããå
¥ç€ŸããŠçŽ2ã¶æè¶³ããã§èªåäžäººã®åã§ãããã°ãµã€ããéçºãããªããŠåã(ç¬)ããšæãªããæããèªä¿¡ã«ããªããŸãããã ããŒã ã§åãçµãã ECãµã€ã éçº ããã°æ©èœã宿ããæ¬¡ã¯4人ããŒã ã§æžç±ã® ECãµã€ã ã®éçºã§ããåããŠã®ããŒã éçºã§ãå人ã§éçºãããããæ¥œããé£ããããããŸãããéçºã®æµãã¯åååæ§ãäŸé Œè
ãžã® ãã¢ãª ã³ã°ãèŠä»¶å®çŸ©æžã®äœæãéçºã»ãã¹ããžã®æµãã§é²ããŠãããŸãã å人éçºãšã¯éããã¡ã³ããŒå士ã§ãã£ããã§å¯ã«ã³ãã¥ãã±ãŒã·ã§ã³ããšããªããã¿ã¹ã¯ãè¡ãªã£ãŠããå¿
èŠããããŸãã äŸãã°ã ãœãŒã¹ã³ãŒã ã«ã³ã¡ã³ãã®èšèŒããªãäœã®åŠçãããŠããã®ãããããªããGitã§ã®ã³ã³ããªã¯ããèµ·ããŠããã®ã«ããããããè§£æ¶ããã«éçºãé²ããŠããŸããšãã£ããããªåé¡ãèµ·ããŠããŸããã ãããã®åé¡ã¯å人éçºã§ããã°èµ·ããŸããããããŒã éçºãããäžã§ã¯èµ·ããããåé¡ã§ãã äžæ¹ã§ãã¡ã³ããŒå士ã§ã³ãŒãã¬ãã¥ãŒãããããšã§èªåãšã¯éã£ãããžãã¯ã䜿ã£ãŠå®è£
ãããŠãããšãããèŠãŠåèã«ãããªã©ããŒã éçºã§ããåŠã¹ãªãããšããããããããŸãããããŒã éçºãçµéšããããšã§ãé
å±åŸã®æ¥åã«ãã¹ã ãŒãºã«åæµããããšãã§ãããšãã£ããããªã¡ãªããããããç ä¿®æä»£ã«ããŒã éçºã«åãçµããã®ã¯éåžžã«è¯ãã£ããšæããŠããŸãã ãŸããåŒç€Ÿã¯ãã¡ãã·ã§ã³é販ãµã€ããéçºããŠããã®ã§ãåãECéçºããã®æã«çµéšã§ããããšããã®åŸã«åœ¹ç«ã¡ãŸããããã°ã€ã³ããåŸã®UIã¯ã©ãããã®ããååã®æ³šæãã¿ã³ãæŒããŠããã®æµãã¯ã©ããªãã®ããå®éã®ãµã€ãäžãšæ¯èŒããªããDBèšèšãèªåãã¡ã§èããéçºãé²ããŠãããŸããã ECãµã€ã ã£ãŠäžè¬ãŠãŒã¶ãŒãããããšãååãéžæâæ³šæããšãã£ãããã«ã·ã³ãã«ã«èŠããŸãããå®éã¯ãããããªæ©èœãå
¥ã£ãŠããŠããªãè€éãããã®ãããªããšããã®æéã«ç¥ãããšãã§ããã®ã¯è¯ãçµéšã ã£ããšæããŸãã  ãŸãšã ãã®éçºç ä¿®ãå®éã«çµéšã§ããã®ã¯ããããä»äºãããäžã§ãéåžžã«åœ¹ç«ã€å
容ã ã£ããªãšæããŠããŸããä»åã話ãããå
容ã¯ãããŸã§äžéšã§çްããªãšããã話ããšä»ã«ããããããªåŠç¿ãéçºãçµéšããŠããŸãããæéã¯3ã¶æåŒ±ã§ãããããã®æéã¯éåžžã«å¯ãªæéã§åŠã³ããããããããŸãããITäŒæ¥ãšããŠéçºãµã€ãã»ããžãã¹ãµã€ãåãããITã«é¢ããç¥èãããã°ã³ãã¥ãã±ãŒã·ã§ã³ãã¹ã ãŒãºã«åãããšãã§ããæ¥åã«ã掻ããããšå®æããŸããã ä»åŸããšã³ãžãã¢ãšããŠçµéšããããšã圹ã«ç«ã£ãããšãèšäºã«ããŠçºä¿¡ããŠããã®ã§æ¥œãã¿ã«ããŠãã ãããããã§ã¯ããŸã次åã®ããã°ã§ãBYEâ
ããã«ã¡ã¯ã2021幎4æã«æ°åå
¥ç€Ÿããã KENâYAMAGUCHI ãã§ãã çŸåšãéçºéšã«æå±ããŠãããµãŒããŒãµã€ããšã³ãžãã¢ãšããŠãäž»ã«ãµã€ãå
ã®è²©ä¿ããã¢ãŒã·ã§ã³ã®æ©èœéçºãããŠããŸãã ä»åã¯ãç§ãéçºæªçµéšã§ãšã³ãžãã¢ã«ãªã£ãŠæããããšããå®éã®éçºç ä¿®å
容ã«ã€ããŠã話ããããŠããã ããã°ãšæããŸãã å°ãé·ãã§ãããæåŸãŸã§èªãã§ããã ããã°å¬ããã§ãã ç·åè·æ¡çšãªã®ã«ãŸããã®ãšã³ãžãã¢ã«ããã ãŸããç§ã¯ç·åè·æ¡çšã§ã¯ã«ãŒãºã°ã«ãŒãã«å
¥ç€ŸããŸãããåœç¶å
å®ãããã£ãæã« ãšã³ãžãã¢ã«ãªãããšãªããŠ1ããªãèããã«ããŸãã ã å
å®è
ã¯ãå
¥ç€Ÿåç 修㧠SQL ã åºæ¬æ
å ±æè¡è
è©Šéš ã®å匷ãè¡ããŸãããITã®ç¥èãã€ããããšãç®çãšããŠããã ãã ãšèããŠããŸããã ããããå
¥ç€Ÿåç ä¿®æéäžã®ããæ¥ãã13åããæ°åã¡ã³ããŒã®é©æ§ãèŠãŠããã®ãã¡ã®çŽåæ°ãéçºéšçœ²ã«é
å±ãšããããšåããããŸãããéžã°ããã¡ã³ããŒ7åã¯ïŒæã«ã¯é
å±ããã远å ã§éçºç ä¿®ãè¡ããŸããã ç§ããã®ã¡ã³ããŒã«éžã°ãããšã³ãžãã¢ãšããŠç€ŸäŒäººç掻ãã¹ã¿ãŒãããããšã«ãªããŸãã éçºã®çµéšãªã©ãã£ãŠã®ã»ããå
šãITã®ç¥èãããªãèªåããšã³ãžãã¢ãšãªãå§¿ã¯æ³åãã€ããŸããã§ãããããšã³ãžãã¢ãªã³ã°ã«èå³ããªãã£ãã®ã§äžå®ã§ãã£ã±ãã§ãã ã ããããææ¶ã®ç ä¿®ãã¹ã¿ãŒãããŸããããã æ°åãæªçµéšã§ãéçºéšé
å±ããçç±ãšã¯ 2018幎ïœ2020幎ãŸã§ã®éãæ°åã®éçºç ä¿®ã¯è¡ã£ãŠãããå
šå¡éçºéšä»¥å€ã®è·çš®ã«é
å±ãªã£ãŠãããŸããã ãããªäžã ITã®ç¥èã ãã§ãªãå®éã«ãšã³ãžãã¢ãšããŠåãããšã§ãéçºéšä»¥å€ã®éšçœ²ã«è»¢åããåŸããéçºåŽãšã®ã³ãã¥ãã±ãŒã·ã§ã³ãåæ»ã«é²ãã ããšãã§ãããããäŒç€Ÿã«ãšã£ãŠæçã§ãããšããŠæ°åæªçµéšã§ãéçºéšã«é
å±ããããšã決å®ãããŸããã éçºéšã«é
å±ããããããšèšã£ãŠãã£ãšãšã³ãžãã¢ãšããŠåããªããã°ãªããªãããã§ã¯ãªããæ°å瀟å¡ã®è²æã®äžç°ã§ããã ããããã®èªããæããã£ãªã¢ãæåªå
ã«èããŠãããŸã ã æ°åæªçµéšãšã³ãžãã¢ãè²æããç ä¿®å
容ãããŒãããã ããŠãããããã¯å
è¿°ããéçºç ä¿®ã«ã€ããŠã話ããããšæããŸãã éçºç ä¿®ã¯å€§ããäžèš3ç¹ã«åãããŠããŸããã â åºæ¬æ
å ±æè¡è
è©Šéš ã®å匷ïŒåååé¡ã®æ£çç8å²ãããŒããŒïŒ â¡ SQL ç ä¿®ïŒãµã€ãå
ã®ããŒã¿æœåºäœæ¥ïŒ ⢠PHP ç ä¿®ïŒãããããã²ãŒã äœæã»ããã°ãµã€ãäœæã»ç°¡å㪠ECãµã€ã äœæïŒ åºæ¬æ
å ±æè¡è
è©Šéš ã®å匷ã¯ããã°åº§åŠã®ãããªãã®ã§ã SQL ç 修㻠PHP ç ä¿®ã¯å®æã®ãããªæèŠã§ããã â åºæ¬æ
å ±æè¡è
è©Šéš ã®å匷 åºæ¬æ
å ±æè¡è
è©Šéš ãšã¯ããã®ååã®éãã䞻㫠ããã°ã©ã㌠㻠ã·ã¹ãã ãšã³ãžã㢠ãªã©ã®ITè·ã«åŸäºãã人ããããã¯ããããåŸäºããããšãã人éã察象ãšãã詊éšã§ãã詊éšã§ã¯ãITæ¥çã§åãããã«å¿
èŠãªåºæ¬çç¥èãæã£ãŠããããæ
å ±åŠçã«å¿
èŠãªè«ççãªèãæ¹ã¯ã§ãããããªã©ã詊ãããåé¡ãåºé¡ãããŸãããŸãçµå¶ããããžã¡ã³ãã«ã€ããŠãããçšåºŠã®ç¥èãåãããŸãããã®ãã詊éšå匷ãéããŠå
šè¬çãªITåã®åäžãæãããã®ã§ãã 詊éšã®åæ Œåºæºã¯æ£ç6å²ã§ããã ææææšã¯æ£çç8å² ãšå³ããèšå®ããªãããŠããŸããããããã3å²ã«ãæºããªãæ£ççã§ããã®ã§ãå³ãããã ãïŒãšæã亀ããã®åŒ±é³ãåããŠããã®ãèŠããŠããŸã(ç¬)ã 匱é³ãåãç¶ããŠã仿¹ãªãã®ã§ãæ°æã¡ãåãæ¿ããæ¯æ¥éå»åãè§£ããŠã¯ééãããšããã®åŸ©ç¿ãç¹°ãè¿ãäžã§ãèŠæåéã®æŽãåºãäœæ¥ãè¡ããŸãããèŠæåéãæœ°ãã€ã€åŸæåéã®æ£ççãäžããããšãæèããŠå匷ãããäœãšãæ£çç8å²ã®ããŒããŒãã¯ãªã¢ããããšãã§ããŸããã â¡ SQL ç ä¿® ãã®ç ä¿®ã§ã¯ç§ãã¡ã®ãµãŒãã¹ãæ±ããèšå€§ãªããŒã¿ã䜿ã£ãŠæ§ã
ãªããŒã¿æœåºèª²é¡ãããªããŠãããŸããã ããã§ã¯äž»ã«ããŒã¿æœåºãè¡ããŸããããèºããæã¯è€æ°ã®ããŒãã«ã®çµåããµãã¯ãšãªãWITHå¥ãªã䜿çšããŠæœåºããã¯ãšãªäœæã§ãã ä»ãšã³ãžãã¢ã®æ¹ãèŠãŠãããæãããŠããŸããããããªãã§ãããå
éšçµåãšå€éšçµåã®éããããèããã«ãé©åœã«LEFT JOINã§çµåããŠããèŠãããããŸã(ç¬)ããã ããã®äœ¿ãåãã¯ãè€éã§é·ãã¯ãšãªãäœæãããšãã¯æèããå¿
èŠããããããä»ã§ãæèããŠè¡ã£ãŠããŸãã ãããŠWITHå¥ã«ã€ããŠã§ãããè€éãªããŒã¿ãååŸããéã«äœ¿çšãããç°¡åã«èšãã°ãã¯ãšãªã®äžã«ã¯ãšãªãäœãããšã§ããå®éãµãã¯ãšãªã䜿çšãããšããªãèªã¿ã¥ãããªã£ãŠããŸãŸãã ããã§äœ¿çšããã®ããWITHå¥ã§ããWITHå¥ã 䜿ãã°ãã¯ãšãªå
ã«æ°ãã«ããŒãã«ãäœããããšãã§ããŸãããµãã¯ãšãªèªäœãã¯ãšãªã®äžã«ã¯ãšãªãæžãã®ã§ãéåžžã«äŒŒãŠããã®ã§ãããWITHå¥ã§æžããšãã®ããŒãã«å
ã§äœåºŠã§ã䜿ãåãããšãã§ããç¹ã倧ããéããŸãã ãŸãäžè¬çã«WITHå¥ã¯ãµãã¯ãšãªãšæ¯èŒãããšãå¯èªæ§ãé«ããªããŸãããã ããã©ãŒãã³ã¹èгç¹çãèãããšäœ¿ãåããå¿
èŠã§ããããã ⢠PHP ç ä¿® PHP ç ä¿®ã§ã¯å
è¿°ããããã«ãããããã²ãŒã ã»ããã°ãµã€ãäœæã» ECãµã€ã äœæãè¡ããŸããã æ£çŽã¡ã€ã³ã§ãããã®ç ä¿®ãäžçªããã©ãã£ãã§ããïŒç¬ïŒãã¡ãã ãœãŒã¹ã³ãŒã ã«è§Šããããšããªãããã§ãããããããããã²ãŒã ãäœãããšã«èŠåŽããŸãããã³ã³ãã¥ãŒã¿ãã°ãŒããåºããªããšããåã£ãŠããã®ã«ãè² ãããšå€å®ãããŠããŸã£ãããšäžãããããããªãããããšã©ãŒãšã®æŠãã§ããã ãŸãæåã«åŠãã ããšã¯ãIFæã§ãã(ç¬)ãåå²åŠçã¯ããã°ã©ãã³ã°ã®åºæ¬ã§ããããšæããŸããããããªåæ©çãªãšããã§ãèºããŠããŸããããã ãããããforeachã䜿çšããŠç¹°ãè¿ãåŠçãåŠãã ãããŸãããããã§åºãŠããé
åã«é¢ããŠäžçªé£ããã£ããšãããããããŸããã 飿³é
å ãšããªããšåãæ°ãããŠããŸããããã ãããŠããã°äœæã ECãµã€ã ã®äœæã«ãªããšããã°ã€ã³æ©èœå®è£
ãèšäºã®äœæã»æŽæ°åé€ãªã©ãé£æåºŠã¯äžãããŸããããã£ãšã®æãã§åæ Œç¹ãããããææç©ã宿ãããããšãã§ããŸããããã ããã®ç ä¿®ã¯ããªãå
å®¹ãæ¿ãã®ã§ããã§ã¯ç°¡åã«è§Šããã ãã«ããããšæããŸãã ãã ã Googleå
ç ã人çã§æã䜿çšããæéã ãšèªè² ããŠããŸã(ç¬)ã éçºç ä¿®ãçµéšã㊠ãããŸã§èªãã§ããã ããšãéçºéšé
å±ã«ãªã£ãæã®å¿å¢ã»å®éã®ç ä¿®å
容ãåãã£ãŠããã ããããšæããŸãã ããã§ã¯ãããªçµéšã ã©ããªå¿å¢ã®å€åããããããŠãããã®ã ãã話ãããããšæããŸãã ä»ãŸã§ã WEBãµãŒãã¹ ãè£ã§ã©ããªä»çµã¿ã§åããŠããã®ããªããŠèããããšããªããããã°ãã³ã°ãªããŠé£ãããŠå°åºèªåã«ã¯ã§ããªããšèããŠããŸããã ããéçºéšé
å±ã«ãªããªããã°ããã®ä»çµãåŠã¶ããšããããã°ã©ãã³ã°ã®çµéšãã§ããªãã£ããšæãã®ã§ãéåžžã«è²ŽéãªçµéšããããŠããããŠãããšæã£ãŠããŸãã ãã®çµéšã¯ãã€ããšã³ãžãã¢ä»¥å€ã®ã©ã®è·çš®ã§ãçµ¶å¯Ÿã«æŽ»ããŠãããã®ã ãšç¢ºä¿¡ ããŠããŸãã æ¬¡ã¯ãããªçµéšãããèªåãèãããæªçµéšã§ãšã³ãžãã¢ãç®æãéã«ã©ããªäŒç€Ÿéžã³ããããããã®ããã«ã€ããŠçææ°ãªããã話ãããããšæããŸãã æªçµéšã§ãšã³ãžãã¢ãç®æããªãã©ããªäŒç€Ÿãéžã¶ã¹ãã ä»ãã®èšäºãèªãã§ãã ãã人ã®äžã«ã¯ãšã³ãžãã¢ã®äžçã«è¶³ãèžã¿å
¥ããããšããŠããæ¹ããããããããªãã®ã§å°ããã®ããŒãã«ã€ããŠãè§ŠããŠãããããšæããŸãã ãŸã ããšã³ãžãã¢ã«ãªã£ãŠ1幎ãçµã£ãŠãªãèªåãå£ã«ããã®ã¯å€§å€æçž®ã§ãããèªç€Ÿéçºãè¡ãäŒç€Ÿã§ãšã³ãžãã¢ãšããŠã¹ã¿ãŒãããããšããå§ãããŸãã çç±ãšããŠã¯ã以äž3ç¹ã§ãã â ä¿å®æ§ã®é«ãã³ãŒããæžãæ©äŒãåŸããããã â¡ãšã³ããŠãŒã¶ãŒãèŠãããã â¢æ§ã
ãªéšéãšã®é£æºãå¿
èŠ â ä¿å®æ§ã®é«ãã³ãŒããæžãæ©äŒãåŸããããã èªç€Ÿéçºã®äŒæ¥ã¯ãææç©ãçŽåããŠçµããã®äŒæ¥ãšã¯éãããã£ãšåããµãŒãã¹ãéçºããŸãããã®ãããæ¡åŒµæ§ãä¿å®æ§ã®é«ãã³ãŒããæžãå¿
èŠãåžžã«æèããªããã°ãªããŸãããããã¯èã§æããŠããéšåã§ãããã³ãŒãã¬ãã¥ãŒã§ããææããŠããã ããŸãã â¡ãšã³ããŠãŒã¶ãŒãèŠãããã èªç€Ÿéçºã®ãšã³ãžãã¢ã¯ãçŽåããŠçµããã§ã¯ãªããå®éã«ãã®ãµãŒãã¹ãå©çšãããŠãŒã¶ãŒããã®ãã£ãŒãããã¯ãããšã«ãéçºãé²ããŸããèªåãéçºããæ©èœãããã£ãããšäœ¿ãããŠããããšãåããã®ã§ãéåžžã«ãããããæãããããšæããŸãã â¢æ§ã
ãªéšéãšã®é£æºãå¿
èŠ ããã¯äžèŠãã¡ãªããã®ããã«æããããã¡ã§ãããéçºã ãããã§ããªããšã³ãžãã¢ãããããžãã¹çãªèгç¹ãæã£ãŠãããšã³ãžãã¢ã®æ¹ãåžå ŽäŸ¡å€çã«é«ããšæãããã§ãã ãŸãšã ãšã³ãžãã¢ã®äžçãšã¯ç¡çžã ãšèããŠããèªåããä»ã§ã¯ãšã³ãžãã¢ãšããŠïŒäœãšãïŒåããŠããŸã ã éçºç ä¿®ã¯ããªãæ¿ãã®ã§ãå¥ã®æ©äŒã«ã話ãã§ããããšæããŸãã æ¹ããŠã ITã¹ãã«ã¯ãšãŠãéèŠã§ããå¹
åºãåéã§æ±ããããŠããã¹ãã« ãªã®ã§ããšã³ãžãã¢ãšããŠçµéšãç©ãŸããŠããããŠããããšã«ãšãŠãæè¬ããŠããŸãã ãŸã ãŸã æªçãªãšã³ãžãã¢ãªã®ã§ãæ¥ã
粟é²ããŸãã ãããŠèªåã®æé·ããã®ããã°ãéããŠæããŠãããããå¬ããæããŸã ã ãããŠãã®èšäºãå°ãã§ãã圹ã«ç«ãŠãã°ãšæããŸãã®ã§ãä»åŸããæ¥œãã¿ã«ããŠãã ããã ããã§ã¯æ¬¡åã®ããã°ã§ãäŒãããŸãããïŒ
ããã«ã¡ã¯ãã¯ã«ãŒãºæ ªåŒäŒç€ŸCTOã®éŽæšã§ãã 以åã®æçš¿ã§ã AWS Auto Scaling ã«ããã€ã³ã¹ã¿ã³ã¹ç®¡çã«åãæ¿ãã話 ããããŸããããä»åã¯ããäžæ©èžã¿èŸŒãã§ãæé垯ãè² è·èŠåãã§ ã€ã³ã¹ã¿ã³ã¹ å°æ°ãå€åããããã®å€ååã® ã€ã³ã¹ã¿ã³ã¹ ãã¹ããã ã€ã³ã¹ã¿ã³ã¹ ã䜿ãããšã§ããŒã¿ã«ã§ã€ã³ãã©ã³ã¹ãããã£ãšäžããããªãããæ€èšããéã®è©±ãããããšæããŸãã SHOPLISTã§æ¡çšããŠãã AWS ã®åçš® ã€ã³ã¹ã¿ã³ã¹ ã®è³Œå
¥æ¹æ³ SHOPLISTã§ã¯çŸåšäž»ã«ä»¥äžã®ïŒãã¿ãŒã³ã® ã€ã³ã¹ã¿ã³ã¹ ã®è²·ãæ¹ãããŠããŸã ïŒïŒCompute Savings Plans ã»çŸåšäž»ã«å©çšããŠããå¥çŽã ã»äž»ã«EC2ã®è³Œå
¥ã§å¹Žæ°åã«åããŠè³Œå
¥ã ã»èšäžã¯åæè²»çšãšããŠè³ç£åãããããæ¯æã«åããŠååŽã ïŒïŒã³ã³ããŒãã£ãã«RIå¥çŽïŒå
šé¡åæ/åæç¡ãïŒ ã»Savings Plansãã§ããåã«å¥çŽããŠããEC2ã«é©å¿ããŠããå¥çŽã ã»çŸåšã¯äž»ã«ElastiCacheã®å¥çŽãšããŠå©çšã ã» ã€ã³ã¹ã¿ã³ã¹ ã®äžä»£ã®çºè¡šãäºæž¬ã1幎ã§è²·ãã3幎ã§è²·ããã倿ã ã»èšäžã¯åæè²»çšãšããŠè³ç£åãããããæ¯æã«åããŠååŽã ïŒïŒãªã³ããã³ãå¥çŽ ã»Savings Plans æŽæ°æã«å°æ¥çã«åæžãèŠèŸŒãŸããã®ã§ãã®å¥çŽããå€ãã ã€ã³ã¹ã¿ã³ã¹ åã ã»å£ç¯éèŠãã»ãŒã«éèŠã§äžæçã«ãã皌åããªãå€å ã€ã³ã¹ã¿ã³ã¹ åã  ä»åã¯ã å£ç¯éèŠãã»ãŒã«éèŠã§äžæçã«ãã皌åããªãå€å ã€ã³ã¹ã¿ã³ã¹ å ãã«ã€ããŠãæ¬åœã«å¿
èŠãªéèŠéããã£ãšçªãè©°ããŠèãããšéèŠã®ããæéå€ãéå®ãããã®ã§ãããã®éšåã ã¹ããã ã€ã³ã¹ã¿ã³ã¹ ãå©çšããããšã§ AWS ã®ã³ã¹ããèœãšããªãããæ€èšããŸããã ä»å宿œããã³ã¹ãåæžã®ã·ããªãª åºæ¬çã«ã¯äžèšïŒã€ãçµã¿åãããŠã³ã¹ããäžããã·ããªãªãç«ãŠãŠé²ããŸããã â éèŠéã«ãã£ãŠå€ååã®ãµãŒãã®é転æéãæéåäœã§æžããããšã«ãã£ãŠé転æéãæžããã â¡å€ååã®ãµãŒãã®ã¿ã€ããæéåœããã®å䟡ã®å®ãããªã³ããã³ãããã¹ããã ã€ã³ã¹ã¿ã³ã¹ ã«ããããšã§ãæéåœããã®å䟡ãèœãšãã â¢Web ã€ã³ã¹ã¿ã³ã¹ ããªã³ããã³ãããã³ã¹ãããå¥çŽãšãã«ã AMD ã€ã³ã¹ã¿ã³ã¹ ãããããããããšã§ããµãŒãå䟡èªäœãèœãšãã  ã¹ããã ã€ã³ã¹ã¿ã³ã¹ ã¯ã AWS ãWebããŒãžã§ã¢ããŠã³ã¹ããããšããã AWS ã¯ã©ãŠã å
ã®EC2ã®äœå°ãã£ãã·ãã£ã䜿ãããšã«ããããªã³ããã³ãå¥çŽã®æéãšããŠæ¯èŒããŠæå€§ã§90%ã®å²åŒãåããããå¥çŽã§ãã äžæ¹ãäœå°ãã£ãã·ãã£ãå©çšããŠããåã空ããã£ãã·ãã£ãäžè¶³ããå Žåãæ°èŠåä»ãäžæãããããææªã®å Žå皌åäžã®ã¹ããã ã€ã³ã¹ã¿ã³ã¹ ãäžæãããååãã皌åå°æ°ãæžããªã¹ã¯ããããŸãã äžå¿ä»æ§äž2ååã«éç¥ãæ¥ãããã§ãããçŸç¶2åã§æ°èŠ ã€ã³ã¹ã¿ã³ã¹ ã®èµ·åå®äºã¯é£ããäœå°å°æ°ãå¢ããããšã§åé¿ããèšèšãããŸããã  äŸãã°ãä»ãŸã§6å°ã®Compute Savings Plansã§åããŠãããµãŒãã§ããã¡3å°ã24æé皌åãæ®ã3å°ãããŒã¯æé垯ã®ã¿é転ãã仿§ã®å Žåã以äžã®ãããªå°æ°æ§æã§æ§ç¯ãããŸãã ãã»Compute Savings Plans ããããããããããããããâŠãïŒå° ãã»ãªã³ããã³ã ã€ã³ã¹ã¿ã³ã¹ ïŒããŒã¯æé垯ã®ã¿çšŒåïŒãâŠãïŒå° ãã»ã¹ããã ã€ã³ã¹ã¿ã³ã¹ ïŒããŒã¯æé垯ã®ã¿çšŒåïŒãããâŠãïŒå°  å€ååå
šå°ãã¹ããã ã€ã³ã¹ã¿ã³ã¹ ã«ããããã¯åæžå¹æã¯å°ãªããã®ã®ããããã皌åããŠããªãåã®ã³ã¹ãåæžãã§ããã®ã§ä»ããã³ã¹ããäžããã®ãšãããããWeb ã€ã³ã¹ã¿ã³ã¹ å
šäœã AMD ã€ã³ã¹ã¿ã³ã¹ ãå©çšããããšã§åŸ®ã
ãããã®ã§ããã³ã¹ãããŠã³ãå³ããŸãã çµè« Auto Scalingã®å¯Ÿè±¡ ã€ã³ã¹ã¿ã³ã¹ ã§èŠããšãä»ãŸã§ã®Compute Savings Plansã®ã¿ã®å Žåãšæ¯èŒããŠçŽ2å²ïœ3å²ã®åæžãå®çŸã§ããŸããã 2å²ïœ3å²ãšããŠããã®ã¯ãããããä»ãŸã§æåã§å¢åŒ·/çž®éé転ãããŠããã«ããŠãå£ç¯å€åãã»ãŒã«åœ±é¿ã§ã®å°æ°å€åã¯ãããåçŽã«åææ¯ãåå¹Žåææ¯ã§åæžå¹æãæ¯èŒã§ããªãããã§ããã確å®ã«ã³ã¹ãã®åæžã¯ã§ããŠããŸãã  ä»åŸã®èª²é¡ çŸç¶Webãç»ååšãã«ã€ããŠã¯Auto ScalingãManaged Service ã䜿ãããšã§ã³ã¹ãã®åæžãçå®ã«é²ãã§ããŠããã®ã§ãããäžæ¹ã§DB ã€ã³ã¹ã¿ã³ã¹ ã¯æè»ã«ã¹ã±ãŒãªã³ã°éçšã§ããŠãããããã€å
ã
ã® ã€ã³ã¹ã¿ã³ã¹ ãµã€ãºã倧ããããã³ã¹ãã®åæžãäžåã«ã§ããŠããªãç¶æ³ãšãªã£ãŠãããã³ã¹ãäžã®ä»åŸã®å€§ããªèª²é¡ã¯DB ã€ã³ã¹ã¿ã³ã¹ ã®è²»çšã以äžã«æžãããã«ãããŸãã ãã¡ãã¯DB ã€ã³ã¹ã¿ã³ã¹ åŽã§ã©ããããããšãããããããŸãã¯ããã°ã©ã ã®äœããèŠçŽããDBã®ã¹ã¬ãŒããµãŒãå°æ°ãæžããããšããã£ãšãã广çã ãšèããŠãããããã°ã©ã ã®èŠçŽãã«ããåæžãé²ããããšèããŠããŸãã Â
ããã«ã¡ã¯ãã¯ã«ãŒãºæ ªåŒäŒç€Ÿã瀟é·ç¹åœå·è¡éšå·è¡è²¬ä»»è
ã®æŸå³¶ã§ãã 瀟é·ç¹åœå·è¡éšã£ãŠ ãªãã§ãå± ãªã®ã§ãªãã§ããããã§ããä»äºã®ç¯å²ã¯ããŒãã¬ã¹ã ä»åèªåããã¯åœç€Ÿãéå¶ããŠãããã¡ãã·ã§ã³ ECãµã€ã ãSHOPLIST.com by CROOZãã«ãŠèªåããªãŒããŒãšããŠåãçµãŸããŠããã£ãŠãããããžã§ã¯ãã ãæ¬åœã«å¿
èŠãªå®è£
ã®æéã確ä¿ããããã«ãç¡é§ãª ãããã° æéãåæžã ã®è©±ã® 第2åç® ãã話ãããŠãããããšæããŸãã âçµè«ãAutifyã ãã§ã¯éçº+éçšã«ã¯èããããªãã£ã è£è¶³ããŸããã Autifyã ãã§éçºïŒéçšã«èããããªãã£ãã®ã¯SHOPLISTã®éçºæ¹åŒãéçºææ³ç諞ã
ã®åœ±é¿ã«ãããšããã倧ãã ãšèããŠããŸãã®ã§ãAutifyããµãŒãã¹ãšããŠã©ããããšãã話ã¯å
šãå¥ç©ãšãªããŸãïŒ èªåå人ãšããŠã¯éåžžã«åªç§ãªããŒã«ã ãšæã£ãŠããŸã ïŒã  ãªã®ã«äœæ
Autifyã ãã§ã¯éçºïŒéçšã«ã¯èããããªãã£ãã®ãã¯åŸè¿°ããŸãã  ãªãããã®èšäºã«ãããŠã¯2021幎10ææç¹ã§ã®Autify瀟ã®ä»æ§ãåæãšãã話ãšãªã£ãŠããŸããAutifyèªäœãéãšã³ãžãã¢ã§ã䜿ããããŒã«ã§ããããã éãšã³ãžãã¢ã®æ¹ãå°é£ãã話ãã§ãŠãããªïŒãšæããã èŠãŠé ããã°å¹žãã§ã ã âAutifyå°å
¥ã®çµç·¯ å°å
¥ã®çç±ã§ãããèªåã2021幎10ææç¹ã§åçš®UIèªåãã¹ãããŒã«ãèŠãŠåã£ãäžã§äžçªã·ã³ãã«ã§ãã€å¿
èŠãªæ±çšæ§ãä¿æããŠãããããšããã·ã³ãã«ãªãã®ã§ãã  ãã® ãããã° æéã®åæžã®è©±ãåºãŠããéã«äŒç€ŸãšããŠã¯å
ã
å
šç°å¢ã1ã€ã®ããŒã«ã§ãã¹ãã宿œã§ããã»ããæ¥œã ãããšããäºã§æã¯ã©ã€ã¢ã³ãåããŒã«ãå°å
¥ããããšããŠããŠãå®éã«æ€èšŒãããããŠããŸããïŒåŒç€ŸCTOã®éŽæšãé²ããŠããŸããïŒã  ã§ãããæã¯ã©ã€ã¢ã³ãåããŒã«ã¯èªåãç ä¿®ã«åå ããäºã§éãšã³ãžãã¢ã«ã¯ç¿åŸãäžå¯èœãšå€æãæçµçã«ã¯Autifyã®å°å
¥ã«åãæ¿ããŸããã  åçŽã«äŒç€ŸãšããŠã¯ ã»ã GUI ã ã»ãæããé·ã䜿ãããŠããŠã ã»ãå
šãã©ãããã©ãŒã 察å¿å¯èœã ãšããããŒã«ã¹ããã¯ããéãšã³ãžãã¢ã§ã䜿ããã ãããšå°å
¥ãé²ããŠããã®ã§ããã  å®éã«ã¯ ã»ãããŒã«åºæä»æ§ãå€ãã ã»ããšã³ãžãã¢çµéšãç¡ããã°ããŒã«ãšããŠã®ããã©ãŒãã³ã¹ãçºæ®ã§ããªãã ãšããéšåã匷ããããããæã¯ã©ã€ã¢ã³ãåããŒã«ã¯éãšã³ãžãã¢ã«ã¯äœ¿ããªããšå€æã Â åœæ10æ°åã®ããŒã«ãæ€èšŒããçµæãAutifyãç®çãšåèŽããããå°å
¥ãããšããã®ãçµç·¯ã«ãªããŸãã âAutifyãšæã¯ã©ã€ã¢ã³ãåããŒã«ã®æ¯èŒ æŸå³¶å人ã®è§£éãå€ãå«ãŸããŸããã以äžã®ãããªå·®ããããŸã  âAutify ãèªåã¯1æ¥ã§ã·ããªãªäœæããç°¡åãªãã¹ãã®å®æå®è¡ãŸã§ã§ãã ã GUI ã§ Chrome æ¡åŒµæ©èœ ã䜿ãå¿
èŠããããå©çšãç°¡å ãå°éçšèªãå°ãªããšãããã¡ã€ã³ãšãªãUIãããããå°ãªã Ããããã¬ã¹ãã©ãŠã¶ã§åäœããã®ãåæãšããŠãããããªãã¬ã€ãç¡ã ã â»ããã¯ã·ããªãªäœæã®ãšããã§ç䌌ãªãã¬ã€ã¿ãããªäœ¿ãæ¹ãã§ãã ÃããŒã«èªäœã¯éåžžã«ç°¡åã ã管çåŽã®æŽåã远ãä»ããŠãªãçºã ãéçšã«ãŒã«ãæ·ãããšãè¶
å€§äº ãâ»ã·ããªãªç®¡çåšããããªãç²ãããã ããå€§èŠæš¡ãµãŒãã¹ã§ãããããããšå€§éã®ãã¹ãããªã¥ãŒã ãããããšã ãã宿œããã«ã¯åããªã  âæã¯ã©ã€ã¢ã³ãåãã¹ãããŒã« Ãã¬ã¯ãã£ãŒã«åå ããã1æ¥ã§ã¯ãã¹ãã·ããªãªã宿ãããããšãã§ãã ã 宿å®è¡ã®ããæ¹çã¯å
šãåãããªããšããç¶æ
ã ã£ã â³ GUI ã¯ã¯ã©ã€ã¢ã³ãã®å°çšããŒã«ã§äœ¿ãããªãã°çްããå³å¯ãªå¯Ÿå¿ãã§ãã Ãå°éçšèªãå€ããããæäœUIãè€é ããªãã¬ã€ã¯äœåã§ããªãã¬ã€æ©èœã®å©çšãå¯èœ ããã®ããŒã«å°éã®è·äººã®ãããªé åã«ãªããšDB飿ºãããããªã髿©èœ ãå€§èŠæš¡ãµãŒãã¹ã§ããŸã倿Žãå®åžžçã«ããããªãäºã宿œããã®ã«åããŠãã ãâ»ã·ããªãªäœæã³ã¹ããé«ãçºãã®å€æ å³å¯ã«ã§ãããã䜿ãããªãããšã§ããã©ãŒãã³ã¹ãé«ãã®ã¯ãããŸã§æã¯ã©ã€ã¢ã³ãåãã¹ãããŒã«ã ãšæããŸããããä»åã¯äŒç€Ÿã®æ¹éãéãšã³ãžãã¢ãæ±ãããšããäºããAutifyãéžæããŸããã ãšã³ãžãã¢ããŒã ã§æšæ¥ã®å
šãŠã䜿ãåããŠæ±ã£ãŠããããŒã«ãéžå®ãããšããåæã§å€æãããšãã話ã ã£ãå Žåã¯ãŸãå¥ã®éžæããããããããŸããã âAutifyã ãã§ã¯éçº+éçšã«ã¯èããããªãã£ãçç± ããã¯Autify瀟ã®ä»æ§ã«ãããšããã«ãªããŸãããã«ã³ãã¡ã¬ã³ã¹ã«åå ãããŠããæ¹ãªãäžåºŠã¯èããã§ããã話ã§ãã ã»Autifyã«ã¯æã®å®è¡åæ°ã«å¿ãã課éããã£ã ãã®èª²éäœç³»ãåå ã§éçºïŒéçšã«ã¯ãšãŠãèããããªããã®ã§ããã  ã»ããã©ã«ãã®æã®å®è¡åæ°ã¯1,000åã§ã(å¥çŽã«ããã)ã ã»1,000åã ãš30æ¥x30ã·ããªãªãå®è¡ããã ãã§900åæ¶è²»ããŠããŸã ã»ã·ããªãªäœæåŸã®èªåå®è¡ãã¹ãã詊ããã®ã¯100å/æããæ®ããªã  ããã« ã»ç°å¢ãå€ããããšã«1åã®å®è¡åæ°ãæ¶è²»ããŠããŸã ãâ» Chrome ,Edge, Safari ã®3ã€ã®ãã©ãŠã¶ã§å®è¡ãããšã·ããªãª1ã€ã«ã€ã3åããã ã»PCãšSPã§å¥ã®ã·ããªãªã䜿ãããç°å¢ã§ããã«ã·ããªãª1ã€ã«ã€ã2åããã  äžèšãæŽçãããš ã»1ã€ã®ã·ããªãªã3ã€ã®ãã©ãŠã¶ã§ãPC,SPããããã§æ¯æ¥10åå®è¡ãããš ã»3(ãã©ãŠã¶)x2(PC,SP)x10åx30æ¥=1,800  äžå¿ãã®1,000åãšããå®è¡åæ°ã¯å¥çŽäžåæ°è¿œå ãå¯èœãªã®ã§ãããäžèšã®åæ°ã®å¢å åŒãããããš100åã200åå¢ãããšããã§ çŒãç³ã«æ°Ž ã§ãã ãšã³ãžãã¢ããããã°ãéçºäžã¯ç°å¢ã§å€æŽãããã ã»èªåã§å
šãã§ãã¯ããã ã»å
šãã§ãã¯ããŠåé¡ããã£ããä¿®æ£âå床å
šãã§ãã¯ããã ãšãããããªäºãæç«ããã®ãçæ³çã§ãã  1æ¥1人ãšã³ãžãã¢ãéçºäžã«10åãããäžèšã®å
šãã§ãã¯ãã¶ãåããŠããå Žå ã»3(ãã©ãŠã¶)x2(PC,SP)x10(å)=600å ã»600(å)x10(åéçºå®è¡)x30(æ¥)=180,000å äžèšã®ããã«éçŸå®çãªæ°åã«ãªããŸãããã ã·ã³ãã«ã«Autifyã ãã§ã¯éçºéçšã«èããããªãã£ãã®ã¯ãåæ°å¶éå¶çŽãå³ãããšããäºã«ã€ããŸãã  ããããéçšããŠããäŒæ¥ã§ã¯å·¥å€«ãããŠæ±ã£ãŠãããšæãã®ã§ãããåæ°ãå³å¯ãããŠãã®å·¥å€«ãããããšã§ãŸãéçºã®ç®¡çã³ã¹ããå§è¿«ãããã ãªãšããäºã§ããã¹ãŠãAutifyã§ããã®ã¯ããããïŒãšãã倿ã«è³ããŸããã âæ¬¡åã¯âŠ ä»åã¯æå³ãã Autifyãå°å
¥ããããšããããã©è§£æ±ºããªãã£ãã ãšãã話ãããã ãã«ãªã£ãŠããŸããŸããã  èªåå人ãšããŠã¯Autifyèªäœã¯éåžžã«åªç§ãªããŒã«ã ãšæã£ãŠããŸãã ãã®ããæ¬¡å㯠Autifyã®æå¹æŽ»çšã®ä»æ¹ã掻çšãã€ã³ã ã«ã€ããŠã話ããããšæããŸããæ¯éããšã³ãžãã¢ã®æ¹ã«ãéãšã³ãžãã¢ã®æ¹ã«ã圹ç«ãŠãŠããã ããã°ãšæããŸãã
åããŸããŠã¯ã«ãŒãºæ ªåŒäŒç€Ÿã瀟é·ç¹åœå·è¡éšå·è¡è²¬ä»»è
ã®æŸå³¶ã§ãã CROOZã«2012幎å
¥ç€ŸåŸã諞ã
çŽäœæ²æãããŸããŠãçŸåšã¯æ¬ç€Ÿã§æè¡äžããã® ãªãã§ãå± ãããŠããŸãã  ä»åèªåããã¯åœç€Ÿãéå¶ããŠãããã¡ãã·ã§ã³ ECãµã€ã ãSHOPLIST.com by CROOZãã«ãŠèªåããªãŒããŒãšããŠåãçµãŸããŠããã£ãŠãããããžã§ã¯ãã ãæ¬åœã«å¿
èŠãªå®è£
ã®æéã確ä¿ããããã«ãç¡é§ãª ãããã° æéãåæžã ã®è©±ãããŠãããããšæããŸãã âå
ã«çµè«ãæžããŠããŸããšâŠ ä»çŸåšSHOPLISTã§ã¯ æã¯ã©ã€ã¢ã³ãåãã¹ãããŒã«ãAutifyãnodejsãpuppeteerã䜿çšã㊠ãããã° æéãåæžããåãçµã¿ã宿œ ããŠããŸããçµ¶è³åãçµã¿äžã§ãã ä»çŸåšçµ¶è³åãçµã¿äžã®ãã察å¿ãå®äºãããšãããŸã§ã¯ã話ã§ããªãã®ã§ããããããããã©ããªæå³ãšçµç·¯ã§äœ¿ãããšã«ãªã£ãã®ãïŒå°å
¥ãããŠã¿ãŠã©ãã ã£ãã®ãïŒçãäžéãã話ãã§ããç¯å²ã§è©±ããã°ãšèããŠããŸãã  ãªãããã®èšäºã«ãããŠã¯éãšã³ãžãã¢ã«åããŠã®å
容ãå€ãå«ãŸãããã®ãšãªãããã ç¹ã«éãšã³ãžãã¢è·ã®äººã«ãèŠãŠé ããã°å¹žãã§ãã âæ¬åœã«å¿
èŠãªå®è£
æéã£ãŠäœïŒ ãæ¬åœã«å¿
èŠãªå®è£
ã®æéããšã¯ã€ãŸããæ°ããéçºãæ¢åã®æ¹åããè¡ãæé ã§ãã  ECãµã€ã ã§ããSHOPLISTã®éçºæ¥åã«ã¯å€§ãã以äžã®2ã€ã®æ¥åããããŸãã ãæ¥åïŒãæ¥ã
ã®éçšæ¥å ãæ¥åïŒãæ°ããéçºãæ¢åã®æ¹å  äžèšã®ïŒã€ã®æ¥åã®ãã¡ ããæ¥åïŒãæ¥ã
ã®éçšæ¥åãã«å€§ããæéãå²ãã⊠ããæ¥åïŒãæ°ããéçºãæ¢åã®æ¹åãã«ã倧ããæéãå²ããâŠ çµæãšããŠæéãè¶³ããªããªã ãéçºã®ã¹ããŒããè¶
éåã ãããšããåé¡ãçºç ããŠããŸããã  ãã® ãéçºã®ã¹ããŒããè¶
éåã åé¡ãæ¹åã ãããã« ãæ¬åœã«å¿
èŠãªå®è£
ã®æéã確ä¿ããããã«ãç¡é§ãª ãããã° æéãåæžã ãããšããã®ãä»åã®è¶£æšã§ãã ãªããæåã«è©±ãéã£ãŠããããã®æã®èªåã®ææ³ãšããŠã¯ããªãã§ãããªã« ãããã° ã«æéããã£ãŠãã®ïŒããšããçå笊ãããªããšããããã®ã¹ã¿ãŒãã§ããã âéçºã®é床ãå éããããã®2,500æé ã§ã¯ãŸãããç¡é§ãª ãããã° æéããšã¯ã©ãããããã£ãã®ãïŒã§ãããšããŸããããžã§ã¯ãã¹ã¿ãŒãåœåã®éèšã§ã¯SHOPLISTã® ãããã° æéã¯éçºéšå
šäœã§2,500æé/æãçºçããŠããŸããã ã»1人1æã®çšŒåæéã160æé(8æéx20æ¥) ã»2,500æé/æã¯äººæ°ã«çŽããšçŽ15人/æå ããã¯äŒç€ŸãšããŠã¯å€§ããªã³ã¹ããšãªããŸãããããã«ãšã³ãžãã¢ã§ãã察å¿ãã§ããªãå
容ãšãªã£ãŠããå Žåéåžžã«äžæ¯ãª2,500æéã®çšŒåã«ãªããŸãã æ£çŽ2,500æéãç¡é§ãªäºãã£ãŠãããããªãä»ã®äºãããïŒã£ãŠæããŸãããã  ã·ã³ãã«ã«èšã£ãŠããŸãã°15人æåã®ã³ã¹ãã ãããã° ã®æéãšããŠäœ¿ãããããã«è¿œå éçºãã§ãããªãã ã»ãã¡ãªããïŒããµãŒãã¹ãšããŠãŠãŒã¶ãŒã«å¯ŸããŠæ¹åã§ãã ã»ãã¡ãªããïŒãéçºãšããŠéçºäœå¶ã«å¯ŸããŠæ¹åã§ãã ã»ãã¡ãªããïŒãäŒç€ŸãšããŠæ°ããªããžãã¹ãžã®ææŠãã§ãã åœç¶ã§ãã2,500æéã® ãããã° æéãä»ã«äœ¿ããããã«ããã°ããæ¬åœã«å¿
èŠãªå®è£
æéãã«å€ããããããšãã§ããã°ã¡ãªããã¯æ°ããããªãã»ã©ãããŸãã â ãããã° æéãåæžããããã«ããäº ãããã° æéãåæžããã«ã¯åçŽãªè©±ãåŠäœã«æäœæ¥ãæžãããïŒãšããç¹ã«ã€ããŸãããè§£æ±ºæ¹æ³ãšããŠã¯åçŽã«ïŒã€ã§ãã ã»è§£æ±ºçïŒïŒãããã ãããã° ããããªãããã«ãã ã»è§£æ±ºçïŒïŒèªåã§ãšã©ãŒæ€ç¥ãããŠåžžã«èªåã§ ãããã° ãããããã«ãã ã»è§£æ±ºçïŒïŒæäœæ¥ã§ ãããã° ããŠãããã®ãèªåã§ ãããã° ãããããã«ãã åœããåã®è©±ã§ãããç©¶æ¥µç®æãã¹ãã¯è§£æ±ºçïŒã®ã¿ã§ãã 解決çïŒã ãã ãšåœç¶ãµãŒãã¹ãåããªãã®ã§è§£æ±ºçïŒãå¿
èŠãšãªããŸãã 解決çïŒãŸã§ãã£ãŠãæ°èŠéçºçã®éã® ãããã° ã¯åžžã«çºçãããã解決çïŒãšãªããŸãã âæ¬¡åã¯âŠ ä»åã¯äž»ã« ãããã° ã§è©±ã話ã®å
šäœåã課é¡ã課é¡è§£æ±ºæã®ã¡ãªããã解決çããäžæŠã話ãããŠããããŸãã ã èªåïŒæŸå³¶ïŒããã£ã¬ã¯ã¿ãŒããã©ã³ããŒãããã³ããšã³ããšã³ãžãã¢ããµãŒããŒãšã³ãžãã¢ãã¢ããªãšã³ãžãã¢ãš æ§ã
ãªçµéšãæã€ç°è²ã®çµæŽã®ãããäžè¬çãªè§£æ±ºçãšç°ãªãè·çš®ããŸããã£ã解決ç ãæ¬¡å以éã話ã§ããã°ãšæããŸãã  å
·äœçã«è§£æ±ºçãåãããªããšæå³ããŒããããšæãããšãããããã§ãããå課é¡ã®è§£æ±ºãžã®çéãæãã®ã»ãé·ãé¢åã ã£ãããã现ããæžãããã«è€æ°åã«åããããŠãã ããã  次å㯠Autifyã®å°å
¥é¢ä¿ ã«ã€ããŠã話ããŠããäºå®ã§ãã Â
ããã«ã¡ã¯ãã¯ã«ãŒãºæ ªåŒäŒç€ŸCTOã®éŽæšã§ãã ä»åã¯Flutter ã®æ€èšŒãå§ããŸãããšãã話ã§ãããã¡ããSHOPLIST.com by CROOZã®ã¢ããªããªãã¬ã€ã¹ããããšãç®çã§ã®æ€èšŒã§ããæ±ºããŠè¶£å³ã®è©±ãããªãã§ã(ç¬) èæ¯ å®ã¯SHOPLISTã®ã€ã³ãã©æ§æãå€ããæ§æ³ãä»èããŠããŸããèŠç¹ã§ãããš ã»MV ã¢ãŒããã¯ã㣠ãç¹ã«ãã³ãã¬ãŒããšã³ãžã³ã®å©çšãããã ã»ãµãŒã㯠API ã®çµæã®ã¿ãè¿ãããã® API ã¯ãã©ãŠã¶ãã¢ããªå
±éãšããã ã»ãã©ãŠã¶ã®å Žåã¯ããã³ããšã³ã ãã¬ãŒã ã¯ãŒã¯ ãHTMLãçµã¿ç«ãŠãã©ãŠã¶ã«è¿ãã ã»ãã€ãã£ã㯠iOS / Android ãçµ±äžèšèªã§å®è£
ããŠéçºçç£æ§ãäžããã ä»åã¯ãã®æåŸã® iOS / Android ã®å®è£
èšèªçµ±äžã®è©±ã§ãã èšèªçµ±äžã®ç®çã«ã€ããŠã¯ä»¥åã®æçš¿ã§ãããã SHOPLIST.com ã®ã·ã¹ãã ãã¢ãã³ãªã¢ãŒããã¯ãã£ã«å€ããããšãããäºæ³ä»¥äžã«éãæ·±ãã£ã話 ãã®èª²é¡ã®éšåã§ãããã iOS ã®å ŽåSwiftãšObject-Cã Android ã®å Žå Java ãšKotlinãæ©èœæ¯ã«æ··åšããŠéçºããŠããããšãšã ã¢ããªéçº ã®ç€Ÿå
ã®æè¡ã¹ã¿ãã¯ãFlutterã«çµ±äžããããšã§ ã¢ããªéçº ã®çç£æ§ãäžããããšã§ãã ãŸãã iOS ã®å ŽåSwiftãšObject-Cã Android ã®å Žå Java ãšKotlinãæ©èœæ¯ã«æ··åšããŠããããšã«ã€ããŠãå®ã¯ãããŸã§é¡åšåãã課é¡ãšããã®ã¯ãªãã§ãããã¡ããå€å°ã¯éå¹çãªéšåã¯ããã®ã§ãããæ°èŠå®è£
ã¯SwiftãKotlinã§è¡ããæ¢åéšåã®æ¹ä¿®ã®æã«çŽãããã®ã¯æžãçŽããããã§ãªããã®ã¯Object-Cãš Java ã§æžããšããããšãã§ããç¶æ³ã§ iOS ã®ãšã³ãžãã¢ã§ããã°äž¡èšèªå¯Ÿå¿ã§ããããçç£æ§ãäœããªã£ãŠãããšããããã§ã¯ãªãã§ãã æœåšç ãªãªã¹ã¯ãšããŠã¯Object-Cã Java ã®å®è£
ããã®ãŸãŸç¶ããŠãããšãã©ããã®ã¿ã€ãã³ã°ã§ Apple ã Google ã«ãªãªãŒã¹ç³è«ããéã«ããã®ãªãªãŒã¹ç³è«ãéããªãããããªãããšããæŒ ç¶ãšãããªã¹ã¯ãããããšã§ãããã®ããã«çŸåšãããŸã§éçç£çãªç¶æ³ã§ãªãããšãšããªã¹ã¯ãšããŠã¯ããªãæœè±¡çã ã£ãããã ã¬ã¬ã·ãŒã·ã¹ãã ãè±åŽããããšãšããŠ2020幎äžã«è¡ãäºæã«ã¯å«ããªãã£ãã®ã§ãããä»åã¯å¯Ÿå¿ãæ€èšããããšã«ããŸããã ããäžã€ã®çç±ã®ç€Ÿå
ã®æè¡ã¹ã¿ãã¯ã®çµ±åã®è©±ã§ãã ãã¡ãã®æ¹ãããæçŸ©ãšããŠã¯éèŠã ãšèããŠããŸããä»åœç€Ÿã®ãã€ãã£ããšã³ãžãã¢ã¯äž»ã« iOS ãæ
åœãã人ã Android ãæ
åœãã人ã«åãããŠããŠåå¥ã®ã©ã€ã³ã§éçºãè¡ã£ãŠããŸãããŸãéå»ã®çµç·¯ã§å
éšçãªèšèšãç°ãªã£ãŠããç®æããããã¡ãã£ãšå€ãããšãã«ã¯ãªã£ãŠããŸãã®ã§ããXamarinã®ãã㪠ã¯ãã¹ãã©ãããã©ãŒã èšèªã§éçºããããã«ããŠããŸã£ãæ¹ãã¢ããªè£œé ã«ããããããŒã¿ã« å·¥æ° ãåæžã§ããã®ã§ã¯ãšèããŸããããŸããããæ©ã«åOSããš2èšèªã§éçºããŠããç¶æ³ããªãããã°äžç³äºé³¥ãªã®ã§ ã¯ãã¹ãã©ãããã©ãŒã èšèªã®æ€èšŒãå§ãããšããã®ãä»åã®èæ¯ã§ãã Flutterãæ€èšããã«è³ã£ãèæ¯ åæãšããŠã瀟å
ã«Flutterçµéšè
ãããªãäžã§ã®æ€èšŒã¹ã¿ãŒãã§ããããããŸãã¯ãããæç®ã§èª¿æ»ãããã®ããšå®éã«1ïœ2ã«æã»ã©ç¹å®æ©èœãå®è£
ããŠå°å
¥ã®æææ±ºå®ããããšãã圢ã§èšç»ããŸããã ãŸã以äžã®èšäºã®ããã«ãã§ã«æ¯èŒããããŠããæ¹ã®æ
å ±ãè€æ°éããFlutterãReact Nativeã®2ã€ã«ãŸã§åè£ãããŒããŸããã qiita.com ãã®åŸãæç®ãèŠãªãã ãã©ã€ã¢ã³ããšã©ãŒ ãç¹°ãè¿ããŠé²ããŠããåœ¢ã§æ€èšŒãé²ããŠãã圢ãšãªããããæç®ã®éã調æ»ããŸãããèª¿ã¹æ¹ãšããŠã¯æ¥µããŠã·ã³ãã«ã§ Google ãã¬ã³ãã§ã®æ€çŽ¢ç¶æ³ã§æ¯èŒããŠããŸãã  Google ãã¬ã³ã äžèšã®ããã«ããã1幎ã§èŠããšå§åçã«Flutterã®ã»ããæ
å ±éãå€ãã§ãã ããäžã€ã®åŽé¢ãšããŠã¯React Nativeã®éçºå
ã§ãã Facebook ãšã³ãã¥ããã£ã®ã©ã€ã»ã³ã¹ã«ã€ããŠãçŽç²ãª BSDã©ã€ã»ã³ã¹ ã§ã¯ãªããç¬èªã« BSDã©ã€ã»ã³ã¹ ã«ç¹è𱿡é
ãä»åž¯ãããŠãããå¶å©ç®çã®ãµãŒãã¹ãéå¶ããã«ããããªã¹ã¯ãšãªãããå
容ãå«ãã§ããããã«èŠåãããããããä»åã¯Flutterãæ€èšŒã®å¯Ÿè±¡ãšããŸããã FaceBook ã³ãã¥ããã£ã®ç¬èªã®ã©ã€ã»ã³ã¹ã®è©±ã¯ãã®ãµã€ãã«è©³ãã解説ããããŸãã æ€èšŒã®é²ããã ç¹°ãè¿ãã§ãã瀟å
ã«Flutterçµéšè
ãããªãããããããæç®ã§èª¿æ»ãããã®ããšå®éã«1ïœ2ã«æã»ã©ç¹å®æ©èœãå®è£
ããŠèª²é¡ã®æç¡ãè©äŸ¡ããŠãããšããåœ¢ã§æ€èšŒãé²ããŠããŸãã å
·äœçãªè©äŸ¡ã®é
ç®ãšããŠã¯ ã»çŸåšäœ¿çšããŠãã SDK ãã©ã€ãã©ãªã§å©çšã§ããªããã®ã¯ãªããïŒ ã»å®è£
ããŠããŠçç£æ§ãæªããªãèŠçŽ ã¯ãªããïŒ ã»å®è£
ãããŠããŠæ©èœçã«å®çŸãã§ããªããªã©ãå¶çŽã«ãªãããšã¯ç¡ããïŒ ã»ã¢ããªã§ã®åäœã§ã¬ã¹ãã³ã¹ãCPU䜿çšçãªã©å£åããéšåã¯ãªããïŒ ã®å€§ãã4é
ç®ãæ¯èŒããŠãã圢ã§é²ããŠããŸãã  çŸåšæ€èšŒãå§ããŠçŽïŒã«æçµã¡ãŸãããä»ã®æç¹ã§åãã£ãŠããããšãšããŠã¯ ã» SDK ã§åããªããã®ã¯ãªããã1ã€ã ãFlutterãã䜿ããšå®è£
ãè€éã«ãªããã®ããããäœã SDK æäŸå
ãã察å¿ããŒãžã§ã³ã®æäŸãåãããã ã»ããã©ãŒãã³ã¹äžä»ã®ã¢ããªãšãã»ã©å€ãããªãã ã»å®è£
ã«ã€ããŠã¯åŠç¿ã³ã¹ãã¯åœç¶å¿
èŠã ãã©ãã以å€ã§çç£æ§ãèããèœã¡ããã®ã¯ãªã ãšããè©äŸ¡ã§ãã ããš2é±éã»ã©ã§æ€èšŒå¯Ÿè±¡ã®ç¹å®æ©èœã®å®è£
ãå®äºããã®ã§ããã®å®äºãåŸ
ã£ãŠæçµçã«ã¯å°å
¥ã®æææ±ºå®ãè¡ããããšæã£ãŠããŸãã Â
ããã«ã¡ã¯ãã¯ã«ãŒãºæ ªåŒäŒç€ŸCTOã®éŽæšã§ãã ä»åã¯FastlyCDNã®Image Optimizerã䜿ã£ãŠSHOPLIST.comãWebP察å¿ããã話ãããããšæããŸãã www.fastly.com èæ¯ èæ¯ãšããŠã¯äž»ã«äºã€ã§ãäžã€ç®ã¯ç»åãã©ãŒããããWebPã«å¯Ÿå¿ãããããšã«ããéä¿¡ã® ãã©ãã£ã㯠éãæžããããšãäºã€ç®ã¯EC2 ã€ã³ã¹ã¿ã³ã¹ äžã«Nginxãšsmall_lightã§æ§ç¯ãããŠãããµã ãã€ã«çæåŠçãImage Optimizerã«ä»£è¡ãããããšã§ãEC2 ã€ã³ã¹ã¿ã³ã¹ äžã®å€æåŠçããã°ã©ã ã ããã«ãŠã§ã¢ ã®ä¿å®ããªããããšã§ãã åè
ã«ã€ããŠã¯ãå®ã¯1幎åããæ°ã«ã¯ãªã£ãŠããæè¡èŠçŽ ã ã£ãã®ã§ãããåœæã¯ãŸã iOS çã®ãµãã¡ãªãæªå¯Ÿå¿ã§ãã£ãããããŸã å°å
¥å
ã§ãããããšãã倿ãããŠããã®ã§ããã2020幎ã®9æã« iOS çãµãã¡ãªãWebP察å¿ããããšãçºè¡šãããããããå°å
¥ææã«éãããšããããšã§ä»åå°å
¥ã«èžã¿åããŸãããåœæããCan I Use?ã ã§èª¿ã¹ããšãããUsage ãšããŠã¯85%ã»ã©ã§ããã  åŸè
ã«ã€ããŠã¯å¯æ¬¡çãªãã®ã§ã¯ãããã®ã®ãäžèº«ã ãã©ãã¯ããã¯ã¹ åããŠããŠããããã ã³ã¢ã³ã³ãã¿ã³ã¹ ã®ææ³ã§ããã°ç©æ¥µçã«ã¢ãŠããœãŒã¹ãããã®ã ãšèããã®äž¡æ¹ãå®çŸã§ããä»çµã¿ãšããŠFastlyCDNã®Image Optimizerã«çç®ãå°å
¥ã«è³ããŸããã åºæ¬çãªä»çµã¿ æ¬æ¥FastlyCDNã®Image Optimizerã®ä»çµã¿ã§ã¯HTTP Headerã®Accept-Encodingã§ãªã¯ ãšã¹ ãå
ãã©ãŠã¶ãWebPã«å¯Ÿå¿ããŠãããã©ããã§ç»åãèªå倿ŽããŠè¿ãä»çµã¿ããããèšå®ãããã CDN ãçµç±ããã ãã§ããã°ã©ã åŽã§ã¯äœãããã«WebP倿ãããã³ã³ãã³ãã䜿ãããšãå¯èœã§ãããä»åã¯ä»¥äžã®çç±ããImage Optimizerã®æ©èœã§ã¯ãªããWebP察å¿ãšããã§ã¯ãªããªãªãžãã«ã®ç»åURLãåºããããããã«ããŠããŸãã â CSS å
ã®ããŒãã®äžéšãšããŠç»åãèªãã§ããç®æãå€ãããã¹ãŠãèªå倿ã§ããªãã â¡WebPã®å§çž®çãäžåŸã«ãããšååç»åãç®ã«èŠãŠåããã¬ãã«ã§å£åããã±ãŒã¹ãããã ãšãã«åŸè
ã¯æ©ãŸãããŸãããç¹ã«èŠã人Ããã£ã¹ãã¬ã€ã®æ§èœÃååçŽ æã®æè³ªã«ãã£ãŠååç»åãæ±ãæããç»åãããè€æ°ååã«ããŽãªã®ååç»åãæ§ã
ãªäžä»£ã®ç«¯æ«ã瀟å
ã®æ§ã
ãªå¹Žéœ¢ã®äººã«èŠãŠããããã¢ã³ã±ãŒããåã£ãçµæãšããŠãçŸå®çã«å§çž®çäžå
ã¯äžå¯ãšããçµè«ã«ãªããŸããã çµè«ããã©ãŠã¶ãšååç»åã®ç¹æ§ã«å¿ãããªãªãžãã«ç»åãWebP ãã¹ã¬ã¹ ç»åãWebPå§çž®ç»åããµãŒãåŽã§åºããããŠHTMLãçæãã圢ãåãããã®åŸãªãªãŒã¹ãŸã§ã®éã«åãããã«è€æ°ååç»åã瀟å
ã®è€æ°ã®ãŠãŒã¶ã«ãããããªç«¯æ«ã§ç¢ºèªããŠéåæã®ãªãç¶æ
ã«ãªã£ãŠããããšã確èªããŠããã®åŸãªãªãŒã¹ãšãªããŸããã ãŸãšã ãŸã ãã©ãã£ã㯠éã«ã€ããŠã¯ãã£ããã§ãã3å²ã»ã©ã®åæžãšãªããŸããããã ãããã¯æå€åãããã®ã§ããå°ãæéãèŠãŠæ¹ããŠã©ããã§å
±æã§ããã°ãšæããŸãã ãŸããã©ãŠã¶ã端æ«ã·ã§ã¢ã®å€æŽã«ããä»åŸã¯å¯Ÿå¿ãã©ãŠã¶ãå¢ãããã ãã©ãã£ã㯠éã«ã€ããŠã¯äœãããªããŠãããçšåºŠã¯äžãã£ãŠããããšãèŠèŸŒãŸããããå«ããŸãã©ããã§å
±æã§ããã°ãšæã£ãŠããŸãã â»ãã€ãã£ãã¢ããªã«ã€ããŠã¯äž¡OSãšãå¯Ÿå¿æžã§ãã 坿¬¡çãªç®çã ã£ãEC2 ã€ã³ã¹ã¿ã³ã¹ äžã§è¡ã£ãŠããç¬èªã®ãµã ãã€ã«äœæåŠçã«ã€ããŠã¯åæ¢ã§ãããã®ã®ããã以å€ã®ç»åé¢é£ã®åŠçããŸã åããŠãããå®å
šåæ¢ã«ã¯è³ã£ãŠããªãããªãããå®å
šã«åæ¢ãŸã§ã¯ãããªãã£ãã§ãããåŠçã®å€§éšåãFastryäžã«æã£ãŠè¡ããããšã«ãã£ãŠãµãŒããªãœãŒã¹ã倧å¹
ã«èœãšãããã ã€ã³ã¹ã¿ã³ã¹ å°æ°ããµã€ãºãèœãšããŠã³ã¹ãäžã¯æããããšã¯ã§ããŸãããæ®ãã®åŠçã®æžãæãã«ã€ããŠã¯ ãªãã¡ã¯ã¿ãªã³ã° ãšããŠå®æœããŠãããããšèããŠããŸãã
ããã«ã¡ã¯ãã¯ã«ãŒãºæ ªåŒäŒç€ŸCTOã®éŽæšã§ãã ååã®æçš¿ã Webã€ã³ã¹ã¿ã³ã¹ã®OS/PHPããŒãžã§ã³ãææ°å®å®çã«ããã話 ãã®æåŸã§å°ãè§ŠããŸããããä»åWebããã³ããã ã€ã³ã¹ã¿ã³ã¹ ã«ã€ããŠã¯åã»ãŒã«éå¬ã®éœåºŠããã¡ãã¡æåã§EC2 ã€ã³ã¹ã¿ã³ã¹ ãäœæããªããã°ãªãããæ¥ã«ãµãŒããå¢ããéã«ãEC2ã®ã€ã¡ãŒãžãå
ã« ã€ã³ã¹ã¿ã³ã¹ ãäœæãã ãœãŒã¹ã³ãŒã åæãè¡ããã©ã³ãµãŒã«è¿œå ããäœæ¥ãå¿
èŠã§éåžžã«é¢åã§ããã  ãã®ãããWeb ã€ã³ã¹ã¿ã³ã¹ ã«ã€ããŠã¯ãèµ·åãã³ãã¬ãŒãã®æ§ç¯ãšEC2 Auto Scalingäžã§ã® ã€ã³ã¹ã¿ã³ã¹ 管çãè¡ãæ¹åŒã«åãæ¿ããè¡ã£ãŠããŸãã Auto Scalingå°å
¥ã®é²ãæ¹ Auto Scalingã®å°å
¥ã¯ç®çããšã«å€§ããïŒã€ã®ãã§ãŒãºã«åããŠé²ããŠãããŸãã â æ¢å®ã® ã€ã³ã¹ã¿ã³ã¹ å°æ°åãåžžã«çšŒåã§ããããã«ããããš ãâ ä»çµã¿ãšããŠã®Auto Scalingã®å°å
¥ã èŠããã«å¿
èŠå°æ°ã®ãã¡ ã€ã³ã¹ã¿ã³ã¹ é害ã§1å°æ»ãã§ããèªåã§1å°ãã¹ã±ãŒã«ã¢ãŠãããŠãããŒã¿ã«ã§å¿
èŠå°æ°ã確ä¿ã§ããç¶æ
ãç¶æããããšã Â â¡ è² è·ã«å¿ããŠèªåã§å¢åŒ·/çž®éé転ã§ããããã«ããããš ãâ è² è·å¯Ÿç/ãµãŒãã¹ããŠã³é²æ¢ã®ããã®å°å
¥ èŠããã«æ¬æ¥ã®Auto Scalingã®æ©èœã掻çšããŠããµãŒãã¹ããŠã³ãé²ããæ©äŒæå€±ãé²ãããšã Â â¢ è² è·ïŒæéã«å¿ããŠèªåã§å¢åŒ·/çž®éé転ã§ããããã«ããããš ãâ ã³ã¹ãæé©åã®ããã®å°å
¥ èŠããã«éèŠéã«å¿ããŠé転å¶åŸ¡ãããããšã§ã³ã¹ãåæžãè¡ãããšã 宿œããéã«èŠåŽããããš ïŒïŒ ã€ã³ã¹ã¿ã³ã¹ IDã IPã¢ãã¬ã¹ ãåžžã«å€ããåé¡ ãµãŒãã¹ãšããŠã¯AutoScalingã¯éåžžã«ããŸãã§ããŠããã®ã§ãããä»ãŸã§EC2ã§éçšããŠããã·ã¹ãã ããã®ãŸãŸAutoScalingã§éçšããããšãããšãããããéçšé¢ã§èŠåŽããããšããããŸãã ãã®äžã€ã IPã¢ãã¬ã¹ ãªã©ã ã€ã³ã¹ã¿ã³ã¹ æ
å ±ãã¹ã±ãŒãªã³ã°å®è¡éœåºŠã«ä»£ãã£ãŠããŸãåé¡ã§ãã  ããŸãŸã§åœç€Ÿã ãšã SSH ã§ãµãŒãã«ãã°ã€ã³ããéãZabbixãªã©ã®ç£èŠãšãŒãžã§ã³ããç£èŠãµãŒãã«ãã°ãéããšãã®ãã¹ãåã¯EC2 ã€ã³ã¹ã¿ã³ã¹ æ§ç¯åŸã«ç€Ÿå
ã® åœåèŠå ã«åŸãã Linux ã®ãã¹ãåããã³ç€Ÿå
DNS ( Active directory ïŒäžã«Aã¬ã³ãŒããšããŠç»é²ãããã®ååã§ SSH æ¥ç¶ãè¡ã£ãã管çãµãŒãã«ãã°éä¿¡ããéçšãããŠããŸããã  ä»åAuto Scalingã§EC2ã®é転ã管çããããšã«ãã£ãŠãäžèšã®éçšãã§ããªããªãããã¹ãåã§ SSH æ¥ç¶ãã§ããªããªããç£èŠã·ã¹ãã äžã§ã©ã® ã€ã³ã¹ã¿ã³ã¹ åã®ææ¡ãå°é£ã«ãªããªã©ã®åé¡ãããç·æ¥æã«åé¡ãçºçããŠãã ã€ã³ã¹ã¿ã³ã¹ ã®ç¹å®ãå°é£ã«ãªãã®ã§ã¯ãšããæžå¿µããããŸããã æ ¹æ¬ã®è©±ã ãšããããã SSH ã§Web ã€ã³ã¹ã¿ã³ã¹ ã«éœåºŠæ¥ç¶ããéçšèªäœã«åé¡ãããã®ã§ãããäžæ¹ã§ã¢ã¯ã»ã¹éäžã§Webããã»ã¹ãåºãŸã£ãéã«killããããã« SSH æ¥ç¶ãè¡ãå¿
èŠããããã®éã«æ¥ç¶å
ã®ç¹å®ã«æéåãã®ã¯ãªã¹ã¯ã§ãã察åŠãšããŠãèžã¿å°ãµãŒãäžã§ aws ec2 describe-instancesã³ãã³ããå®è¡ããŠãtagãš ã€ã³ã¹ã¿ã³ã¹ IDãšãã©ã€ããŒãIPã衚瀺ãã ã·ã§ã«ã¹ã¯ãªãã ãçšæãããã®ã·ã§ã«ã§æ¥ç¶å
IPãæ€çŽ¢ã§ããããã«ããŠèžã¿å°ãµãŒãäžã§æ¥ç¶å
ã® ã€ã³ã¹ã¿ã³ã¹ ã® IPã¢ãã¬ã¹ ãæ€çŽ¢ã§ããããã«ããä»çµã¿ãæºåãéçšã«åããŸããã  ïŒïŒå®ç°å¢äžã§å®éã®ãµãŒãå¢åŒ·/çž®éé転ã®ãã¹ããå®å
šã«è¡ãã®ãçµæ§æéãªåé¡ ããã¯çµæ§å°å³ã«å€§å€ãªè©±ãªã®ã§ããã éŸå€ ã調æŽããŠåŒ·å¶çã«ã¹ã±ãŒã«ã¢ãŠã/ã¹ã±ãŒã«ã€ã³ã§ããŠããæ¬åœã«è² è·ãéœåããããã£ãŠãããŠã¹ã±ãŒã«ã¢ãŠãããŠãããããšãããŸãçºçããªãã SHOPLISTã»ã©ã®èŠæš¡ã«ãªããšããã¹ãäžåé¡ãªãåäœããŠãç°¡åã«æ¬çªå°å
¥ããã¥ããã ãšããåé¡ã¯ãããå°å³ã«èŠåŽããŸããã é²ãæ¹ãšããŠã¯ã«ã¯ALBã®Target Group æ¯ã«ASGãæºåããŠããã®ã§ãè² è·å€åã®å°ãªãASGããé ã«å°å
¥ãã éŸå€ ã調æŽããŠã¹ã±ãŒã«ã¢ãŠã/ã¹ã±ãŒã«ã€ã³ãé »ç¹ã«çºçãããããªç¶æ³ãäœãã1ã«æã»ã©éçšãè¡ããéç¥å«ã¿åé¡ãç¡ãããšã確èªããŠããè² è·å€åã®å€§ããASGãå°å
¥ããŠãã圢ã§é²ããŠãããŸããã  ïŒïŒAuto Scalingã® SNS éç¥ãèªã¿ã¥ããåé¡ ãã¡ããå°å³ãªè©±ãªãã§ããã SNS ã®éç¥ã®å
容ãåããã¥ãã⊠ãšããããAuto Scalingã«é¢ä¿ãªããç£èŠç®çã§ SNS éç¥ã䜿ããšã ããããå
容ãåããã¥ãããçµéšåçã«ãããŒããã®éç¥ã ãšå€åãããªããšèµ·ãã£ãŠãïœãã¿ãããªæãã®å¯Ÿå¿ãããŠããŸãã ãŸããé 匵ãã°ã«ã¹ã¿ãã€ãºã§ããã®ãããããªãã®ã§ãããåªå
床ãšããŠã¯äœã話ãªã®ã§ä»ã¯é芳ããŠããŸãã 宿œããŠã¿ãŠ å°å
¥ãéå§ããŠçŽå幎ãã£ãŠããŸãããä»ã®ãšããåé¡ã®çºçã¯ãªãé 調ã«åäœããŠããŸãã ãŸããä»äœæããŠããã AWS AutoScaling ãšEC2ã®ã¹ããã ã€ã³ã¹ã¿ã³ã¹ ãçµã¿åãããŠWebãµãŒãã®ã³ã¹ãåæžãã話ãã§ãè§ŠããŸãããå€ååã® ã€ã³ã¹ã¿ã³ã¹ ã®èµ·åæéãçããã°å€ååã® ã€ã³ã¹ã¿ã³ã¹ ãã¹ããã ã€ã³ã¹ã¿ã³ã¹ ã§æ§æããã°Web ã€ã³ã¹ã¿ã³ã¹ ã®ã³ã¹ããšããŠã¯çŽ2ïœ3å²ã»ã©ã¯å®çžŸãšããŠã¯æžã£ãŠããã³ã¹ãé¢ã§ã®ã¡ãªããã¯ãããŸããã(åœç€Ÿã®å ŽåCompute Savings Plans ã§å
šé¡åæããã³äžéšåæã§è³Œå
¥ããŠãããããã³ã¹ãã®åæžå¹æãšããŠã¯å°å
¥çŽåŸã«ããã¯åºããå¥ç޿޿°æãšãªããŸããã) ä»åŸ AWS Auto Scalingãå°å
¥ããæ¹ãžã®ã¢ã ãã€ã¹ AWS Auto Scalingã¯çŽ æŽãããä»çµã¿ã§ã¯ãããã®ã®ãåœç€Ÿã®ããã«ãªã³ãã¬ããä»®æ³ãµãŒãã«ç§»è¡ãã圢㧠ã¯ã©ãŠã åããã·ã¹ãã ïŒç°¡åã«èšããšä»®æ³ãµãŒããšããŠEC2ã䜿ã£ãŠ ã¯ã©ãŠã ç§»è¡ãè¡ã£ãŠããã·ã¹ãã ïŒã®å Žåãã€ã³ãã©ã®éçšèšèšãç£èŠèšèšã ã€ã³ã¹ã¿ã³ã¹ åããã©ã€ããŒãIPãåºå®ã§éçšãããŠããã±ãŒã¹ãå€ãããªãã¬ãŒã·ã§ã³ã®èŠçŽããå«ããŠå®æœãæ€èšããŠã¿ãŠãã ããã  ãšããããšã§ãä»å㯠AWS Auto Scaling ã«ãã ã€ã³ã¹ã¿ã³ã¹ 管çã«åãæ¿ãã話ã«ã€ããŠæžããŠã¿ãŸããã æ¬¡åã¯ãç¶ç·šãšããŠã AWS AutoScaling ãšEC2ã®ã¹ããã ã€ã³ã¹ã¿ã³ã¹ ãçµã¿åãããŠWebãµãŒãã®ã³ã¹ãåæžãã話ãã«ã€ããŠæçš¿ããããšæããŸãã ------------------------------------------------------------------------------------------------- â»2020幎ã®å
容ãèšäºã«ããŠããã2020幎11æä»¥éPHP7ãµããŒãåããã¯ãããšãã èåŒ±æ§ ãªã¹ã¯ãžã®å¯ŸåŠã¯å®äºããŠãããŸãã