Zennã§ã¯ããã³ãã¨ã³ãã«Next.jsã使ã£ã¦ãã¾ãããã¨ãã¨ã¯Vercelã§åããã¦ããã®ã§ããã2021å¹´3æã«Google Cloudã«ç§»è¡ãã¾ãããä»åã¯ç§»è¡ã決ããçç±ããå ·ä½çãªæ§æã移è¡ä½æ¥ãªã©ã«ã¤ãã¦æ¸ãããã¨æãã¾ãã ãªã移è¡ããã®ã Next.jsã®ãããã¤å ã¨ãã¦Vercelã¯å§åçã«åªãã¦ãã¾ããISRãImage Optimizationã¨ãã£ãNext.jsã®å¼·åãªæ©è½ããµã¼ãã¼å´ã®è¿½å è¨å®ãªãã§ä½¿ç¨ã§ãã¾ãããCDNã§ã®éçãã¡ã¤ã«ã®ãã£ãã·ã¥ãªã©ãç¹ã«æèããªãã¦ãããæãã«ãã£ã¦ããã¾ãã Vercel以å¤ã«ãããã¤ããã¨ãªãã¨ãNext.jsã®ä¸é¨ã®æ©è½ããã¾ãåããªãã£ãããããã©ã¼ãã³ã¹ã»ãã¥ã¼ãã³ã°ãèªåã§é å¼µãå¿ è¦ããã£ããã¨èªåã§é¢åãè¦ãªããã°ãªããªãé¨åãå¤ããªãã¾ãã ããããZennã®ã±ã¼ã¹ã§ã¯ä»¥ä¸ã®ãããªçç±ããVercelãã
ã¯ããã« ããã«ã¡ã¯ãã½ã¦ã¾ã¦Software Engineerã®@sue71ã§ããé£è¼ï¼ã¡ã«ã«ãªShops éçºã®è£å´ Vol.2ã®13æ¥ç®ãæ å½ããã¦ããã ãã¾ãã 以åã¡ã«ã«ãªã¡ã«ã«ãªShopsã®æè¡ã¹ã¿ãã¯ã¨ããã®é¸å®çç±ã§BFFã®å®è£ ã«GraphQLãæ¡ç¨ãã¦ãããã¨ããä¼ããã¾ãããã¡ã«ã«ãªShopsããªãªã¼ã¹ãã¦ããç´åå¹´ãã£ãä»ãããã¾ã§ãæ¯ãè¿ã£ã¦GraphQLãµã¼ãã¼ãå®è£ ããä¸ã§ã®èª²é¡ããããããèãã¦ããã¨è¯ãé ç®ãã¾ã¨ãã¦ã¿ã¾ãããã¾ããæ¬è¨äºã§ã¯ã¡ã«ã«ãªShopsã§GraphQLã®å®è£ ã¨ãã¦Apolloãæ¡ç¨ãã¦ãããããApolloã®å©ç¨ãåæã®è©±ãããã¤ãæ··å¨ãã¦ãã¾ããäºãã容赦ãã ããã GraphQLã®èª¬æããã¡ã«ã«ãªShopsã®å®è£ æ¹æ³ã«é¢ãã¦ã¯ä»¥åãã¡ãã®è¨äºã§ç´¹ä»ãã¦ãã¾ãããã¡ããæ¯éã覧ãã ããã ããã©ã¼ãã³ã¹èª²é¡ GraphQLã¯ãã¢ããª
ãã¡ã¤ã³ã¢ããªã³ã°ãããä¸ã§å人çã«æ°ãã¤ãã¦ããç¹ãã¾ã¨ãã¾ããã ãã¡ã¤ã³ã¢ãã«ã¨ã¯ ç®çãéæããããã ãã«ç¹åããã¢ãã«ã®ã㨠ããç®çãéæããããã«å¿ è¦ãªæ å ±ï¼ãã¡ã¤ã³ç¥è[1]ï¼ã®éå ä»®ã«ã½ããã¦ã§ã¢ãåå¨ããªãã¦ãç¾å®ä¸çã§ãéç¨ããæ å ± æè¡çãªé¢å¿ãã¨ãã½ããã¦ã§ã¢ããªããã°æãç«ããªãç¥èãã«ã¼ã«ã¯ãã¡ã¤ã³ã®ç®¡è½å¤ ãã¸ãã¹ã½ããã¦ã§ã¢ã®å ´å ãã¸ãã¹ãå®éããï¼ç®çãéæããï¼ããã«å¿ è¦ãªã«ã¼ã«ï¼ãã¡ã¤ã³ç¥èï¼ã表ç¾ããã¢ã ãã¸ãã¹ã®æ±ºã¾ãäºãæ´çããã¢ããã¨æãã¦ãã¾ã£ãæ¹ãç解ãããã è¯ãã¢ãã«ã¨ã¯ ç®çãéæã§ããã¢ãã« ç®çãéæããããã«å¿ è¦æå°éã®æ å ±ãã¾ã¨ã¾ã£ã¦ããï¼åé度ãé«ãï¼ã¢ãã« å±æ§ã¨ãã¦æã£ã¦ããããä»ã®ã¢ãã«ã¨é¢ä¿ãæã£ã¦ããã ãã¡ã¤ã³ã¢ããªã³ã°ã¨ã¯ ããç®çãéæããããã«å¿ è¦ãªæ å ±ãæ½è±¡åãã¦å¯è¦åããè¡çº æ å ±ãåæ¨é¸æãã°
ä»åã¯çé ä¿¡ï¼ã²ã¼ã å®æ³ã«å¤è¨èªåå¹ã表示ããæ¹æ³ã«ã¤ãã¦ã®è¨äºã ï¼ ãã®è¨äºã§ç´¹ä»ããããããã£ã¨ã³ãã¯ã¿ã¼ã使ãã¨ãé©å½ã«åã£ãæ¥æ¬èªé³å£°ãããªã¢ã«ã¿ã¤ã ã§ç¿»è¨³åå¹(è±èªï¼éå½èªï¼ä¸å½èªï¼ã¹ãã¤ã³èªãªã©)ãä½ããã åç»ã¯ãã¡ããçé ä¿¡å ã§ã翻訳åå¹ãã¤ããããã®ã大ããªç¹å¾´â¦ï¼ 俺èªèº«ãæè¿Twitché ä¿¡ã§å¤è¨èªçã®ããããã£ã¨ã³ãã¯ã¿ã¼ã使ã£ã¦ã¿ã¦æåããã®ã§æ©æ¢°é³ç´ãªäººã§ãåããããã«å°å ¥æ¹æ³ã説æãã¦ãããï¼ Twitchã§æ´»åãã¦ããVtuberãããé ä¿¡è ããã¯ç¹ã«ãããããã£ã¨ã³ãã¯ã¿ã¼ãã¨ã®ç¸æ§ãè¯ãã¨æãã ã¾ã 翻訳åå¹ã使ã£ã¦ãã人ãå°ãªããããæ¥æ¬èªãéããªãè¦è´è ã¨äº¤æµãããï¼ãå¤å½ã®è¦è´è ããã©ãã¯ã¼ãå¢ãããããã«å¤è¨èªã®ç¿»è¨³åå¹ã¯å¼·åãªæ¦å¨ã«ãªãããâ¦ï¼ï¼ ãâéå»ã®è§£èª¬è¨äºãã¨ã¯éããâ GoogleChromeã§ã®é³å£°èªèï¼â¡BOOTHæ¯æ´ã§ä½¿ããå¤è¨
2020å¹´3æãã¨ã¹ã»ã¨ã ã»ã¨ã¹ã®éçºãã¼ã ã§ã¯ãªã¢ã¼ãã¯ã¼ã¯ã¸ã®ç§»è¡ã«ä¼´ããiPadã¢ããªã®ãªã¢ã¼ãå®æ©QAç°å¢ãæ§ç¯ãã¾ããã éãããæéã®ãªãã§ãMDMï¼Mobile Device Management: ã¢ãã¤ã«ç«¯æ«ç®¡çï¼é¸å®ãã社å æ¿èªã端æ«ã®ç¢ºä¿ãiPadã®è¨å®ãããªã·ã¼ã®ç¢ºèªã¾ã§ã¹ãã¼ãã£ã¼ã«é²è¡ããããã¯ãéçºé¨ã®ãªã¢ã¼ãã¯ã¼ã¯éå§åæ¥ã«ã¯ãå®å ¨ã«èªå® ããå®æ©ã§ã®æ¤è¨¼ãã§ããç°å¢ãæ´ãã¾ããã æ¬è¨äºã§ã¯ããªã¢ã¼ãã§ã®å®æ©QAç°å¢ãæ§ç¯ããã¾ã§ã®çµç·¯ãèæ¯ã«ããã¨ã¹ã»ã¨ã ã»ã¨ã¹ã®ã«ã«ãã£ã¼ã«ã¤ãã¦ãåãçµã¿ã®ä¸å¿ã¨ãªã£ããããã¯ãéçºé¨ã¨ã³ã¸ãã¢ã®æ¸ æ°´æºå¾³ãããç¥è°·å ¸åããã«è©±ãèãã¾ããã ãªã¢ã¼ãã¯ã¼ã¯ã¸ã®ç§»è¡ãæ°ããªMDMã®å°å ¥ãå³æ¥æ±ºå® ããã¾ã§ãããã¯ãéçºé¨ã§ã¯ãiPadã¢ããªã®å®æ©æ¤è¨¼ãè¡ãéã社å ãããã¯ã¼ã¯ãçµç±ãã¦æ¤è¨¼ç°å¢ã«æ¥ç¶ãã¦ãã¾ããã ãããã
å»çãä»è·ããã«ã¹ã±ã¢ãã·ãã¢ã©ã¤ãã®é åã§é«é½¢ç¤¾ä¼ã«é©ããæ å ±ã¤ã³ãã©ãæ§ç¯ãã¦ããæ ªå¼ä¼ç¤¾ã¨ã¹ã»ã¨ã ã»ã¨ã¹ã§ã¨ã³ã¸ãã¢ããã¦ãã @moro ã§ãã 主ã«ä»è·é åã«ããããã£ãªã¢åéã®ãµã¼ãã¹ãå¹³ããè¨ãã°ä»è·ã®æ ãæã§ããå¾äºè ã®æ¹ã®å°±è·ã»è»¢è·ãè¯ããã®ã«ããããã®äºæ¥ã«æºãã£ã¦ãããç¹ã« ã«ã¤ã´ã¸ã§ãã¨ããæ±äººãµã¼ãã¹ã®éçºã»éç¨ããã¦ãã¾ãã ã«ã¤ã´ã¸ã§ãã«ã¤ã㦠ã«ã¤ã´ã¸ã§ã㯠2004 å¹´ã«ãªã¼ãã³ãããä»è·è·åãæ±äººæ å ±ãµã¼ãã¹ã§ãã 2019å¹´9æã«ãã«ãªãã¥ã¼ã¢ã«ããç¾å¨ã¯ Ruby on Rails ã§åãã¦ãã¾ããçè ã¯2018å¹´ã«ã¨ã¹ã»ã¨ã ã»ã¨ã¹ã«è»¢è·ãã¦ãã®ãªãã¥ã¼ã¢ã«ã«é¢ããã以æ¥ãã£ã¨ã«ã¤ã´ã¸ã§ãã®éçºã»æ¹åãç¶ãã¦ãã¾ãã ç¾ä»£ã®ã½ããã¦ã§ã¢ãµã¼ãã¹ã§ã¯ããªãªã¼ã¹ãããå®äºã§ãã®ãã¨ã¯å¤æ´ããªããã¨ãããã®ã¯å°ãªããå¤ãã¯ç¶ç¶çã«å¤åãç¶ãã¾ããããã¯ããµ
2020å¹´11æã«ã¨ã¹ã»ã¨ã ã»ã¨ã¹ã«å ¥ç¤¾ããç¦å¶ã§ããããã¾ã§ã«å½å 大æã½ããã¦ã§ã¢ä¼æ¥ã§ã®ã·ã¹ãã éçºããç´200ä¸äººã®ã¦ã¼ã¶ã¼ãå©ç¨ããWebãµã¼ãã¹ã®éçºãªã©ãçµé¨ãã¦ãã¾ããã ä»åã¯ãç§ãã¨ã¹ã»ã¨ã ã»ã¨ã¹ã«è»¢è·ã決ããçµç·¯ããç¾å¨ã®ä»äºå 容ãä»å¾ç®æããããã¨ã«ã¤ãã¦ãä¼ããã¦ã¿ããã¨æãã¾ãã ã¦ã¼ã¶ã¼ã¨å ±ã«ãµã¼ãã¹éçºã«å¾äºãã楽ãã ãé·ãã¨ã³ã¸ãã¢äººçãã©ã®ããã«éãããã ããã¯ã¨ã³ã¸ãã¢ã§ããã°èª°ããèãããã¨ã§ã¯ãªãã§ãããããå®å¹´ã60æã¨èããã¨ãã¨ã³ã¸ãã¢äººçã®ååãéããã¨ããç§ã¯ã©ãæ®ãã®ã¨ã³ã¸ãã¢äººçãéããããèãã転è·ã決æãã¾ããããã®æ±ºæã«è³ãã¾ã§ã®æµããå°ãæ¯ãè¿ã£ã¦ã¿ã¾ãã ç§ã®ã¨ã³ã¸ãã¢ã¨ãã¦ã®ãã£ãªã¢ã¯ã大å¦åæ¥å¾ã«å½å ã½ããã¦ã§ã¢éçºä¼ç¤¾ã«å ¥ç¤¾ããããã±ã¼ã¸è£½åã®è¨è¨ã»éçºã«æºãããã¨ããå§ã¾ãã¾ããããã®å¾ã転è·ãã¦ã°ã«ã¼ãã¦ã§ã¢ãµã¼
@sunaot ã§ããããç¶ç¶æ§ã¢ã¼ããã¯ããã¨ããçãæ¹ãããã¢ã¼ããã¯ããç®æãã¨ã³ã¸ãã¢ã®æçã«ã¼ãããèå³ãæã£ã¦ããããã®ã§ããã®è¨äºã§ã¯ã¢ã¼ããã¯ãã®ä»äºã®éè¦ãªä¸é¨ã ã¨èãã¦ããããã¸ãã¹ã®æ§é ãã¢ã¼ããã¯ãã£ã§è¡¨ç¾ãããã¨ãããã¨ã«ã¤ãã¦æ¸ãã¦ã¿ã¾ãã ãã¸ãã¹ã®æ§é ã¨æ¸ãã¦ãã¾ãã¨ãæ¥åã®ã¢ããªã³ã°ã®è©±ããªã¨æãããããããã¾ãããå®éãè¨è¨ææ³ã«ã¤ãã¦æ¸ããã¦ããæ¸ç±ã§ã¯æ¥åã®ã¢ããªã³ã°ã®è©±ãä¸å¿ã§ãããã®æ代ã®åæã¯ãè¦æ±ãæã£ã¦ãã人ã¨ãã¦ã®ã¦ã¼ã¶ã¼ããã¦ãæ¥åããã£ã¦ããã®ã·ã¹ãã åããã¦ããã¨ãããã®ã§ãããç¾å¨ããµã¼ãã¹éçºããã¦ããã¨ããä¸ã§ç´é¢ãã¦ããä»äºã¯ããæ§è³ªãå¤åãã¦ããã¨æãã¦ãã¾ããæ£è§£ã¨ãªããµã¼ãã¹ã®å§¿ã¨ãããã®ã¯ãªãããã£ã¦ãããã¸ãã¹ã®ç¶æ³ãã¦ã¼ã¶ã¼ã®é¢å¿ãå¤åããä¸ã§ãµã¼ãã¹éçºããããµã¼ãã¹èªèº«ãå¤åããã¦ããã¾ãããµã¼ãã¹éçºå¹´ä»£ã®
ã¯ããã¾ãã¦ãã¨ã¹ã»ã¨ã ã»ã¨ã¹ã§ãã¨ã³ã¸ãã¢ãªã³ã°ããã¼ã¸ã£ã¼ã¨ãã¦åã岩ç°ã§ãã ã¨ã¹ã»ã¨ã ã»ã¨ã¹ã¯å¾æ¥å¡ã2å人è¿ãä¼æ¥ã§ãããçµç¹ãæ´ã£ã¦ãããå®å®ãã大ä¼æ¥ã¨ããã¤ã¡ã¼ã¸ãæã¤äººãããããããã¾ããã ããããç§ã®æ å½ããã¯ã©ã¦ãåã®ä»è·äºæ¥è åãçµå¶æ¯æ´ãµã¼ãã¹ãã«ã¤ãã±ãã®éçºçµç¹ã¯ãã¾ã ã¾ã æé·éä¸ãåå°ãæ´ãã¦ãããã§ã¼ãºã ããããã®é¢ç½ããæãã¦ãã¾ãã ãã®è¨äºã§ã¯ãç§ãã¨ã¹ã»ã¨ã ã»ã¨ã¹ã«å ¥ç¤¾ã決ããçç±ããçµç¹æ¹åã®åãçµã¿ã«ã¤ãã¦ãä¼ããã¦ããã¾ããã¨ã¹ã»ã¨ã ã»ã¨ã¹ã®é åãå°ãã§ãä¼ããã°å¬ããã§ãã çµç¹éçºã®åã試ãããæé·ã§ããâã«ãªã¹âãæ±ã㦠ç§ã¯ããã¨ãã¨æè¡ãã³ã³ãã¥ã¼ã¿ã«é¢å¿ãããã大å¦ãæ å ±ç³»ã®å¦ç§ãå°æ»ãåæ¥å¾ã¯ã¨ã³ã¸ãã¢ã¨ãã¦ã·ã¹ãã ãWebãµã¼ãã¹ã®éçºã«æºãã£ã¦ãã¾ããã çµç¹éçºã«é¢å¿ãå¯ããããã«ãªã£ãã®ã¯ãåè·ã®ã¡ã¬ãã³ãã£ã¼ã§ã®çµé¨
ã¿ãªãããããã«ã¡ã¯ãä»è·çµå¶æ¯æ´éçºã°ã«ã¼ãã§ã°ã«ã¼ãé·ããã¦ãã岩ç°æ彦ã§ãã äºæ¥ããµã¼ãã¹ã®æé·ã«åããã¦éçºçµç¹ã大ãããªãã¨ãæ°ãã課é¡ãæµ®ãã³ä¸ãã£ã¦ãããã¨ãããã¾ããã¨ãã«ãè¤æ°ã®ãã¼ã ã«åããã¦éçºãé²ãã¦ããã¨ãåãã¼ã ã§æåãå°½ããã¦ãã¦ãããµã¼ãã¹ããããã¯ãå ¨ä½ã§åãçµã課é¡ãèµåããå¿ è¦ã«ãªã£ã¦ãã¾ãããµã¼ãã¹å ¨ä½ã®æè¡çãªèª²é¡ã«ããããã¦ã³ã§åãçµãã§ãã¾ãã¨ãç¾å ´ã®ã¨ã³ã¸ãã¢ã«ãã³ãã¥ãã±ã¼ã·ã§ã³ã®ä¹é¢ãã¢ããã¼ã·ã§ã³ã®ä½ä¸ãçããã¡ã«ãªãã¾ãã ããã§ãç§ãã¡ã¯ãè¤æ°ã®éçºãã¼ã ã®æ¨ªæçãªèª²é¡ã対象ã«ãã¦ææ決å®ããããããã¯ããã¼ããã¨ããæ´»åãå§ãã¾ããããã®æ´»åã«ãããè¦æ¨¡ã®å¤§ããªãµã¼ãã¹éçºã§ãããªãããç¾å ´ã®ã¨ã³ã¸ãã¢ãåå ãã¤ã¤ããããã¯ãå ¨ä½ãèµåãã§ããããä½å¶ãæ´ãããã¨ãã¦ãã¾ãã ã¨ã³ã¸ãã¢ãªã³ã°ããã¼ã¸ã£ã¼ã®æ¹ããä¸å®è¦æ¨¡ã®å¤§ããª
ã¨ã¹ã»ã¨ã ã»ã¨ã¹ã§ããã¼ã éçºã®æ¯æ´ã主ã«æ å½ãã¦ãã西æï¼@nawotoï¼ã§ããä»åã¯ããã¼ã ãæ¯æ´ããããã§å¿ããã¦ããè¦ç¹ã«ã¤ãã¦æ¸ãã¦ã¿ã¾ãã ã½ããã¦ã§ã¢ã¨ãã¼ã éçºã«ã¤ã㦠å¼ç¤¾ã®ãããªãµã¼ãã¹éçºãè¡ãªã£ã¦ããä¼ç¤¾ã ãã§ãªããä»ã¯å¤ãã®äºæ¥ã«ããã¦ã½ããã¦ã§ã¢ã®åå¨ãä¸å¯æ¬ ã«ãªã£ã¦ãã¾ããäºæ¥ãæé·ããã¦ããã®ã¯ç°¡åã§ã·ã³ãã«ã§ã¯ããã¾ããããã®ãããäºæ¥ã«å¯ããã£ã¦ããã½ããã¦ã§ã¢ã¥ããèªä½ãè¤éãªèª²é¡ã«å¯¾å³ãããã¨ã«ãªããä¸çç¸ã§ã¯ããã¾ããã åã¯ãã½ããã¦ã§ã¢ã¥ããã«ã¯èª°ãã¹ã¼ãã¼ãã³ã®ãããªäººã®å人ã®åã§ææãåºãã¦ãããã¨ãããããããå±é¢ã§ããããã®ç¥æµãè½åãæ´»ããã¦ãããã¼ã éçºã®æ¹ãææãç¶ç¶çã«åºããããã®ã§æå¹ã ã¨æã£ã¦ãã¾ãã ãã¼ã éçºã¯é£ããï¼ ã§ã¯ãè¤æ°äººã§éçºãè¡ãªã£ã¦ããã°ããã¼ã éçºã¨ãã¦æç«ããã®ã§ããããï¼ æ®å¿µãªããããç°¡åã§ã¯ãã
Next.js ã¯SSR対å¿ããReactã使ã£ãUniversal JavaScriptãã¬ã¼ã ã¯ã¼ã¯ã§ãVueã使ã£ã¦ãã Nuxt.js ã¨ããæ¯è¼ããã¦ãã¾ãã ã»ããã¢ãããã¨ã«ããç°¡åã§ãTypeScript対å¿ãé常ã«ç°¡åã§ãã(tsconfig.json ã®ç©ºãã¡ã¤ã«ãç½®ãã¦ããã¨èªåçã«ä¸èº«ãä½ã£ã¦ããã¾ãï¼) ä»åã¨ããSPAãä½æããã«ããã£ã¦ Next.js ãæ¡ç¨ããããããã®ã¨ãèããã¢ã¼ããã¯ãã£ã¼è¨è¨ãæ¸ãæ®ãããã¨æãã¾ãã ãã£ã¬ã¯ããªæ§æã¨ã¯ã©ã¹è¨è¨ ãã£ã¬ã¯ããªæ§æã¯ã¯ã©ã¹è¨è¨ã«ãåæ ãããéè¦ãªé¨åã«ãªãã¾ãã è¿å¹´èªåã好ãã§ããã¯ã©ã¹è¨è¨ã¯ãOnion Architecture + Clean Architecture + Re-Ducks Patternãã§ãã (React Nativeã§ããã®æ§æã§ã¢ããªã±ã¼ã·ã§ã³ãä½æãã¦ãã¾ã) ãã
ã¯ããã« ä»äºã§ä½¿ç¨ãããã¨ã«ãªã£ã NestJS ã«ã¤ãã¦ãå ¬å¼ã® NestJS Fundamentals Course ãããã¥ã¡ã³ããªã©ã§åå¼·ãé²ãã¦ããã®ã§ãããæ°ããæ¦å¿µã次ã ã¨ç¾ããããæ¶åããããªããªã£ã¦ãã¾ãããããã§ãã¾ãå ¨ä½ã®ä¿¯ç°å³ããã£ããã¨é ã«å ¥ããããã«ãå ¬å¼ããã¥ã¡ã³ãã® Overview ã«åºã¦ããç¯å²ã®æ¦å¿µãå³è§£ãã¦æ´çããã¾ãåã ã®å½¹å²ãããã¸ã§ã¯ãå ã®ã©ãã«ã©ã®ããã«è¨å®ãã¦ãããã«ã¤ãã¦ã¾ã¨ãããã¨ã«ãã¾ãã (éã«ã大æ ã¨ã¯é¢ä¿ãªãé¨åã«ã¤ãã¦ã¯å¤§èã«çãã¾ãã)ã 対象èªè ã¨ãã¦ã¯ãç°¡å㪠CRUD ã¢ããªã±ã¼ã·ã§ã³ãªã©ã NestJS ã«ãã£ã¦ä½æãããã¨ããããåºç¤çãªæ¦å¿µãæ§æè¦ç´ ã«ã¤ãã¦ä½ã¨ãªãã¯ææ¡ãããã®ã®ãã©ããã¹ãããªã¨ã¯ç解ã§ãã¦ããªãæ°ããããã¨ãããããªæ¹ãæ³å®ãã¦ãã¾ãã ãã®è¨äºãèªåã®ãã㪠NestJS å ¥éè ã®ãå½¹ã«
ä»è·ãå»çããã«ã¹ã±ã¢ãã·ãã¢ã©ã¤ãã®é åã§é«é½¢ç¤¾ä¼ã®æ å ±ã¤ã³ãã©ãæ§ç¯ãã¦ããæ ªå¼ä¼ç¤¾ã¨ã¹ã»ã¨ã ã»ã¨ã¹ï¼ä»¥ä¸ãSMSï¼ã®ã¨ã³ã¸ãã¢ã®ç¥è°·ã§ããã³ã¼ããæ¸ã以å¤ã«ããæ¡ç¨ãªã©ã®çµç¹ã¥ãããéçºç°å¢æ´åãªã©å¹ åºãä»äºããã¦ãã¾ãã èªåãSMSã«å ¥ç¤¾ããã¿ã¤ãã³ã°ã§ã¯ãéçºç¾å ´ã«ã¯ãããããéçºç°å¢ãã¢ãããã¼ãããã¦ããªãããããã¤ã®ããã®ã³ã¹ããé«ãä¸åº¦ã®ãªãªã¼ã¹ã大ãããªã£ã¦ãã¾ããªã©ãæè¡çè² åµãããã¾ã£ã¦ãããã©ã®ããã«è² åµã解æ¶ãã¦ãããã模索ãã¦ãã¾ããã ä»åã¯ãæè¡çè² åµã®è§£æ¶ã«ã©ãåãçµãã§ããã®ããæ¯ãè¿ã£ã¦ç´¹ä»ã§ããã°ã¨æãã¾ããå°ãã§ããæè¡çè² åµã«æ©ãæ¹ã ã®åèã«ãªãã°å¹¸ãã§ãã æè¡çè² åµã®è§£æ¶ã«ç«ã¡ã¯ã ããæ§ã ãªå£ èªåã¯ãiOSã®ã¨ã³ã¸ãã¢ãããã£ãªã¢ãã¹ã¿ã¼ããã¾ãããã¹ã¿ã¼ãã¢ããã§ã¨ã³ã¸ãã¢ãã¯ãããã®ã§ãåºæ¬çã«ã¯ãªãã§ããã姿å¢ã§éçºã¨éç¨ã«åãçµ
Netflix has developed a Domain Graph Service (DGS) framework and it is now open source. The DGS framework simplifies the implementation of GraphQL, both for standalone and federated GraphQL services. Our framework is battle-hardened by our use at scale. By open-sourcing the project, we hope to contribute to the Java and GraphQL communities and learn from and collaborate with everyone who will be u
ã¯ããã¾ãã¦ãã¨ã¹ã»ã¨ã ã»ã¨ã¹ã§ã¢ã¼ããã¯ãããã¦ããä¸æµ¦ã§ãã2020å¹´10æã«ã¨ã¹ã»ã¨ã ã»ã¨ã¹ã«å ¥ç¤¾ãã¾ããã 以åã¯ãè¤æ°ã®ãã³ãã£ã¼ä¼æ¥ã§ã¨ã³ã¸ãã¢ããããã¯ãããã¼ã¸ã£ã¼ãªã©ãå ¼ä»»ãã¦ãã¾ããã ã¾ã å ¥ç¤¾ãã¦ããããªæéã§ã¯ããã¾ããããªãã¨ã¹ã»ã¨ã ã»ã¨ã¹ã«å ¥ç¤¾ããã®ããå ¥ã£ã¦ã¿ã¦ä½ãæãã¦ããããæ¸ãã¦ã¿ããã¨æãã¾ãã ãæè¡ããã¦ã¼ã¶ã¼ã®åã³ããäºæ¥æé·ãã®3ã¤ãæºããã¦åããã ç§ã¯ããã¾ã§ãã¨ã³ã¸ãã¢ããããã¯ãããã¼ã¸ã£ã¼ã¨ãã¦ããã¯ã¦ãªããã¯ãã¼ã¯ãã®ãã«ãªãã¥ã¼ã¢ã«ããåã©ãåãã®ç¥è²ã¢ããªã®éçºãAIï¼äººå·¥ç¥è½ï¼ãæ´»ç¨ããéè¦äºæ¸¬ãµã¼ãã¹ã®éçºãªã©ã«æºãã£ã¦ãã¾ããã ã¨ã³ã¸ãã¢ã«ãªã£ãã®ã¯å¶ç¶ã§ãããã¨ãã¨ãå¿çã«ã¦ã³ã»ã©ã¼ãç®æãã¦ãã¦ã大å¦åæ¥å¾ã¯ãã¢ã¡ãªã«ã®å¤§å¦é¢ã¸ã®é²å¦ãèãã¦ãã¾ããããã®åã«ç¤¾ä¼äººçµé¨ãç©ãã§ã¿ããã¨ãå»çã«ç¹åããå¸å ´èª¿æ»ã®ä¼æ¥ã«
Amazon ECS ã§ã®ã³ã³ãããããã¤ã®é«éå ãã®è¨äºã¯ååã® Nathan Peck (@nathanpeck)ãæ¸ããè¨äº âSpeeding up Amazon ECS container deploymentsâ ã翻訳ããå çã»ä¿®æ£ãããã®ã§ã. å è¨äºã ECS ã¦ã¼ã¶ã«ç´¹ä»ããæ©ä¼ãä½åããã£ãã®ã§ããã£ãããªã®ã§ç¿»è¨³ãããã¨ã«ãã¾ãã. ã³ã³ããã®ãªã¼ã±ã¹ãã¬ã¼ã·ã§ã³ã¯é常ã«è¤éãªåé¡ã®ä¸ã¤ã§ã. ã¢ããªã±ã¼ã·ã§ã³ã³ã³ããã®ãããã¤ã®ããã«ãç¸äºã«ããåããè¡ãè¤æ°ã®ç°ãªãã³ã³ãã¼ãã³ããåå¨ãã¾ã. ããªãã®ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ãããªã¼ã±ã¹ãã¬ã¼ã¿ã¯ããã®å®è¡ãããã¢ããªã±ã¼ã·ã§ã³ã Web ãã©ãã£ãã¯ãåãåãç¨æãã§ãã¦ãããã©ããã«ã¤ãã¦å¤æããå¿ è¦ãããã¾ã. ãã®å¾ãã®ã¢ããªã±ã¼ã·ã§ã³ã¯ã¹ã±ã¼ã«ãã¦ã³ããããããããã¯æ°ãããã¼ã¸ã§ã³ã®ã¢ããªã±ã¼ã·ã§ã³
è¦ç´ Docker in Docker 㪠CI ã§ã¯ã以ä¸ã® Docker Build ããªã¹ã¹ã¡ãã¾ãã ã¹ã¯ãªãã Buildx ã使ã Buildx ã使ããªããªãã°ãBuildKit + âcache-fromãªãã·ã§ã³ã使ã Dockerfile ã¹ãã¼ã¸éã®ä¾åãå¼±ããã(ä¾åã¤ã³ã¹ãã¼ã«ã¨ãã«ããåãã) ä¸éã¤ã¡ã¼ã¸ã軽éåãã ä¸è¦ãªãã£ãã·ã¥ãåé¤ ãã¡ã¤ã«å¤æ´å·®åã«ããã¾ããããããã«ããæ大 1/3 ã¸ãã«ãæéãç縮ãã¾ããã ã¯ããã« ãããããããã¼ãã¥ã¼ãã£ã¼ãç¾å®¹ã¯ãªããã¯ã®ã«ã¦ã³ã»ãªã³ã°äºç´ãµã¼ãã¹ã®ããã¯ã¨ã³ããæ å½ãã¦ããå®éã§ãã æ°åã¨ã㦠4 æã«å ¥ç¤¾ãã¦ã5 æä¸æ¬ã«ç¾å®¹ã¯ãªããã¯ã«é å±ããããã§ã«ç´ 4 ã¶æãéãã¾ããã ã¾ãããã¼ã å ã§èªåãæ´»èºã§ããåºãä½ãããã£ããã Docker ã«ã¤ãã¦è©³ãããªããã¨æãã¾ããã ããã§ãCI
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}