- ä½è : Ben Rady,åç°çå¾,笹äºå´å¸
- åºç社/ã¡ã¼ã«ã¼: ãªã©ã¤ãªã¼ã¸ã£ãã³
- çºå£²æ¥: 2017/06/23
- ã¡ãã£ã¢: åè¡æ¬ï¼ã½ããã«ãã¼ï¼
- ãã®ååãå«ãããã° (1件) ãè¦ã
ãã¡ãã2017/06/23(Fri) çºå£²äºå®ã§ãããçºå£²åã«ç®æ¬ãããã ãã¾ããã¼ã
ç®æ¬å±ãã¾ããã¼ï¼ï¼@yoshidashingo ããããããã¨ããããã¾ãï¼ï¼ pic.twitter.com/uoZeLprv2K
— Yoshitaka Fujii (@yoshiyoshifujii) 2017å¹´6æ19æ¥
ã®ã§ãæ©éãéèª?ã§æèªãã¾ããã®ã§ãããã£ã¨ææãæ¸ããã¦ããã ãã¾ãã
ã¯ããã«
ãã£ãã¼ãã½ããã¦ã§ã¢ã«ããããã®ã¥ããã«ããã¦ãéè¦ãªæ¦å¿µãæéã示ããã¦ããã èè ã®ãã ãããå¼·ãè¿°ã¹ããã¦ããæ§åã§ã¯ããã¾ãããæ¦ãåæã®å 容ã§ãã
ç¹ã«æããã¨ã Webæ¨æºã¨ãªãã¿ã®ãã¼ã«ã使ã ã¨ãã£ãã¨ããã§ã¯ãAngularãReactã®ãããªSPAæ§ç¯ã«è¯ããã¼ã«ãæ´»ç¨ããã®ããæãã¨æããªããããã·ã³ãã«ã«ç©äºãã¯ãããã®ã§ããã°ã使ãæ £ããæ¨æºçãªãã¼ã«ãã¾ããé¸æããããã¨ã®ãã¨ã§ãã
ããã¯ã Yak Shavingãé¿ãã æå³åãã§ãè¿°ã¹ããã¦ãããããããã¨ã«å¯¾ãã¦ããã®æ段ãæ·±ãæãé²ããããã¨ãæ°ã¥ãã°ãã¤ã¯ã®æ¯åããèªãè¡ãã¨ãããå½åã®ç®çã¨ã¯å¤§ããããã¯ãªããäºè±¡ã«åããã¦ãã¾ããã¨ãããã¨ãè¿°ã¹ã¦ãããã¾ãã
ããã¯ããããã ãªã¼ã¨æãã¾ãã ããæ°äºº?ãçµé¨ã®æµ ããå¹çã®è¯ããªãæ¹ããã¡ãããã¡ã§ãããç人ãçç·´ã®ããã°ã©ãã¼ã§ããå¦ã«ãã ãã£ãããã¦ããã¾ã«é¥ããã¡ãªç½ ã ã¨æãã¾ãã å¨ããè¦ããªããªã£ã¦ã¨ãã¨ãæ段ã追æ±ããç®çã¸ã®ã¢ããã¼ããé åããã¦ãã¾ãããããã£ããããã«æ³¨æåèµ·ãã¤ã¤ãæ¬æ¸ãèªãå¿ãã¾ãã説ãã¦ãããã¾ãã
ã¾ãã TDD(ãã¹ãé§åéçº) ã«ã¤ãã¦ãç´¹ä»ããã¦ãããå®è·µçãªéçºææ³ã«ãè¨åããã¦ãããããããã®å ãèªãã°å®è·µã«å½¹ç«ã¤å 容ãæ¸ããã¦ããã§ãããæå¾ ãæã¡ã¾ããã
1ç« ã·ã³ãã«ã«ã¯ããã
ãµã¼ãã¬ã¹ã¢ããªã±ã¼ã·ã§ã³ã«ã¤ãã¦ãã©ããã£ããã®ã§ãç¹å¾´ããããå¶éããªã«ãããã¡ãã¨ç¶²ç¾ ãã¦èª¬æããããã¨ãã·ã³ãã«ã«ã¯ãããæ¹æ³ã«ã¤ãã¦ãããªã詳ããæ¸ããã¦ã¾ãã
ãã¼ã«ã«ã§ã®åä½æ¤è¨¼ã®å ·ä½çãªãã¼ã«ãææ³ãæé ãã¾ããã¦è§£èª¬ãã¦ãããDeployå ã¨ãã¦ã®S3ã®æ§ç¯æé ãããããç´¹ä»ããã¦ãã¾ãã ãã®ç« ãèªãã°ãæ¬å½ã«ã·ã³ãã«ã«ã¯ãããããã¨æãã¾ãã
ãã£ã³ãã¹çãªç°å¢ãæ§ç¯ãã¦ããã®ããã§ããã°ã©ã ãå®ç¾ãã¦ããã¨ããæµããã§ãã¾ãã ããªãä¸å¯§ã§åãããããã
2ç« ããã·ã¥ã¤ãã³ãã«ãããã¥ã¼ã®ã«ã¼ãã£ã³ã°ã 3ç« ã·ã³ã°ã«ãã¼ã¸ã¢ããªã±ã¼ã·ã§ã³ã«å¿ è¦ãªãã®
2, 3ç« ã§ã¯ã ã·ã³ã°ã«ãã¼ã¸ã¢ããªã±ã¼ã·ã§ã³ ã®å ·ä½çãªã³ã¼ãã£ã³ã°æ¹æ³ããã«ã¼ãã£ã³ã°ã®ä»çµã¿ããã¼ã¿æ§é ã®ä¿æããã¤ã³ãã£ã³ã°ãå ±éé¢æ°ã®ä½ãæ¹ãTDDã®å®è·µæ¹æ³ããããã¤ææ³çã ãããã¾ãããªãä¸å¯§ã«è§£èª¬ãããã¾ãã
ããã¯ãã»ãã¨ãèªã¿ãªããæãåããã¨ãç解ãããªãæ·±ã¾ãã¨æãã¾ããã
SPAãAngularãReactã§ã¯ããã¡ãã£ãæ¹ã¨ãã§ãSPAã£ã¦ã©ããªä½ãã«ãªã£ã¦ãã®ãè£å´ã¯åãã£ã¦ã¾ããã£ã¦æ¹ãããã£ãããã°ããã¡ããèªã¿ãªããå®è£ ãã¦ãä»çµã¿ãç解ããã®ãããããªã£ã¦æãã¾ãã
4ç« Amazon Cognitoã«ãã Identity as a Service
大ä½ã®Webã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãIdentity管çãæ±ããããã¨æãã¾ãããAWS Cognitoã使ã£ã¦ã管çããå ·ä½çãªææ³ãã³ã¼ãã交ãã¦ç´¹ä»ããã ãã¦ãã¾ãã
Serverlessã§ã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ããã¨ãããã®å°éã®ç¥è(ä»åã§ããã¨Identity管çãèªè¨¼ã»èªå¯ã®é¨å)ã«è¥å¹²ã®ä¸å®ããã£ã¦ããããä¸å®æ°´æºã®ã»ãã¥ã¢ã§å¯ç¨æ§ããããèä¹ æ§ã®ããç°å¢ãå®ç¾ãããã¨ãã§ãã¾ãã ãã®ç°å¢ãæ§ç¯ããæ§æããå¾ã«æ¯ãè¿ã£ã¦ã¿ã¦ã¿ãã¨ããã®ç¥èã®ãã¹ããã©ã¯ãã£ã¹ãä½é¨çã«å¦ãã§ããã®ã§ãå¥ã®ç°å¢ãæ§ç¯ããã¨ãã®æéã«ãªãã¾ãã
Serverlessã§ã¯ãããã¦ããã®ã«ããããªããªãã®?ã§ããªãã®?çãªã
ãã®ãããã®ãã£ã¼ãããã¯ãå¾ãããã®ãServerlessã®ã¡ãªããã®1ã¤ã ã¨æãã¦ãã¾ãã
Identity管çã¨ããæ°ã«ãããã¨ãããªãå¤ãé¨é¡ã§ãã»ãã¥ãªãã£ã®è¦³ç¹ããããã£ããä½ã£ã¦ããããåéã§ãããAWS Cognitoã使ã£ã¦ãµã¼ãã¬ã¹ã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ããã¨ãèªç¶ã¨ãã®ãããã身ã«ã¤ãã¾ãã
5ç« DynamoDBã«ãã¼ã¿ãæ ¼ç´ãã
DynamoDBã®ããã¥ã¡ã³ããèªãã°ç解ã§ãããã¨ã§ã¯ããã¾ããããã¼ã®æ§æããå¶éäºé ãçµææ´åæ§ã«ã¤ãã¦è¿°ã¹ã¦ããã¾ãã
ãã®ç« ã¾ã§ã«æ§ç¯ããã·ã³ã°ã«ãã¼ã¸ã¢ããªã±ã¼ã·ã§ã³ãããDynamoDBãç´æ¥æä½ããããã§ãã©ã®ããã«å®è£ ãããã³ã¼ãã交ãã¦è§£èª¬ããããããã«ãããã¤æ段ãæä¾ããã ãã¦ããã¾ãã
ã»ãã¨ãããªããä¸å¯§ã§ãã
6ç« Lambdaã使ã£ã¦(ãã¤ã¯ã)ãµã¼ãã¹ãä½ã
ã·ã³ã°ã«ãã¼ã¸ã¢ããªã±ã¼ã·ã§ã³ã§å ¨ã¦ã®ãã¸ãã¹ãã¸ãã¯ãè¨è¿°ãããã¨ãã§ããªãå ´åãAWS Lambdaãæ´»ç¨ãã¦ãµã¼ãã§ãã¸ãã¹ãã¸ãã¯ãå®ç¾ãããã¨ãã§ãã¾ãã
ãã®ãããã«è¨åããã¾ãã«ãããããLambdaã£ã¦ãªãã ã£ãããããç´¹ä»ããã¦ãã¾ãã
SPAããLambdaãç´æ¥InvokeããããããããAmazon API Gatewayã¨ã®çµã¿åãããç´¹ä»ããã¦ãã¾ãã
ã¡ãªã¿ã«ãç§ã¯ãAPI Gatewayã¨Lambdaã§ãã¸ãã¹ãã¸ãã¯ãå®è£ ããRESTful APIãå ¬éããJSONãã©ã¼ãããã§SPAã¨ããã¨ãããè¨è¨ã好ãã§ä½¿ã£ã¦ãã¾ãã
ãã®ãããã¯ãã¦ã¼ã¹ã±ã¼ã¹ãè¦ã¦å¤æãããããã¸ãã¹ãã¸ãã¯ã®ç¹è£½çã è¦å®ãã¦ã決ãã¦ãããã¨ã ã¨æãã¾ãã
7ç« ãµã¼ãã¼ã¬ã¹ã®ã»ãã¥ãªãã£
ãµã¼ãã¬ã¹ã·ã³ã°ã«ãã¼ã¸ã¢ããªã±ã¼ã·ã§ã³ã§èæ ®ãã¹ãã»ãã¥ãªãã£ã«ã¤ãã¦è¿°ã¹ã¦ãã¾ãã
åºæ¬çã«ã使ãæ¹ããããã¦åãçµãã°ããªããå¤ããä¸æ£ã«æä½ããããã¨ããªãã®ã§ãããSPAã®æ§ç¯ã¯ç´°é¨ã«æ°ãé£ããªãã¨ããã¸ãã¹ãã¸ãã¯ã®æ¼ãããã権éãä¸ããããªã人ç©ã«ãããã¼ã¿ã®æ¹ç«çãèãããã¾ãã
ã¾ãæãããããã¯ã¨ãªã¤ã³ã¸ã§ã¯ã·ã§ã³ãã¯ãã¹ãµã¤ãã¹ã¯ãªããã£ã³ã°çã ã®æ»æã«ã¤ãã¦ãç´¹ä»ããã¦ãã¾ãã
8ç« ã¹ã±ã¼ã«ã¢ãããã
ãã®ç« ã¾ã§ã§ãå®è·µçã«å°ããã·ã³ãã«ã«TDDã¨ãããã¤ãç¹°ãè¿ããªããé²ãã¦ãã¾ããã
ãã®ããã§ããµã¼ãã¹ããã°ããéç¨ããã¦ã¼ã¶ã¼ãå¢å ããã¦ã¼ã¹ã±ã¼ã¹ãå¢ãããµã¼ããªã½ã¼ã¹ãã¹ã±ã¼ã«ã¢ããããã¨ãã決ã¾ãã
ãã®éã«ãã©ã®å¤ãç£è¦ãã対å¿ã«åãã®ãã ç£è¦å¯¾è±¡ãåæææ³çã«ã¤ãã¦ãè¿°ã¹ããã¦ãã¾ãã
ãã¤ã¯ããµã¼ãã¹ã¯ãæé·ãåæã¨ããã¢ã¼ããã¯ãã£ã¨ãªã£ã¦ãããããç¨åº¦ãäºæ¸¬ã¯ç«ã¦ã¾ãããå¤åã«æè»ã«å¯¾å¿ããã¢ã¸ã£ã¤ã«ãªææ³ãæ¡ç¨ããåãçµãéããã³ã¹ãç®åºã¯å¸¸ã 課é¡ã§ããã¾ãã
ãã®ãããã®è¨ç®ææ³ãããããã¤ææ³ã«ãè¨åãã¦ã¾ã¨ãããã¦ããã¾ãã
å ¨ä½ææ
å ¨ä½çã«ã¨ã¦ãä¸å¯§ã«èª¬æãããã¦ãããããã«ã¯ããããã¨ãã§ãããã ãªã¨ããå°è±¡ã§ãã
ãµã¼ãã¬ã¹ã·ã³ã°ã«ãã¼ã¸ã¢ããªã±ã¼ã·ã§ã³ã®æ§ç¯ææ³ãå¦ã³ãªããããã®å¨è¾ºã«ããããããã®Webã¢ããªã±ã¼ã·ã§ã³æè¡ãå¦ã¶ãã¨ãã§ãã¾ãã
ã¹ã¿ã¼ãã¢ããçã«ã·ã¹ãã ãæ§ç¯ãã第ä¸æ©ã®ã¢ã¼ããã¯ãã£ã¨ãã¦é¸æããã¨ãããªãã¹ãã¼ãåªå ã§åãçµããã¨ãã§ãããã§ãã
ã¾ããMicroservices Architectureã®é¨åè¦ç´ ã«ãã®ããããåãå ¥ãããã¨ãæ¤è¨ããã¦ããå ´åãããã®æ¬ãèªã価å¤ããã ã¨æãã¾ãã
ã¡ãªã¿ã«ã KANJAVA PARTY 2017 !!! - connpass ãªãã³ãã¥ããã£ã§ã ãMicroservicesã¢ã¼ããã¯ãã£ã«åãçµãã§ã¿ãããã¨ã ã¨ããã¿ã¤ãã«ã§ã話ããã¦ããã ãã®ã§ããããã®ä¸ã§ããµã¼ãã¬ã¹ã·ã³ã°ã«ãã¼ã¸ã¢ããªã±ã¼ã·ã§ã³ã®é©ç¨ã©ããã«ã¤ãã¦ã触ãããã¨æãã¾ãã®ã§ã御èå³ãããã¾ãããããã²ã¼ã
以ä¸ã§ãã