æ¬è¨äºã¯ LayerX Tech Advent Calender 2022ã®12/23æ¥åã®è¨äºã§ãã
èªå·±ç´¹ä»
LayerXãFintechäºæ¥é¨ã§ã¨ã³ã¸ãã¢ãªã³ã°ããã¼ã¸ã£ã¼ããã¦ãã¾ããããã¡ã ã¼ ( @takochuu )ã§ãã åè·å«ãã¦toCéçºã®çµé¨ãè±å¯ã§ãéå»5å¹´ã»ã©EMããã¦ãã¾ããã çµæ´ã¯ãã¡ã
ç¾å¨ã¯ãä¸äºç©ç£ãã¸ã¿ã«ã»ã¢ã»ããããã¸ã¡ã³ãã«åºåãã¦ã10ã¶æã»ã©å人åãæè³ãµã¼ãã¹ã§ããALTERNA(ãªã«ã¿ã)ã®æ°è¦éçºã«é¢ãã£ã¦ãã¾ãã
MDMã«ã¤ãã¦
ä¸äºç©ç£ãã¸ã¿ã«ã»ã¢ã»ããããã¸ã¡ã³ã(以ä¸ãMDM)ã«ã¤ãã¦ã¯ä»¥ä¸ã®è¨äºé¡ã詳ããã®ã§ãã覧ã«ãªã£ã¦ã¿ã¦ãã ããã
ãããªMDMãä¸è¨ã§è¡¨ãã¨ããã¹ã¿ã¼ãã¢ããã»ã¨ã³ã¸ãã¢ã«ã«ãã£ã¼ã«ä¸äºç©ç£ã»éèåå¼æ¥è ã®ã¨ãã»ã³ã¹ã足ããéèãµã¼ãã¹ãä½ã£ã¦ããä¼ç¤¾ãã§ãã
社é·ã®ä¸éããã¯ä¸äºç©ç£ã§æ°ã ã®ä¼ç¤¾çµå¶ãå®è·µããã¦ããæ¹ã§ããããè½åãã人ãè£éãæã£ã¦èªç±ã«æ´»èºã§ããä¼ç¤¾ãã¨ããã®ã常æ¥é ä»°ã£ã¦ãããå®éãã©ãããªçµç¹ã»ã³ãã¥ãã±ã¼ã·ã§ã³ã§ä»äºãã§ãã¦ãã¾ãã
è¨ç«çµç·¯ãæãã«ã¤ãã¦ã¯ä»¥ä¸ãã覧ãã ããã
オープンイノベーションは“地道”の積み重ねだ。LayerXと三井物産から学ぶ、JV立ち上げの秘訣【連載 イノベーション・メカニズム】| FastGrow
æ¬è¨äºã§ã¯ãããªMDMãæ°è¦ãããã¯ãã¨ãã¦åãçµãã§ããALTERNA(ãªã«ã¿ã)ã§è¡ã£ã¦ããåãçµã¿ããç´¹ä»ãã¾ãã
ALTERNAã¨ã¯
ä¸å ´æ ªå¼ã«æ¯ã¹ã¦ä¾¡æ ¼å¤åãã«ãããæ¢ã«å®å®ç¨¼åãã¦ããä¸åç£ãã¤ã³ãã©ãªã©ã«å¯¾ãã¦æè³ãè¡ããã¨ãã§ãããã©ãããã©ã¼ã ãµã¼ãã¹ã§ãã
STOï¼ã»ãã¥ãªãã£ã¼ã»ãã¼ã¯ã³ã»ãªãã¡ãªã³ã°ï¼ã¨ããä»çµã¿ãå©ç¨ãããã¸ã¿ã«è¨¼å¸ãããåãããæè³ãè¡ããã¨ãã§ãã¾ãã
äºæ¥ã®ä¸ç¢ºå®æ§ã«å¯¾ãã¦ã®æè¡é¸å®åºæº
æã Fintechäºæ¥é¨ã®ã¡ã³ãã¼ã¯ãéåæ¥è ãã§ããMDMã§å¤åãã¦ãããããéèåååå¼æ³ãã§å®ãããã¦ããå 容ãé©åã«å®ãã¨å ±ã«ãåé¢é£å£ä½ãå®ããåºæºãæºããããããã¯ããéçºããå¿ è¦ãããã¾ãã
詳ããå 容ã«ã¤ãã¦ã¯ãã¼ã ã¡ã³ãã¼ã®etaroããã®è¨äºãã覧ãã ããã
ã§ããããããã¯ãéçºãã¼ã ã¡ã³ãã¼ã¯éåæ¥è ã®ã¨ã³ã¸ãã¢ãªã³ã°é¨éåºèº«ã§ã¯ãªããããå½åããè¦ä»¶ãå ¨ã¦æ確ã«ãããã¨ã¯é£ãããé½åº¦ä¸æçã»ä¸ç¢ºå®ãªäºæ¥è¦ä»¶ãæ確ã«ãã¤ã¤éçºããå¿ è¦ããããé½åº¦ã®å¤æ´ã«èããã¢ã¸ãªãã£ã»éçºå¹çã®é«ãã·ã¹ãã ãæ§ç¯ããå¿ è¦ãããã¾ããã
ã¾ããå½åã®è¨ç»ã§ã¯å®è£ çæãã8ã¶æã»ã©ã§å ¨ã¦ã®ã·ã¹ãã ãç¨æãããã¼ã³ãããäºå®ã ã£ãã®ã§ãªããã管çã³ã¹ããæããããªãã¨ããçç±ã§ã社ä¼çã«ãç¥è¦ãååã«æºã¾ã£ã¦ããã調æ»ãããåé¡ãæ©æã«è§£æ±ºã§ããã§ãããæè¡ã¹ã¿ãã¯ã§éçºãããã¨ã«ãã¾ããã
ããã¯ã¨ã³ã: Go
ããã³ãã¨ã³ã: TypeScript / React / Next.js
ãã¼ã æ§æ
PdM: 2å / ãã¶ã¤ãã¼: 1å / ã¨ã³ã¸ãã¢: 6åã®ãã¼ã ã§éçºãã¦ãããã»ã¼å ¨å¡ã®ã¨ã³ã¸ãã¢ãããã³ãã¨ã³ãã»ããã¯ã¨ã³ãã»ã¤ã³ãã©ã触ããã¨ãã§ããã¨ãããã«ã¹ã¿ãã¯ãªãã¼ã ã«ãªã£ã¦ãããXXããã¯ããã³ãã¨ã³ãã¨ãã£ãå½¹å²ãåºå®ããã«éçºãè¡ã£ã¦ãã¾ãã
ãã®ãããªä½å¶ãåããã¨ã§ãæ©è½åä½ã®å®è£ ã«ããã¦ä»ã®äººã«å®è£ ããã¹ããå¿ è¦ããªããã³ãã¥ãã±ã¼ã·ã§ã³ã³ã¹ãã®åæ¸ã«ãªã£ã¦ãã¾ãã
ãªãã¸ããªæ§æ
以åéçºãã¦ããæ³äººæè³å®¶åãã®ãããã¯ãã§ã¯ããã³ãã¨ã³ãã»ã¦ã¼ã¶ã¼åãããã¯ã¨ã³ã(以ä¸fs)ã»ç®¡çç»é¢ããã¯ã¨ã³ã(以ä¸bs)ã®ãªãã¸ããªãåå²ããã¦ãã¾ããã
ããã«ãããã©ã³ãã®switchããã¯ãã¾ããéçºå¹çãè½ã¡ã¦ããã¨æãã¦ãã¾ãããã¾ããåãGoã§ã®éçºã®ã¯ããªã®ã«ä¼¼ããããªã³ã¼ãããå¥ã®ãªãã¸ããªã«åå®è£ ããæéãããã¾ããã
ä»åã¯ã¹ãã¼ããåºãã¦éçºãããã¨ãç®çã«ããã³ãã¨ã³ãã»ããã¯ã¨ã³ããä¸ã¤ã®ãªãã¸ããªå ã«é ç½®ãã¦ãããåã /go /typescriptãåã ã®ã«ã¼ããã£ã¬ã¯ããªã«ãªãã¾ãã
. âââ go â  âââ bs â  âââ common â  âââ fs â  âââ model â  âââ repository âââ infra âââ sql â  âââ migrations âââ typescript âââ bs âââ fs
çµæçã«typescriptå´ã§ã¯fs(ã¦ã¼ã¶ã¼åãç»é¢)ã¨bs(管çç»é¢)ã§è¨èªå ã§ã®åå©ç¨æ§ãå¿ è¦ãªãã£ãã®ã§ãããç¹ã«Goã«ããã¦ã¯model repositoryçã®fsãããbsãããå¼ã°ããã³ã¼ãã®åå©ç¨æ§ãä¸ãããã¨ãã§ãã¦ãã¾ãã
ãã®ä»ã«ãã以ä¸ã®ãããªã¡ãªããã享åãããã¨ãã§ããæ¯è¼çæ©ã¾ãã«éçºãé²ãããã¨ãã§ãã¦ãã¾ãã
- ä¼¼ããããªã³ã¼ãã®åå®è£ ãé¿ãããã¨ãã§ããè¨èªå ã§ã³ã¼ãã®åå©ç¨æ§ãé«ã
- ã»ããã¢ããã®å¹çå
- ããã³ãã¨ã³ããããã¯ã¨ã³ãéããéçºæã®å¿«é©æ§ã®åä¸
- Pull Requestãåå²ãããªãããã¬ãã¥ã¼ã§ä¸è²«ãã¦ç¢ºèªãå¯è½
管çç»é¢ã®è¤éã
ãããã¯ãéçºãããä¸ã§ãå¿ ãã¨è¨ã£ã¦ããã»ã©ã¤ãã¾ã¨ãã®ãã管çç»é¢éçº(以ä¸bséçº)ãã§ãã
bséçºã¯fséçºã¨æ¯è¼ããã¨ãä¸åº¦éç¨ãéå§ãããã¨è¿½å æ©è½ããªãéãã¯ã¦ã¼ã¶ã¼åãç»é¢ã®éçºãåªå ããããã¾ãã¡ã³ããããªãå¾åã以åå¤ãã¦ããä¼ç¤¾ã§ã¯ããã¾ããã
ãã®ä»ã«ããã¡ã³ããããªããã¨ã«ãã£ã¦è¨èªã»ã©ã¤ãã©ãªã®ãã¼ã¸ã§ã³ã¢ããã«è¿½å¾ã§ãããã»ãã¥ãªãã£ãã¼ã«ãæ±ãã¦ãã¾ã£ãããå¤ãã®ã¨ã³ã¸ãã¢ã®æ©ã¿ã®ç¨®ã§ã¯ãªããã¨æãã¾ãã
æè³ãµã¼ãã¹ã¨ããç¹æ§ä¸ãä¸è¬çãªãããã¯ãéç¨ã§å¿ è¦ãªæ©è½ã ãã§ã¯ãªããåºå審æ»ãã¨ãã£ãç³è«ã»æ¿èªãªã©ã®ããã¼ãå¿ è¦ã§ãããªã©ãèæ ®ããªããã°ãããªãç¹ã¯ãããã¯ãéç¨ä»¥å¤ã«ãåå¨ãã¾ãã
ãããã®ä¸ã§ãç¹ã«ãæ¡ä»¶æ²è¼å¯¾å¿ãã¯æ¡ä»¶ã®è¦ãæ¹ã決ã¾ããªãã¨ç»é¢è¨è¨ã決ã¾ããªãã¨ããç¹æ§ãæã£ã¦ãããé常ã«bså´ã®UIã®æ§ç¯ãé£ããé åã§ããæ´ã«è¦ä»¶ãå¤æ´ãããä¿®æ£ãããå ´åã¯APIãUIãç´ããªããã°ãªããªãã¨ããã®ãé常ã«è¾ãã£ãæãåºãããã¾ããã
å®éã«æ³äººæè³å®¶åãã®ãããã¯ãã§ã¯ãããã®ç»é¢ãå ¨ã¦èªåã§å®è£ ãã¦ããã®ã§ããã決ç®æãæ¥ãã¨æ å½ã®PdMãæ³£ããªããå ¥ç¨¿ä½æ¥ãããã¨ãã£ãææ§ã§ãåãè½ã¯çµ¶å¯¾ã«è¸ã¾ãªãããã«ãããã£ãé¨åã§ãã
ããã§ãã¼ã ã¨ãã¦ã¯ãè¦ãæ¹ãä¸å®ã§ããå 容ã«ã¤ãã¦æ£è¦åãããã¼ã¿ã¨ãã¦æããªãããå ¥ç¨¿ä½æ¥ã»æ´æ°ä½æ¥ãã¨ã«ãã楽ã«ãããã¨ããã³ã³ã»ããã§ã©ãã«ããã¦å®è£ ã¬ã¹ã§ç®¡çç»é¢ãæ§ç¯ããæ¹æ³ãæ¢ãã¦ãã¾ããã
ããã§è¦ã¤ããã®ãBaseMachinaã¨ãããµã¼ãã¹ã§ãã about.basemachina.com
å°ããã¡ãã®ãµã¼ãã¹ã®ç´¹ä»ãããã¦é ãã¾ãã¨ãå ã®ãªã³ã¯ã®LPã«ãããéãã管çç»é¢ãæ°åã§ãä½ãããµã¼ãã¹ãªã®ã§ãããä½ãæã ã®ãã¼ã ã®è¦ä»¶ã¨åè´ãããã¨ããã¨ã以ä¸ãã¤ã³ãã«ãªãã¾ãã
- ãã¼ã¿ã½ã¼ã¹ã¨ãã¦ãDBã ãã§ã¯ãªãAPI endpointã¸ã®æ¥ç¶ãã§ãã(REST/GraphQL/gRPC対å¿)
- ç³è«ã»æ¿èªããã¼ãå®è£ ããã¦ãã管ç権éãåå²ãããã¨ãã§ãã
- æä½ãã°ãæ®ãã誰ãä½ã®æä½ãããã®ãããã¯ãã©ãã¯ãããã¨ãã§ãã
ãããã®ãã¤ã³ãããBaseMachinaãæ¡ç¨ããAPIã ãç¨æãããã¨ã§ãããã¯ãéç¨ã«å¿ è¦ãªUIå®è£ ã¨ãCSæ å½è ã使ç¨ããã¦ã¼ã¶ã¼ç®¡çç³»ã®UIå®è£ ãå ¨ã¦æ¨ã¦å»ããã¨ãã§ãã¾ããã(æé«ï¼)
ç¡é§ãªãã®ãä½ããªã
LayerXã«ã¯ãçééçºãã¨ããæåãããã¾ãã ããã¯ä»¥ä¸ã®ã¹ã©ã¤ãã«è©³ããã®ã§ããããã®æåã¯Fintechäºæ¥é¨ã§ãå±è¡ããã¦ãããç¹ã«ã使ãããªããã®ãä½ããªããã¨ãããã¨ã«ã¯æèãã¦ãã ãã£ã¦ãã¦ãã¾ãã
Fintechäºæ¥é¨ã«ãããã使ãããªããã®ãä½ããªããã¨ããã®ã¯ã¤ã¾ããåå ¸ããã£ããç解ãããã¨ãããã¨ã§ãã
ãã®å ·ä½ã¨ãã¦ã®è¡åã¯ãæ確ãªåºæºãåå¨ããªãã¬ã¤ãã©ã¤ã³ãèªã¿è§£ãç解ããä¸ã§ä»æ§ãæ å½é¨ç½²å«ãã¦ä¸»ä½çã«ãããã¯ããã¼ã ãæ´çããã¨ãã£ãè¡åã«ããããã¦ãããä¸å®ã ããä½ã£ã¦ããããã§ã¯ãªããä¸å®ãªãã°èª¿ã¹ã¦å¯¾å¦ããããã¨ããè¡åæ§å¼ã§ä»äºããã¦ãã¾ãã
ä¾ãã°FISC(éèæ å ±ã·ã¹ãã ã»ã³ã¿ã¼)ãåè¡ãã¦ãããéèæ©é¢çã³ã³ãã¥ã¼ã¿ã·ã¹ãã ã®å®å ¨å¯¾çåºæºã»è§£èª¬æ¸ããèªã¿ãå®è£ ãè¡ããã¨ããå人æ å ±ä¿è·æ³ã®éµå®ãªã©ãããã«å½ããã¾ãã
ä¸è¦å°å³ã«è¦ãã¾ãããã·ã¹ãã ãéç¨ããã ãã§ã¯ãªãè¨é²ã®ä¿ç®¡ç¾©åãªã©ãåå¨ãã¦ããæã ã®ãããã¯ãã¨ãã¦ã¯ãã¹ããªè¡åã ã¨èãã¦ãã¾ãã
ä¸è¨ã®è¡åãPdMã ããå®æ½ãã¦ããããã§ã¯ãªãBe Animalã«ãããã¯ããã¼ã å ¨ä½ã§å®æ½ã§ãã¦ããã¨ããããã¼ã ã®å¼·ã¿ã§ãã
ãããã«
æã ãç¾å¨éæéçºä¸ã®ãã¸ã¿ã«è¨¼å¸ã§è³ç£éç¨ãã§ããå人åããµã¼ãã¹ãALTERNAï¼ãªã«ã¿ãï¼ãã¯è¿æ¥ãªãªã¼ã¹äºå®ã§ãã
ç¾å¨ããªãªã¼ã¹ã«å é§ã㦠äºåç»é²åä»ä¸ ãªã®ã§æ¯é以ä¸ã®Linkã¾ãã¯QRã³ã¼ããããç»é²ããé¡ããã¾ãï¼
å ±ã«åã仲éãåéä¸ï¼
AMã»è¨¼å¸ä¼ç¤¾ã®éèã·ã¹ãã ãåµæ工夫ãããªããä½ã£ã¦ãã ã®ã«èå³ãããæ¹ãåéä¸ã§ãã®ã§ãå°ãã§ãèå³ãæã£ã¦ããã ããæ¹ããã¾ããããæ¯é以ä¸ãããé£çµ¡ä¸ããï¼