Merpay Advent Calendar 2019 ã® 13 æ¥ç®ã¯ãã¡ã«ãã¤ããã³ãã¨ã³ããã¼ã ã® @tanakaworld ããéããã¾ãã
ã¡ã«ãã¤ã®ç®¡çç»é¢ã¯ 2019 å¹´ 2 æã®ãµã¼ãã¹ãã¼ã³ãã«å ç«ã¡ã2018 å¹´ 11 æã«ãªãªã¼ã¹ããã¾ãããç§ã¯ 2018 å¹´ 8 æã«å ¥ç¤¾ãã¦ããä¸è²«ãã¦ç®¡çç»é¢éçºã«é¢ãããæ§ã ãªæ©è½éçºã»éç¨ãè¡ã£ã¦ãã¾ããããã®ä¸ã§ããã³ãã¨ã³ãã¨ã³ã¸ãã¢ã¨ãã¦é¢ãã£ãããã¤ãã®ããã¸ã§ã¯ããããã¯ã¢ãããã¦ãç´¹ä»ãã¾ãã
ç®æ¬¡
ã¯ããã«
ã¾ãã¯ããã«åæã¨ãªãã¡ã«ãã¤ã®ããã³ãã¨ã³ããã¼ã ã¨ç®¡çç»é¢ã®æ§æã«ã¤ãã¦è¿°ã¹ã¾ãã
ã¡ã«ãã¤ã®ããã³ãã¨ã³ããã¼ã
ã¡ã«ãã¤ã§å®ç¾ãããã¨ãã¦ãããã¨ã¯å¤å²ã«æ¸¡ãã¾ããããã¸ã§ã¯ãåä½ã§ãããã¦ãããããããã® Web éçºã«ããã³ãã¨ã³ããã¼ã ã§åãçµãã§ãã¾ããã¡ã«ãã¤ã®ã客ãã¾åããããã¯ããå çåºãã¾åãã社å ãªãã¬ã¼ã¿åãã¨ä½¿ç¨ããã¦ã¼ã¶ã¼ãæ§ã ã§ãã
ããã³ãã¨ã³ããã¼ã ã§ã¯ å çåºãã¾ã使ç¨ãã管çç»é¢ã®éçºãè¡ã£ã¦ãã¾ãããä»åã¯ç¤¾å ãªãã¬ã¼ã¿åãã®ç®¡çç»é¢ã«çµã£ã¦ã話ãã¾ãã
ã¡ã«ãã¤ã®ç¤¾å åã管çç»é¢
ã¡ã«ãã¤ã®ç¤¾å åã管çç»é¢ã«ã¯å¤§ããåé¡ããã¨ï¼ã¤ã®æ©è½ãããã¾ãã
- CSTool
- Customer Support Tool
- ã¡ã«ãã¤ããå©ç¨é ãã¦ããã客ãã¾ã管çããæ©è½
- MSTool
- Merchant Support Tool
- ã¡ã«ãã¤ãå©ç¨ã§ãããåºãå çåºãã¾ã管çããæ©è½
- ãã®ä»
- ãªãã¬ã¼ã¿ã®æ¨©é管çããæ©è½
ãããã社å ãªãã¬ã¼ã¿ã使ç¨ãã社å åãã®ç®¡çç»é¢ã§ãããªãªã¼ã¹å½åã¯ä¸ã¤ã® Nuxt ã¢ããªã±ã¼ã·ã§ã³ã§ããããç¾å¨ã¯æ©è½ãã¨ã«ãã¤ã¯ããµã¼ãã¹ããããã¦ãã¾ããï¼è©³ç´°ã¯å¾è¿°ãã¾ãï¼
Nginx ã Nuxt ã®å段ã«ããä¸è¬çãªæ§æã§ãGKE (Google Kubernates Engine) ä¸ã§ãã¹ãã£ã³ã°ããã¦ãã¾ããAPI Gateway ã¯ã¡ã«ãã¤å ã®å ¨ã¦ã®ãªã¯ã¨ã¹ããééãããã¤ã¯ããµã¼ãã¹ã§ãURL ãã¨ã«é©åãªãã¤ã¯ããµã¼ãã¹ã«ã«ã¼ãã£ã³ã°ãã¾ããCircleCI 㧠Nginx 㨠Node.js ã® Docker Image ããã«ãã㦠Docker Registry ã«ç»é²ãããã«ããã Hook ã㦠GKE ã«ãããã¤ãå®è¡ãããæµãã§ãã
ããã¸ã§ã¯ãã®æ¯ãè¿ã
ãã¦ãæ¬é¡ã®ããã¸ã§ã¯ããæ¯ãè¿ã£ã¦ã¿ã¾ãã
審æ»æ¥åå¹çåããã¸ã§ã¯ã
ã¡ã«ãã¤æ±ºæ¸ããåºã§ä½¿ããããã«ãªãã¾ã§ã«ã¯ã次ã®ããã¼ãè¸ãã§ãã¾ãã
- åºèãªã¼ãã¼ãã¾ã Web ããç³è¾¼ã
- ã¡ã«ãã¤ãç³ãè¾¼ã¿å 容ã審æ»ãã
- åºèãªã¼ãã¼ãã¾ã«å¯©æ»çµæãéç¥ãã
- åºèãªã¼ãã¼ãã¾ã«ã¹ã¿ã¼ãããããé éãã
ãã®å¯©æ»ã MSTool ä¸ã§å®æ½ãã¦ãã¾ããç³è¾¼ã¿å¾ãããéãã¡ã«ãã¤ã®å©ç¨ãéå§ããã ãããã¨ãç®æ¨ã«ãæ¥åå¹çåããã¸ã§ã¯ããçºè¶³ãã¾ãã次ã®ãã¨ã«åãçµã¿ã¾ããã
ã¡ã«ãã¤ç®¡çç»é¢ã®æ¬çªç°å¢ã¯ã»ãã¥ãªãã£è¦³ç¹ãããªãã¬ã¼ã¿æ¨©éãæã£ã¦ãã社å¡ããã¢ã¯ã»ã¹ã§ããªãä»çµã¿ã«ãªã£ã¦ãã¾ããç§ãå«ããããã¯ããã¼ã ã¡ã³ãã¼ã¯ã¢ã¯ã»ã¹ã§ããªãããããªãã¬ã¼ã·ã§ã³ãã¼ã ãæ ç¹ãç½®ãã¦ããç¦å²¡ãªãã£ã¹ã訪åãã¾ããã
UX Research ãã¼ã ã¨åæ¥ãã¦ã¦ã¼ã¶ã¼ããªãã£ãã¹ããè¡ããã¦ã¼ã¶ã¼ããªãã£ãå®éåããææ³ãã¨ã£ãã®ãæ°é®®ã§ããããç³è¾¼ã¿æ å ±ã®ãã§ãã¯ã»ãã¼ã¿å å·¥ã®èªååãUI/UX観ç¹ã®ã¢ããã¼ãã§å¹çåãå³ããæçµçã«ã¯å¯©æ»æéã®å¤§å¹ ãªç縮ã«ç¹ããã¾ããã
詳細ã¯ãã¡ãã«ã¾ã¨ã¾ã£ã¦ãã¾ãã
UX Research for Co-creation
ãã¤ã¯ããµã¼ãã¹åå²ããã¸ã§ã¯ã
ãªãªã¼ã¹å½åã管çç»é¢ãã¼ã ã¯ä¸ã¤ã®ãããã¯ããã¼ã ã§ä¸ã¤ã® Nuxt ã¢ããªã±ã¼ã·ã§ã³ãéç¨ãã¦ãã¾ããããããããæ¥ãåé¨éã§è¦æ¨¡ãæ¡å¤§ããããã®çµç¹å¤æ´ããããCSTool 㨠MSTool ã§ãã¼ã ãåããããã¨ã«ãªãã¾ããããããã¯ãããã¼ã¸ã£ã¼ã¨ãªãã¬ã¼ã·ã§ã³ãã¼ã ã¯å¥ã ã®ãã¼ã ã«ãªã£ãä¸æ¹ããã¶ã¤ãã¼ã»ããã³ãã¨ã³ãã¨ã³ã¸ãã¢ã»ããã¯ã¨ã³ãã¨ã³ã¸ãã¢ã»QA ã¨ã³ã¸ãã¢ã¯ä¸¡ãã¼ã ã«æ¨ªæçã«é¢ããã¨ããç¶æ³ã§ãããã®çµæãæ§ã ãªèª²é¡ãçã¾ãã¾ããã
課é¡æ
- Git ãã©ã³ãã®æ··æ¦ãã³ã³ããªã¯ã
- ã³ãã¥ãã±ã¼ã·ã§ã³ã³ã¹ãã®å¢å¤§
- ãªãªã¼ã¹åæ°ã®å¢å
- QA ã³ã¹ãã®å¢å¤§
ä¸ã¤ã®ã¢ããªã±ã¼ã·ã§ã³ãè¤æ°ãã¼ã ãå ±æããç¶æ³ã«ãªãã¾ãããè¤æ°æ©è½ã®éçºã並è¡ãã¦é²è¡ã feature ãã©ã³ããæ··å¨ãã¤ãªãªã¼ã¹ææãè¦ããªãããªãªã¼ã¹ããã¾ã§ãã¼ã¸ããªãã¨ãªãã¨ã³ã³ããªã¯ãã¯é¿ããããªãããããã¼ã¸ã¯ããããã®æ©è½ããã©ã°ã§é ãã¨ãããããªéç¨ãå¼·ãããã¦ãã¾ããããã®ä»ãé±ï¼ã»ï¼åã®ãªãªã¼ã¹ãæ¯é±ç¶ããQA ã³ã¹ãã®å¢å¤§ãã¹ã±ã¸ã¥ã¼ã«èª¿æ´ã«æéãåããããªã©ã®åé¡ãçºçãã¦ãã¾ããã
åå²ã®æ¹é
ãã®ãããªç¶æ³ãå¤ããããã«ãç¬ç«ããéçºã¨ãªãªã¼ã¹ãè¡ãããã¨ãç®æ¨ã¨ãã¦ãåå²ããã¸ã§ã¯ããçºè¶³ãã¾ãããã¡ããã©è¿ãææã«ã¡ã«ãã¤å ¨ä½ã§æè¡çè² åµã®è¿æ¸ããã¼ãã«æ²ããããã®ãå¾æ¼ãããåå²ã«è¸ã¿åããã¨ãã§ãã¾ããããªãã¡ã¯ã¿ãªã³ã°ãã¢ã¼ããã¯ãã£ã®å¤æ´ã¯ããããã¨æãã°ãããã§ãã§ãã¦ãã¾ãã®ã§æéã¨å¶ç´ãè¨ãã¦ãããã 対å¿ãããã¨ããæ¹éã«ãã¾ããã
- 対å¿æéã¯2ã¶æ
- ãã¶ã¤ã³ã¯å ±é
- é ä¿¡ãã¡ã¤ã³ã¯å ±é
- GCP Project ã¯å ±é
åå²å¾ã®ã¢ã¼ããã¯ãã£
åå²ã®è©³ç´°ã¯ãã¡ãã«ã¾ã¨ãã¦ãã¾ãã
Nuxt ãã¤ã¯ããµã¼ãã¹ã 3ã¤ã«åå²ãã話
çµç¹æ§é ã»æ©è½ã«å¿ãã¦ãã¤ã¯ããµã¼ãã¹åå²ãããã¨ã«ãããå è¿°ã®èª²é¡ã¯è§£æ¶ããã¾ãããé ä¿¡ç°å¢ã® Node.js 㨠Nginx ãåãããããããç¬ç«ãããããã¤ãå¯è½ã«ãªãã¾ããããªã¯ã¨ã¹ããã¹ã«å¿ãã¦ã«ã¼ãã£ã³ã°å ãåãæ¿ããæ§æã«ãªã£ã¦ãããæ°ãããã¤ã¯ããµã¼ãã¹ãå¢ãã¦ã対å¿ã§ããããã«ãã¦ãã¾ããç¾å¨ã¯ 4 ã¤ç®ã® Nuxt ãã¤ã¯ããµã¼ãã¹ãéçºããå§ãã¦ãã¾ãã
Component v2.0 ãªãã¥ã¼ã¢ã«ããã¸ã§ã¯ã
ãã¤ã¯ããµã¼ãã¹ã®åå²åã«äºããUI ã³ã³ãã¼ãã³ããå ±éããã±ã¼ã¸ã¨ãã¦åãåºãã¦ãã¾ããã
ãã® UI ã³ã³ãã¼ãã³ãã v1.0 ã¨ãã¦ãv2.0 ã«ãªãã¥ã¼ã¢ã«ããããã¸ã§ã¯ããé²è¡ãã¦ãã¾ãã
課é¡æ
ãªãªã¼ã¹ãã¦ããåå¹´ã»ã©çµéããããããããªãã¬ã¼ã·ã§ã³ã®ä¸ã§ç®¡çç»é¢ã®ä½¿ããæ¹ãä¸ä¾¿ãªç®æãããã課é¡ãæ確ã«ãªã£ã¦ãã¾ãããã¾ãã¯ãã¶ã¤ãã¼ä¸»å°ã§èª²é¡ãæ´çãã¾ããã
- ã·ã³ã¯ã©ã¤ã¢ã³ãã§æä½ãã¦ãã (ã¢ã¯ã»ã¹ã§ãã端æ«ãã¢ããªã±ã¼ã·ã§ã³ãã¦ã§ããµã¤ããå¶éããã¦ããç°å¢)
- å¤ãã®ç´°ããæ å ±ãåç §ãã
- éè¦åº¦ã®é«ãæä½ãå®è¡ãã
- åãåãããåãã¦ãæ¥ãã§è¡åããªããã°ãããªãã¨ãããã
- æ å ±ã®ç¾ åãè¦ç¶ãã
- éè¦ãã¤éä¸åãè¦ããã¢ã¯ã·ã§ã³ãå¤ã
ãã¶ã¤ã³ããªã·ã¼
æçµçã«ããªãã¬ã¼ã·ã§ã³ãéçºã³ã¹ããæå°åãããã¨ã¨ãã¦ã¼ã¶ããªãã£è¯ãããããã«ãã³ã³ãã¼ãã³ããªãã¥ã¼ã¢ã«ã課é¡è§£æ±ºã®æã¡æã¨ãã¦å®æ½ããéã³ã¨ãªãã¾ããã次ã®ããªã·ã¼ã§ãªãã¥ã¼ã¢ã«ãé²ãã¦ãã¾ãã
- ãã¶ã¤ã³ãä¸è²«ãã¦ãã
- æ¡å¼µæ§ãé«ã
- ãã¼ããçµã¿åããã¦ä½¿ç¨ã§ãã
- é ç®ãå¢ããã¦ããå ¨ä½æãå´©ãã«ãã
- é«ãæä½æ§ãä¿ã¦ã
- é¨åãåãã§é ç½®ã«ã¼ã«ã決ã¾ã£ã¦ããã¨ã使ã人ãè¿·ããªã
- ãã¼ãã¼ãæä½ãã¯ããã¨ããã¢ã¯ã»ã·ããªãã£ã«é æ ®ãã
- éçºãããã
- ãã¶ã¤ã³ãããã¶ã¤ãã¼ä»¥å¤ã使ããã®ã§ãã¶ã¤ã³ãã¼ã¿ãå±äººåãã¥ãã
- å®è£ ããã¨ã³ã¸ãã¢ä»¥å¤ã使ããã®ã§ã³ã¼ããç ©éã«ãªãã¥ãã
- ã¹ãã¼ãã£ã«æ©è½è¿½å ã§ãã
- æ°ããæ©è½ãæ°ããç»é¢ãã¤ããã¨ãããã§ã«ããé¨åãåå©ç¨ã§ãã
- ãã¶ã¤ãã¼ãããªãã¦ããå質ãä¿ã¡ããã
- å®è£ ãéã
éçºããã¼
UI ã³ã³ãã¼ãã³ãã管çãã¦ãããªãã¸ããªã«ã«ã¿ãã°ã¢ããªã±ã¼ã·ã§ã³ãå梱ããå®åä½ã確èªã§ããããã«ãã¦ãã¾ãããªãã¸ããªã®ãã©ã³ãæ¯ã«ãã«ãããã社å S3 ã«èªåãããã¤ãããããã«ãªã£ã¦ãã¾ãããããã¤ãããã«ã¿ãã°ã¯ç¤¾å ã®èª°ã§ãé²è¦§ã§ããããã«ãªã£ã¦ããããã®ã«ã¿ãã°ãä¸å¿ã«ãã¶ã¤ãã¼ã¨åæ¥ããªããéçºãé²ãã¦ãã¾ãã
å¹´å ã«ã¯ä¸é¨ã®ç®¡çç»é¢ã§ Component v2.0 ã稼åããäºå®ã§ãã
社å åã管çç»é¢ã§ä»å¾æ³¨åããããã¨
æå¾ã«ãä»å¾æ³¨åãã¦ããããããã¨ãã¾ã¨ãã¾ãã
ãªãã¬ã¼ã·ã§ã³ã®å¹çå
ãªãã¬ã¼ã·ã§ã³ã®å¹çåããã¡ã«ãã¤ã®å çåºãã¾ãã客ãã¾ã®ä½é¨åä¸ã«å¯ä¸ããã¨æã£ã¦ãã¾ããã¾ã ã¾ã æ¹åã®ä½å°ãããã¾ããå è¿°ã®å¯©æ»æ¥åå¹çåã®ä»ã«ãããããã¯ãããã¤ã¯ããµã¼ãã¹ã横æããå¹çåããã¸ã§ã¯ããçºè¶³ãã¦ãã¾ããç´è¿ã¯ãªãã¬ã¼ã·ã§ã³ä¸ã®æä½æ¥ãã·ã¹ãã åãããã¨ã«åãçµã¿ããã¨æã£ã¦ãã¾ãã
E2E Testing / Visual Regression Testing
ã¡ã«ã㤠QA ãã¼ã ã¨é£æºãã¦ãããã¥ã¢ã«ãã¹ãã®èªååãé²ãã¦ã¦ãã¾ããç¾å¨ã¯ Cypress ç¨ããèªååã«çæãã¦ããã¨ããã§ãããã®ä»ãã³ã³ãã¼ãã³ãã©ã¤ãã©ãªã® VRT ãã¹ããæ¤è¨ãã¦ãã¾ãã
Developer Experience ã®åä¸
å è¿°ã® Component 2.0 ãªãã¥ã¼ã¢ã«ããã¸ã§ã¯ããå§ãã¨ããã³ã³ãã¼ãã³ãã©ã¤ãã©ãªéçºããã¼ã«ãã§ã¤ã³éçºãªã©ãéçºå¹çãä¸ããããã®åãçµã¿ããã¦ããããã¨æã£ã¦ãã¾ããã¡ã«ãã¤ããã³ãã¨ã³ãã§ã¯åºæ¬çã« Nuxt + TypeScript ãç¨ããããã¸ã§ã¯ãæ§æã§çµ±ä¸ãã¦ãããæ¥ã ææ°ãã¼ã¸ã§ã³ã¸ã®è¿½å¾ãè¡ã£ã¦ãã¾ããVue.js 3.0 ããªãªã¼ã¹ãããéã«ã¯ãã¤ã°ã¬ã¼ã·ã§ã³ãè¨ç»ãã¦ãã¾ãã
ã¡ã«ãã¤ã§ã¯ããã·ã§ã³ã»ããªã¥ã¼ã«å ±æã§ãã Frontend ã¨ã³ã¸ãã¢ãåéãã¦ãã¾ããä¸ç·ã«åãã仲éããå¾ ã¡ãã¦ããã¾ãã
Software Engineer, Frontend [Merpay]
ææ¥ã® Merpay Advent Calendar å·çæ å½ã¯ã SRE ã® @T-sato ããã§ããå¼ãç¶ãã楽ãã¿ãã ããã