ã€ãã³ã
ã€ãã³ããæ¢ã
æ¬æ¥éå¬ã®ã€ãã³ã
ææ¥éå¬ã®ã€ãã³ã
ã©ã³ãã³ã°
ã«ã¬ã³ããŒ
ãã¬ãžã³
ãã¬ãžã³ãèªã
ãã¬ãžã³
æè¡ããã°
æžç±
åç»
åç»ãèŠã
ã°ã«ãŒã
ã°ã«ãŒããæ¢ã
ã°ã«ãŒããäœã
ã€ãã³ããäœæã»ç®¡ç
åŠçã®æ¹ã¯ãã¡ã
ãã°ã€ã³
|
æ°èŠäŒå¡ç»é²
TOP
ã°ã«ãŒã
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
ããã°
ããã
ã€ãã³ã
ããã°
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã®æè¡ããã°
å š1363ä»¶
2020/10/23
<![CDATA[ æè¡ã䜿ãããã®æè¡ã倧åãšããã話 ]]>
åããŸããŠãCLINICS ã®éçºãæ åœããŠãããšã³ãžãã¢ã®å¹³å±±ã§ãã ïŒåå§ã§ãã CTO ã§ã¯ããããŸããïŒ CLINICS ã®éçºã¯ãã¹ã¢ãŒã«ããŒã å¶ãããšã£ãŠãããŸããŠãçŸåšãã®ãã¡ã®ïŒã€ãããŒã ãªãŒãããŠããŸãã åè·ã¯é·ãã SIer ã«å€ããŠããŸãããå»å¹Žã® 12 æã«ã¡ãã¬ãŒã« JOIN ããŠãéãç¡ãïŒå¹ŽçµãšããšããŠãããããšæããšããã£ãšããéã ã£ããªããšããå°è±¡ã§ãã ããŠãæ¬æ¥ã¯ã¡ãã¬ãŒã§éé±éå¬ããŠãã瀟å å匷äŒïŒTechLunchïŒã«ãããŠçºè¡šããå 容ã«ã€ããŠã玹ä»ãããŠé ããã°ãšæããŸãã ã¯ããã« ãæè¡ã䜿ãããã®æè¡ããšããããŒããšãªããŸããããããã¯ãéçºãããŠããäžã§ã¯æ¬ ãããªãçŽ é€ãšèããŠããŸããã¡ãã¬ãŒã«æå±ããŠãããšã³ãžãã¢ã®ïŒäººãšããŠãã©ã®ããã«æ¥ã 課é¡ãšåãåã£ãŠããã®ããåœããŒããéããŠãäŒãã§ããã°ãšæããŸãã ãŸãããã®èãæ¹èªäœã¯ãå»çãšããããŒããããäºæ¥ã®èæ¯ïŒãã³ãã£ãŒã» SIerïŒããåããå¿ èŠãšãããå Žé¢ããããããããŸãããïŒèªèº«ãåè·ã§ã¯æ§ã ãªå Žé¢ã§ãäžè©±ã«ãªããŸããâŠïŒ å³å¹æ§ã®ãããã®ã§ã¯ãããŸããããããããå¹ããŠããå 容ã§ã¯ãªãããšæããŸãããããããã°ãä»ãåããã ããã æ¬é¡ ãæè¡ã䜿ãããã®æè¡ã ã¿ãªããã¯ãã®èšèãããäœãæãæµ®ãã¹ãã§ãããããçè ã詊ãã« Google ã§æ€çŽ¢ããéäžäœã«ãããããã®ã¯ AI ãšã³ãžã㢠IoT ãšãã£ãçµæã§ããããªãã»ã©ãå°ãéã«è§£éãããšãæè¡ïŒã¢ã«ãŽãªãºã çïŒã䜿ãããã®æè¡ïŒæ©æ¢°åŠç¿ãå®¶é»çïŒããšãã£ãæããªã®ã§ãããããïŒãã®çµæãæŸã£ãŠãããšããã®ããããæå³ã§ Google ããããªã£ãŠæããŸããïŒ çè ãä»åã®ããŒããšããŠæããŠããã®ã¯ãäžèšãšãªããŸãã ããžã«ã«ã·ã³ãã³ã° æšè« ãããã® æèãæŽçãããææ®µã ãšãšã³ãžãã¢ã®æŠåšã§ãã æè¡ãšãããææ®µã ãããåãããããšã§ã倧ããªããŒãã§ãããå»çãã«åãåã£ãŠããŸãã ææ®µãç®çã«ããŠã¯ãªããªã å ã«æãããšãããæèã®æŽçãããæè¡ãã ãææ®µã ã«éããŸãããããããçšããŠãé©åãªäžæãæããŠããçºã«ã¯ãç®çãã«å¯Ÿããè§£å床ãé«ãæãå¿ èŠããããŸãã çè ã®çºè¡šããæç²ãããæè¡ã䜿ãããã®æè¡ãã®èŠçŽ ãã€ã¡ãŒãžããå³ æŽçå ç®çãéæããçºã«å¿ èŠãªãæ å ±ããåæšéžæããããã®èŠçŽ ã SaaS âïž toB ã®äžçã«ãããŠã¯ããããã¯ãã解決ãã¹ã課é¡ãåŠããæ¥åã®æ¬è³ªãèžãŸããŠåæšéžæããããšèšãæãããããããããŸããã æ¥åç¥è ç®çã®ãè§£å床ããé«ããããã®èŠçŽ ã CLINICS ã«ãããŠã¯ãå»çæ å ±ãæ±ãäžã§ã®èŠå¶ïŒ3 ç 2 ã¬ã€ãã©ã€ã³ïŒããå»çæ©é¢ïŒå»åž«ã»å»äºã»èšºçç§ã®ç¹æ§ïŒã®æ¥åã蚺çå ±é ¬ã«ã€ããŠã®ç¥èãæ³æ¹æ£ãã¬ã»ã³ã³ïŒORCAïŒâŠ ãšæ§ã ãããŸãã æè¡ç¥è ç®çãéæããçºã«å¿ èŠãªãæãæããéžæããããã®èŠçŽ ã ïŒãšã³ãžãã¢ã«ãšã£ãŠã¯èª¬æãããŸã§ããªãå 容ã§ãããšæããŸããïŒ ãããæ¬ ããŠããŸããšçµµã«æããé€ ã§çµãã£ãŠããŸããŸããã¡ãã¬ãŒã®ãšã³ãžãã¢ã«ãããŠãæ¥ã ç éœãããããã¯ãã«å¯ŸããŠã³ããããç¶ããŠããŸãã è¡åå ç®çãéæããããã®ãæšé²åããé«ããããã®èŠçŽ ã åçš®ç¥èãšæŽçããæ å ±ãæšé²åã«å€ããŠããçºã«ã¯ããã®æã®ç¶æ³ã«å¿ããåããããå¿ èŠããããŸããã¹ããŒã¯ãã«ããŒãšã®èª¿æŽã¯åœç¶ã§ãããçµç¹å 飿ºãšãã£ããæšªã®åãããå¿ èŠã§ãã æ³åå ãããŸã§æããããããã®ææ®µãé©åã«å©çšããŠããããã®èŠçŽ ãšããŠã®åå°ããæ³ååãã§ãããšèããŠããŸãã 課é¡ïŒIssueïŒãžã®åãçµã¿äŸ çªå· æŠèŠ â Issue ã«åãçµãéã«ãæ¬åœã«è§£æ±ºãã¹ãããšãã«ã€ããŠã®æ³åãåãããŸããIssue ã«èšèŒãããŠããããšã æ¬åœã«ãããã¯ããšããŠè§£æ±ºãã¹ãããšãªã®ã ãå«ããŠèããŸãããããŸã§ã®éçšãå¿ ãããæ£ããããã§ã¯ãªãããšããç¹ããã€ã³ãã§ãã â¡ â ã«ã€ããŠãæ³åã®ãŸãŸãã§çµããããŠã¯ãããªãã®ã§ãæ¥åç¥èãšç §ããåãããŠç¢ºåºŠãé«ããŠãããŸããåžžå€å»åž«ãã«ã¹ã¿ããŒãµããŒãã«ãã¢ãªã³ã°ããªããã å»çæ¥åãšããŠã®ããã¹ã圢ã®è§£å床ãäžããŠãã ããã»ã¹ã§ãã ⢠â åã³ â¡ ã§é«ããè§£å床ã¯èšèã®å»¶é·ç·äžãªã®ã§ãé¢ä¿è éã®èªèã®ã®ã£ãããçºçããããã§ãããããã¿ã€ããäœæããŠãèŠèŠã»è§Šæã¬ãã«ã§ã®ã£ãããåããŠããããšã§ãããã¹ã圢ã«åããŠæŽç·ŽãããŠãããŸãã ⣠â ã ⢠ã®ã¿ã€ãã³ã°ãåãããå¿ èŠã«å¿ããŠé¢ä¿è ãšçžè«ããªããé²ããŠãããŸãããšã³ãžãã¢ãç«ãŠã仮説ããã¶ã€ããŒã®ç®ç·ã§è©äŸ¡ã» UI/UX æé©åãããŠé ãããã倧ããã®æ©èœã«ã€ããŠã¯ãå»çæ©é¢ã«ãã€ãããéçšã®ãååãä»°ãã ãããããšããããŸãã â åã³ â¡ ã®é ã«äœæ¥ã®ãŠã§ã€ããåã£ãŠããããã«èŠããããšæããŸããå®éã課é¡ã解決ããçºã®åå以äžãããã«å²ããŠããŸãã çç±ã¯ãïŒåºŠäœã£ãŠå ¬éããæ©èœãã¯ããã®åŸïŒäººæ©ããããŠäœæè ã®æå³ããªãæ¹åã§å©çšããããããšãããããã§ãã ãããŠãå©çšè ããã®éçšãå®çãããŠããŸã㚠誀ã£ãæ©èœã«ãããŠããåãèœãšãããšãå°é£ã ã§ããããã¯ã䜿ãããŠããªãæ©èœããããçŽæ¥çãªè² åµãšãã£ã圢ã§ããã£ãããŒã®ããã«å¹ããŠããŸãã ãã©ã®ãããªäœ¿ããæ¹ãããããã«ã€ããŠæ³åããããš ãã®äœ¿ããæ¹ãããããã¯ãã®ç®æãäžçãšåã£ãŠããããš ãšã³ãžãã¢ã¯æè¡ã圢ã«ããäžã§ãåžžã«æ³ååãåãããŠåãçµãå¿ èŠãããã ãšããã®ãçè ã®æè«ã§ãã ãããã« å·çã®ç· ãã«ããã£ãŠ CTO ããã°ãèŠè¿ããŠã¿ããšã倧äºãªããšã¯ããã«è©°ãŸã£ãŠããŸãããçè ã¯åè·ã® SIer æä»£ã«èªãã ã®ã§ããããã®èšäºã«ãããå ±æããã®ãèŠããŠããŸãã toppa.medley.jp toppa.medley.jp ã¡ãã¬ãŒã§ã¯ å»çãã«ã¹ã±ã¢ã®æªæ¥ãäœã ãšãã倧ããªç®æšããããŠãã®æªæ¥ãäœãçºã«è§£æ±ºãã¹ã課é¡ã«åãã£ãŠãä»åã玹ä»ããããã»ã¹ãèãæ¹ãå«ã詊è¡é¯èª€ããªãããäºæ¥éšäžäžžã§ãããã¯ãéçºãæšé²ããŠããŸãã ãšã³ãžãã¢ã®ç·ååãçºæ®ããŠå»çãã«ã¹ã±ã¢ã®æªæ¥ãäžç·ã«äœãäžããŠããããïŒãšããæ¹ã«ãäŒãåºæ¥ãããšã楜ãã¿ã«ããŠãããŸãã åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/23
<![CDATA[ æè¡ã䜿ãããã®æè¡ã倧åãšããã話 ]]>
åããŸããŠãCLINICS ã®éçºãæ åœããŠãããšã³ãžãã¢ã®å¹³å±±ã§ãã ïŒåå§ã§ãã CTO ã§ã¯ããããŸããïŒ CLINICS ã®éçºã¯ãã¹ã¢ãŒã«ããŒã å¶ãããšã£ãŠãããŸããŠãçŸåšãã®ãã¡ã®ïŒã€ãããŒã ãªãŒãããŠããŸãã åè·ã¯é·ãã SIer ã«å€ããŠããŸãããå»å¹Žã® 12 æã«ã¡ãã¬ãŒã« JOIN ããŠãéãç¡ãïŒå¹ŽçµãšããšããŠãããããšæããšããã£ãšããéã ã£ããªããšããå°è±¡ã§ãã ããŠãæ¬æ¥ã¯ã¡ãã¬ãŒã§éé±éå¬ããŠãã瀟å å匷äŒïŒTechLunchïŒã«ãããŠçºè¡šããå 容ã«ã€ããŠã玹ä»ãããŠé ããã°ãšæããŸãã ã¯ããã« ãæè¡ã䜿ãããã®æè¡ããšããããŒããšãªããŸããããããã¯ãéçºãããŠããäžã§ã¯æ¬ ãããªãçŽ é€ãšèããŠããŸããã¡ãã¬ãŒã«æå±ããŠãããšã³ãžãã¢ã®ïŒäººãšããŠãã©ã®ããã«æ¥ã 課é¡ãšåãåã£ãŠããã®ããåœããŒããéããŠãäŒãã§ããã°ãšæããŸãã ãŸãããã®èãæ¹èªäœã¯ãå»çãšããããŒããããäºæ¥ã®èæ¯ïŒãã³ãã£ãŒã» SIerïŒããåããå¿ èŠãšãããå Žé¢ããããããããŸãããïŒèªèº«ãåè·ã§ã¯æ§ã ãªå Žé¢ã§ãäžè©±ã«ãªããŸããâŠïŒ å³å¹æ§ã®ãããã®ã§ã¯ãããŸããããããããå¹ããŠããå 容ã§ã¯ãªãããšæããŸãããããããã°ãä»ãåããã ããã æ¬é¡ ãæè¡ã䜿ãããã®æè¡ã ã¿ãªããã¯ãã®èšèãããäœãæãæµ®ãã¹ãã§ãããããçè ã詊ãã« Google ã§æ€çŽ¢ããéäžäœã«ãããããã®ã¯ AI ãšã³ãžã㢠IoT ãšãã£ãçµæã§ããããªãã»ã©ãå°ãéã«è§£éãããšãæè¡ïŒã¢ã«ãŽãªãºã çïŒã䜿ãããã®æè¡ïŒæ©æ¢°åŠç¿ãå®¶é»çïŒããšãã£ãæããªã®ã§ãããããïŒãã®çµæãæŸã£ãŠãããšããã®ããããæå³ã§ Google ããããªã£ãŠæããŸããïŒ çè ãä»åã®ããŒããšããŠæããŠããã®ã¯ãäžèšãšãªããŸãã ããžã«ã«ã·ã³ãã³ã° æšè« ãããã® æèãæŽçãããææ®µã ãšãšã³ãžãã¢ã®æŠåšã§ãã æè¡ãšãããææ®µã ãããåãããããšã§ã倧ããªããŒãã§ãããå»çãã«åãåã£ãŠããŸãã ææ®µãç®çã«ããŠã¯ãªããªã å ã«æãããšãããæèã®æŽçãããæè¡ãã ãææ®µã ã«éããŸãããããããçšããŠãé©åãªäžæãæããŠããçºã«ã¯ãç®çãã«å¯Ÿããè§£å床ãé«ãæãå¿ èŠããããŸãã çè ã®çºè¡šããæç²ãããæè¡ã䜿ãããã®æè¡ãã®èŠçŽ ãã€ã¡ãŒãžããå³ æŽçå ç®çãéæããçºã«å¿ èŠãªãæ å ±ããåæšéžæããããã®èŠçŽ ã SaaS âïž toB ã®äžçã«ãããŠã¯ããããã¯ãã解決ãã¹ã課é¡ãåŠããæ¥åã®æ¬è³ªãèžãŸããŠåæšéžæããããšèšãæãããããããããŸããã æ¥åç¥è ç®çã®ãè§£å床ããé«ããããã®èŠçŽ ã CLINICS ã«ãããŠã¯ãå»çæ å ±ãæ±ãäžã§ã®èŠå¶ïŒ3 ç 2 ã¬ã€ãã©ã€ã³ïŒããå»çæ©é¢ïŒå»åž«ã»å»äºã»èšºçç§ã®ç¹æ§ïŒã®æ¥åã蚺çå ±é ¬ã«ã€ããŠã®ç¥èãæ³æ¹æ£ãã¬ã»ã³ã³ïŒORCAïŒâŠ ãšæ§ã ãããŸãã æè¡ç¥è ç®çãéæããçºã«å¿ èŠãªãæãæããéžæããããã®èŠçŽ ã ïŒãšã³ãžãã¢ã«ãšã£ãŠã¯èª¬æãããŸã§ããªãå 容ã§ãããšæããŸããïŒ ãããæ¬ ããŠããŸããšçµµã«æããé€ ã§çµãã£ãŠããŸããŸããã¡ãã¬ãŒã®ãšã³ãžãã¢ã«ãããŠãæ¥ã ç éœãããããã¯ãã«å¯ŸããŠã³ããããç¶ããŠããŸãã è¡åå ç®çãéæããããã®ãæšé²åããé«ããããã®èŠçŽ ã åçš®ç¥èãšæŽçããæ å ±ãæšé²åã«å€ããŠããçºã«ã¯ããã®æã®ç¶æ³ã«å¿ããåããããå¿ èŠããããŸããã¹ããŒã¯ãã«ããŒãšã®èª¿æŽã¯åœç¶ã§ãããçµç¹å 飿ºãšãã£ããæšªã®åãããå¿ èŠã§ãã æ³åå ãããŸã§æããããããã®ææ®µãé©åã«å©çšããŠããããã®èŠçŽ ãšããŠã®åå°ããæ³ååãã§ãããšèããŠããŸãã 課é¡ïŒIssueïŒãžã®åãçµã¿äŸ çªå· æŠèŠ â Issue ã«åãçµãéã«ãæ¬åœã«è§£æ±ºãã¹ãããšãã«ã€ããŠã®æ³åãåãããŸããIssue ã«èšèŒãããŠããããšã æ¬åœã«ãããã¯ããšããŠè§£æ±ºãã¹ãããšãªã®ã ãå«ããŠèããŸãããããŸã§ã®éçšãå¿ ãããæ£ããããã§ã¯ãªãããšããç¹ããã€ã³ãã§ãã â¡ â ã«ã€ããŠãæ³åã®ãŸãŸãã§çµããããŠã¯ãããªãã®ã§ãæ¥åç¥èãšç §ããåãããŠç¢ºåºŠãé«ããŠãããŸããåžžå€å»åž«ãã«ã¹ã¿ããŒãµããŒãã«ãã¢ãªã³ã°ããªããã å»çæ¥åãšããŠã®ããã¹ã圢ã®è§£å床ãäžããŠãã ããã»ã¹ã§ãã ⢠â åã³ â¡ ã§é«ããè§£å床ã¯èšèã®å»¶é·ç·äžãªã®ã§ãé¢ä¿è éã®èªèã®ã®ã£ãããçºçããããã§ãããããã¿ã€ããäœæããŠãèŠèŠã»è§Šæã¬ãã«ã§ã®ã£ãããåããŠããããšã§ãããã¹ã圢ã«åããŠæŽç·ŽãããŠãããŸãã ⣠â ã ⢠ã®ã¿ã€ãã³ã°ãåãããå¿ èŠã«å¿ããŠé¢ä¿è ãšçžè«ããªããé²ããŠãããŸãããšã³ãžãã¢ãç«ãŠã仮説ããã¶ã€ããŒã®ç®ç·ã§è©äŸ¡ã» UI/UX æé©åãããŠé ãããã倧ããã®æ©èœã«ã€ããŠã¯ãå»çæ©é¢ã«ãã€ãããéçšã®ãååãä»°ãã ãããããšããããŸãã â åã³ â¡ ã®é ã«äœæ¥ã®ãŠã§ã€ããåã£ãŠããããã«èŠããããšæããŸããå®éã課é¡ã解決ããçºã®åå以äžãããã«å²ããŠããŸãã çç±ã¯ãïŒåºŠäœã£ãŠå ¬éããæ©èœãã¯ããã®åŸïŒäººæ©ããããŠäœæè ã®æå³ããªãæ¹åã§å©çšããããããšãããããã§ãã ãããŠãå©çšè ããã®éçšãå®çãããŠããŸã㚠誀ã£ãæ©èœã«ãããŠããåãèœãšãããšãå°é£ã ã§ããããã¯ã䜿ãããŠããªãæ©èœããããçŽæ¥çãªè² åµãšãã£ã圢ã§ããã£ãããŒã®ããã«å¹ããŠããŸãã ãã©ã®ãããªäœ¿ããæ¹ãããããã«ã€ããŠæ³åããããš ãã®äœ¿ããæ¹ãããããã¯ãã®ç®æãäžçãšåã£ãŠããããš ãšã³ãžãã¢ã¯æè¡ã圢ã«ããäžã§ãåžžã«æ³ååãåãããŠåãçµãå¿ èŠãããã ãšããã®ãçè ã®æè«ã§ãã ãããã« å·çã®ç· ãã«ããã£ãŠ CTO ããã°ãèŠè¿ããŠã¿ããšã倧äºãªããšã¯ããã«è©°ãŸã£ãŠããŸãããçè ã¯åè·ã® SIer æä»£ã«èªãã ã®ã§ããããã®èšäºã«ãããå ±æããã®ãèŠããŠããŸãã toppa.medley.jp toppa.medley.jp ã¡ãã¬ãŒã§ã¯ å»çãã«ã¹ã±ã¢ã®æªæ¥ãäœã ãšãã倧ããªç®æšããããŠãã®æªæ¥ãäœãçºã«è§£æ±ºãã¹ã課é¡ã«åãã£ãŠãä»åã玹ä»ããããã»ã¹ãèãæ¹ãå«ã詊è¡é¯èª€ããªãããäºæ¥éšäžäžžã§ãããã¯ãéçºãæšé²ããŠããŸãã ãšã³ãžãã¢ã®ç·ååãçºæ®ããŠå»çãã«ã¹ã±ã¢ã®æªæ¥ãäžç·ã«äœãäžããŠããããïŒãšããæ¹ã«ãäŒãåºæ¥ãããšã楜ãã¿ã«ããŠãããŸãã åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/23
<![CDATA[ æè¡ã䜿ãããã®æè¡ã倧åãšããã話 ]]>
åããŸããŠãCLINICS ã®éçºãæ åœããŠãããšã³ãžãã¢ã®å¹³å±±ã§ãã ïŒåå§ã§ãã CTO ã§ã¯ããããŸããïŒ CLINICS ã®éçºã¯ãã¹ã¢ãŒã«ããŒã å¶ãããšã£ãŠãããŸããŠãçŸåšãã®ãã¡ã®ïŒã€ãããŒã ãªãŒãããŠããŸãã åè·ã¯é·ãã SIer ã«å€ããŠããŸãããå»å¹Žã® 12 æã«ã¡ãã¬ãŒã« JOIN ããŠãéãç¡ãïŒå¹ŽçµãšããšããŠãããããšæããšããã£ãšããéã ã£ããªããšããå°è±¡ã§ãã ããŠãæ¬æ¥ã¯ã¡ãã¬ãŒã§éé±éå¬ããŠãã瀟å å匷äŒïŒTechLunchïŒã«ãããŠçºè¡šããå 容ã«ã€ããŠã玹ä»ãããŠé ããã°ãšæããŸãã ã¯ããã« ãæè¡ã䜿ãããã®æè¡ããšããããŒããšãªããŸããããããã¯ãéçºãããŠããäžã§ã¯æ¬ ãããªãçŽ é€ãšèããŠããŸããã¡ãã¬ãŒã«æå±ããŠãããšã³ãžãã¢ã®ïŒäººãšããŠãã©ã®ããã«æ¥ã 課é¡ãšåãåã£ãŠããã®ããåœããŒããéããŠãäŒãã§ããã°ãšæããŸãã ãŸãããã®èãæ¹èªäœã¯ãå»çãšããããŒããããäºæ¥ã®èæ¯ïŒãã³ãã£ãŒã» SIerïŒããåããå¿ èŠãšãããå Žé¢ããããããããŸãããïŒèªèº«ãåè·ã§ã¯æ§ã ãªå Žé¢ã§ãäžè©±ã«ãªããŸããâŠïŒ å³å¹æ§ã®ãããã®ã§ã¯ãããŸããããããããå¹ããŠããå 容ã§ã¯ãªãããšæããŸãããããããã°ãä»ãåããã ããã æ¬é¡ ãæè¡ã䜿ãããã®æè¡ã ã¿ãªããã¯ãã®èšèãããäœãæãæµ®ãã¹ãã§ãããããçè ã詊ãã« Google ã§æ€çŽ¢ããéäžäœã«ãããããã®ã¯ AI ãšã³ãžã㢠IoT ãšãã£ãçµæã§ããããªãã»ã©ãå°ãéã«è§£éãããšãæè¡ïŒã¢ã«ãŽãªãºã çïŒã䜿ãããã®æè¡ïŒæ©æ¢°åŠç¿ãå®¶é»çïŒããšãã£ãæããªã®ã§ãããããïŒãã®çµæãæŸã£ãŠãããšããã®ããããæå³ã§ Google ããããªã£ãŠæããŸããïŒ çè ãä»åã®ããŒããšããŠæããŠããã®ã¯ãäžèšãšãªããŸãã ããžã«ã«ã·ã³ãã³ã° æšè« ãããã® æèãæŽçãããææ®µã ãšãšã³ãžãã¢ã®æŠåšã§ãã æè¡ãšãããææ®µã ãããåãããããšã§ã倧ããªããŒãã§ãããå»çãã«åãåã£ãŠããŸãã ææ®µãç®çã«ããŠã¯ãªããªã å ã«æãããšãããæèã®æŽçãããæè¡ãã ãææ®µã ã«éããŸãããããããçšããŠãé©åãªäžæãæããŠããçºã«ã¯ãç®çãã«å¯Ÿããè§£å床ãé«ãæãå¿ èŠããããŸãã çè ã®çºè¡šããæç²ãããæè¡ã䜿ãããã®æè¡ãã®èŠçŽ ãã€ã¡ãŒãžããå³ æŽçå ç®çãéæããçºã«å¿ èŠãªãæ å ±ããåæšéžæããããã®èŠçŽ ã SaaS âïž toB ã®äžçã«ãããŠã¯ããããã¯ãã解決ãã¹ã課é¡ãåŠããæ¥åã®æ¬è³ªãèžãŸããŠåæšéžæããããšèšãæãããããããããŸããã æ¥åç¥è ç®çã®ãè§£å床ããé«ããããã®èŠçŽ ã CLINICS ã«ãããŠã¯ãå»çæ å ±ãæ±ãäžã§ã®èŠå¶ïŒ3 ç 2 ã¬ã€ãã©ã€ã³ïŒããå»çæ©é¢ïŒå»åž«ã»å»äºã»èšºçç§ã®ç¹æ§ïŒã®æ¥åã蚺çå ±é ¬ã«ã€ããŠã®ç¥èãæ³æ¹æ£ãã¬ã»ã³ã³ïŒORCAïŒâŠ ãšæ§ã ãããŸãã æè¡ç¥è ç®çãéæããçºã«å¿ èŠãªãæãæããéžæããããã®èŠçŽ ã ïŒãšã³ãžãã¢ã«ãšã£ãŠã¯èª¬æãããŸã§ããªãå 容ã§ãããšæããŸããïŒ ãããæ¬ ããŠããŸããšçµµã«æããé€ ã§çµãã£ãŠããŸããŸããã¡ãã¬ãŒã®ãšã³ãžãã¢ã«ãããŠãæ¥ã ç éœãããããã¯ãã«å¯ŸããŠã³ããããç¶ããŠããŸãã è¡åå ç®çãéæããããã®ãæšé²åããé«ããããã®èŠçŽ ã åçš®ç¥èãšæŽçããæ å ±ãæšé²åã«å€ããŠããçºã«ã¯ããã®æã®ç¶æ³ã«å¿ããåããããå¿ èŠããããŸããã¹ããŒã¯ãã«ããŒãšã®èª¿æŽã¯åœç¶ã§ãããçµç¹å 飿ºãšãã£ããæšªã®åãããå¿ èŠã§ãã æ³åå ãããŸã§æããããããã®ææ®µãé©åã«å©çšããŠããããã®èŠçŽ ãšããŠã®åå°ããæ³ååãã§ãããšèããŠããŸãã 課é¡ïŒIssueïŒãžã®åãçµã¿äŸ çªå· æŠèŠ â Issue ã«åãçµãéã«ãæ¬åœã«è§£æ±ºãã¹ãããšãã«ã€ããŠã®æ³åãåãããŸããIssue ã«èšèŒãããŠããããšã æ¬åœã«ãããã¯ããšããŠè§£æ±ºãã¹ãããšãªã®ã ãå«ããŠèããŸãããããŸã§ã®éçšãå¿ ãããæ£ããããã§ã¯ãªãããšããç¹ããã€ã³ãã§ãã â¡ â ã«ã€ããŠãæ³åã®ãŸãŸãã§çµããããŠã¯ãããªãã®ã§ãæ¥åç¥èãšç §ããåãããŠç¢ºåºŠãé«ããŠãããŸããåžžå€å»åž«ãã«ã¹ã¿ããŒãµããŒãã«ãã¢ãªã³ã°ããªããã å»çæ¥åãšããŠã®ããã¹ã圢ã®è§£å床ãäžããŠãã ããã»ã¹ã§ãã ⢠â åã³ â¡ ã§é«ããè§£å床ã¯èšèã®å»¶é·ç·äžãªã®ã§ãé¢ä¿è éã®èªèã®ã®ã£ãããçºçããããã§ãããããã¿ã€ããäœæããŠãèŠèŠã»è§Šæã¬ãã«ã§ã®ã£ãããåããŠããããšã§ãããã¹ã圢ã«åããŠæŽç·ŽãããŠãããŸãã ⣠â ã ⢠ã®ã¿ã€ãã³ã°ãåãããå¿ èŠã«å¿ããŠé¢ä¿è ãšçžè«ããªããé²ããŠãããŸãããšã³ãžãã¢ãç«ãŠã仮説ããã¶ã€ããŒã®ç®ç·ã§è©äŸ¡ã» UI/UX æé©åãããŠé ãããã倧ããã®æ©èœã«ã€ããŠã¯ãå»çæ©é¢ã«ãã€ãããéçšã®ãååãä»°ãã ãããããšããããŸãã â åã³ â¡ ã®é ã«äœæ¥ã®ãŠã§ã€ããåã£ãŠããããã«èŠããããšæããŸããå®éã課é¡ã解決ããçºã®åå以äžãããã«å²ããŠããŸãã çç±ã¯ãïŒåºŠäœã£ãŠå ¬éããæ©èœãã¯ããã®åŸïŒäººæ©ããããŠäœæè ã®æå³ããªãæ¹åã§å©çšããããããšãããããã§ãã ãããŠãå©çšè ããã®éçšãå®çãããŠããŸã㚠誀ã£ãæ©èœã«ãããŠããåãèœãšãããšãå°é£ã ã§ããããã¯ã䜿ãããŠããªãæ©èœããããçŽæ¥çãªè² åµãšãã£ã圢ã§ããã£ãããŒã®ããã«å¹ããŠããŸãã ãã©ã®ãããªäœ¿ããæ¹ãããããã«ã€ããŠæ³åããããš ãã®äœ¿ããæ¹ãããããã¯ãã®ç®æãäžçãšåã£ãŠããããš ãšã³ãžãã¢ã¯æè¡ã圢ã«ããäžã§ãåžžã«æ³ååãåãããŠåãçµãå¿ èŠãããã ãšããã®ãçè ã®æè«ã§ãã ãããã« å·çã®ç· ãã«ããã£ãŠ CTO ããã°ãèŠè¿ããŠã¿ããšã倧äºãªããšã¯ããã«è©°ãŸã£ãŠããŸãããçè ã¯åè·ã® SIer æä»£ã«èªãã ã®ã§ããããã®èšäºã«ãããå ±æããã®ãèŠããŠããŸãã https://toppa.medley.jp/02.html ã¡ãã¬ãŒã§ã¯ å»çãã«ã¹ã±ã¢ã®æªæ¥ãäœã ãšãã倧ããªç®æšããããŠãã®æªæ¥ãäœãçºã«è§£æ±ºãã¹ã課é¡ã«åãã£ãŠãä»åã玹ä»ããããã»ã¹ãèãæ¹ãå«ã詊è¡é¯èª€ããªãããäºæ¥éšäžäžžã§ãããã¯ãéçºãæšé²ããŠããŸãã ãšã³ãžãã¢ã®ç·ååãçºæ®ããŠå»çãã«ã¹ã±ã¢ã®æªæ¥ãäžç·ã«äœãäžããŠããããïŒãšããæ¹ã«ãäŒãåºæ¥ãããšã楜ãã¿ã«ããŠãããŸãã https://www.medley.jp/jobs/
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/23
<![CDATA[ æè¡ã䜿ãããã®æè¡ã倧åãšããã話 ]]>
åããŸããŠãCLINICS ã®éçºãæ åœããŠãããšã³ãžãã¢ã®å¹³å±±ã§ãã ïŒåå§ã§ãã CTO ã§ã¯ããããŸããïŒ CLINICS ã®éçºã¯ãã¹ã¢ãŒã«ããŒã å¶ãããšã£ãŠãããŸããŠãçŸåšãã®ãã¡ã®ïŒã€ãããŒã ãªãŒãããŠããŸãã åè·ã¯é·ãã SIer ã«å€ããŠããŸãããå»å¹Žã® 12 æã«ã¡ãã¬ãŒã« JOIN ããŠãéãç¡ãïŒå¹ŽçµãšããšããŠãããããšæããšããã£ãšããéã ã£ããªããšããå°è±¡ã§ãã ããŠãæ¬æ¥ã¯ã¡ãã¬ãŒã§éé±éå¬ããŠãã瀟å å匷äŒïŒTechLunchïŒã«ãããŠçºè¡šããå 容ã«ã€ããŠã玹ä»ãããŠé ããã°ãšæããŸãã ã¯ããã« ãæè¡ã䜿ãããã®æè¡ããšããããŒããšãªããŸããããããã¯ãéçºãããŠããäžã§ã¯æ¬ ãããªãçŽ é€ãšèããŠããŸããã¡ãã¬ãŒã«æå±ããŠãããšã³ãžãã¢ã®ïŒäººãšããŠãã©ã®ããã«æ¥ã 課é¡ãšåãåã£ãŠããã®ããåœããŒããéããŠãäŒãã§ããã°ãšæããŸãã ãŸãããã®èãæ¹èªäœã¯ãå»çãšããããŒããããäºæ¥ã®èæ¯ïŒãã³ãã£ãŒã» SIerïŒããåããå¿ èŠãšãããå Žé¢ããããããããŸãããïŒèªèº«ãåè·ã§ã¯æ§ã ãªå Žé¢ã§ãäžè©±ã«ãªããŸããâŠïŒ å³å¹æ§ã®ãããã®ã§ã¯ãããŸããããããããå¹ããŠããå 容ã§ã¯ãªãããšæããŸãããããããã°ãä»ãåããã ããã æ¬é¡ ãæè¡ã䜿ãããã®æè¡ã ã¿ãªããã¯ãã®èšèãããäœãæãæµ®ãã¹ãã§ãããããçè ã詊ãã« Google ã§æ€çŽ¢ããéäžäœã«ãããããã®ã¯ AI ãšã³ãžã㢠IoT ãšãã£ãçµæã§ããããªãã»ã©ãå°ãéã«è§£éãããšãæè¡ïŒã¢ã«ãŽãªãºã çïŒã䜿ãããã®æè¡ïŒæ©æ¢°åŠç¿ãå®¶é»çïŒããšãã£ãæããªã®ã§ãããããïŒãã®çµæãæŸã£ãŠãããšããã®ããããæå³ã§ Google ããããªã£ãŠæããŸããïŒ çè ãä»åã®ããŒããšããŠæããŠããã®ã¯ãäžèšãšãªããŸãã ããžã«ã«ã·ã³ãã³ã° æšè« ãããã® æèãæŽçãããææ®µã ãšãšã³ãžãã¢ã®æŠåšã§ãã æè¡ãšãããææ®µã ãããåãããããšã§ã倧ããªããŒãã§ãããå»çãã«åãåã£ãŠããŸãã ææ®µãç®çã«ããŠã¯ãªããªã å ã«æãããšãããæèã®æŽçãããæè¡ãã ãææ®µã ã«éããŸãããããããçšããŠãé©åãªäžæãæããŠããçºã«ã¯ãç®çãã«å¯Ÿããè§£å床ãé«ãæãå¿ èŠããããŸãã çè ã®çºè¡šããæç²ãããæè¡ã䜿ãããã®æè¡ãã®èŠçŽ ãã€ã¡ãŒãžããå³ æŽçå ç®çãéæããçºã«å¿ èŠãªãæ å ±ããåæšéžæããããã®èŠçŽ ã SaaS âïž toB ã®äžçã«ãããŠã¯ããããã¯ãã解決ãã¹ã課é¡ãåŠããæ¥åã®æ¬è³ªãèžãŸããŠåæšéžæããããšèšãæãããããããããŸããã æ¥åç¥è ç®çã®ãè§£å床ããé«ããããã®èŠçŽ ã CLINICS ã«ãããŠã¯ãå»çæ å ±ãæ±ãäžã§ã®èŠå¶ïŒ3 ç 2 ã¬ã€ãã©ã€ã³ïŒããå»çæ©é¢ïŒå»åž«ã»å»äºã»èšºçç§ã®ç¹æ§ïŒã®æ¥åã蚺çå ±é ¬ã«ã€ããŠã®ç¥èãæ³æ¹æ£ãã¬ã»ã³ã³ïŒORCAïŒâŠ ãšæ§ã ãããŸãã æè¡ç¥è ç®çãéæããçºã«å¿ èŠãªãæãæããéžæããããã®èŠçŽ ã ïŒãšã³ãžãã¢ã«ãšã£ãŠã¯èª¬æãããŸã§ããªãå 容ã§ãããšæããŸããïŒ ãããæ¬ ããŠããŸããšçµµã«æããé€ ã§çµãã£ãŠããŸããŸããã¡ãã¬ãŒã®ãšã³ãžãã¢ã«ãããŠãæ¥ã ç éœãããããã¯ãã«å¯ŸããŠã³ããããç¶ããŠããŸãã è¡åå ç®çãéæããããã®ãæšé²åããé«ããããã®èŠçŽ ã åçš®ç¥èãšæŽçããæ å ±ãæšé²åã«å€ããŠããçºã«ã¯ããã®æã®ç¶æ³ã«å¿ããåããããå¿ èŠããããŸããã¹ããŒã¯ãã«ããŒãšã®èª¿æŽã¯åœç¶ã§ãããçµç¹å 飿ºãšãã£ããæšªã®åãããå¿ èŠã§ãã æ³åå ãããŸã§æããããããã®ææ®µãé©åã«å©çšããŠããããã®èŠçŽ ãšããŠã®åå°ããæ³ååãã§ãããšèããŠããŸãã 課é¡ïŒIssueïŒãžã®åãçµã¿äŸ çªå· æŠèŠ â Issue ã«åãçµãéã«ãæ¬åœã«è§£æ±ºãã¹ãããšãã«ã€ããŠã®æ³åãåãããŸããIssue ã«èšèŒãããŠããããšã æ¬åœã«ãããã¯ããšããŠè§£æ±ºãã¹ãããšãªã®ã ãå«ããŠèããŸãããããŸã§ã®éçšãå¿ ãããæ£ããããã§ã¯ãªãããšããç¹ããã€ã³ãã§ãã â¡ â ã«ã€ããŠãæ³åã®ãŸãŸãã§çµããããŠã¯ãããªãã®ã§ãæ¥åç¥èãšç §ããåãããŠç¢ºåºŠãé«ããŠãããŸããåžžå€å»åž«ãã«ã¹ã¿ããŒãµããŒãã«ãã¢ãªã³ã°ããªããã å»çæ¥åãšããŠã®ããã¹ã圢ã®è§£å床ãäžããŠãã ããã»ã¹ã§ãã ⢠â åã³ â¡ ã§é«ããè§£å床ã¯èšèã®å»¶é·ç·äžãªã®ã§ãé¢ä¿è éã®èªèã®ã®ã£ãããçºçããããã§ãããããã¿ã€ããäœæããŠãèŠèŠã»è§Šæã¬ãã«ã§ã®ã£ãããåããŠããããšã§ãããã¹ã圢ã«åããŠæŽç·ŽãããŠãããŸãã ⣠â ã ⢠ã®ã¿ã€ãã³ã°ãåãããå¿ èŠã«å¿ããŠé¢ä¿è ãšçžè«ããªããé²ããŠãããŸãããšã³ãžãã¢ãç«ãŠã仮説ããã¶ã€ããŒã®ç®ç·ã§è©äŸ¡ã» UI/UX æé©åãããŠé ãããã倧ããã®æ©èœã«ã€ããŠã¯ãå»çæ©é¢ã«ãã€ãããéçšã®ãååãä»°ãã ãããããšããããŸãã â åã³ â¡ ã®é ã«äœæ¥ã®ãŠã§ã€ããåã£ãŠããããã«èŠããããšæããŸããå®éã課é¡ã解決ããçºã®åå以äžãããã«å²ããŠããŸãã çç±ã¯ãïŒåºŠäœã£ãŠå ¬éããæ©èœãã¯ããã®åŸïŒäººæ©ããããŠäœæè ã®æå³ããªãæ¹åã§å©çšããããããšãããããã§ãã ãããŠãå©çšè ããã®éçšãå®çãããŠããŸã㚠誀ã£ãæ©èœã«ãããŠããåãèœãšãããšãå°é£ã ã§ããããã¯ã䜿ãããŠããªãæ©èœããããçŽæ¥çãªè² åµãšãã£ã圢ã§ããã£ãããŒã®ããã«å¹ããŠããŸãã ãã©ã®ãããªäœ¿ããæ¹ãããããã«ã€ããŠæ³åããããš ãã®äœ¿ããæ¹ãããããã¯ãã®ç®æãäžçãšåã£ãŠããããš ãšã³ãžãã¢ã¯æè¡ã圢ã«ããäžã§ãåžžã«æ³ååãåãããŠåãçµãå¿ èŠãããã ãšããã®ãçè ã®æè«ã§ãã ãããã« å·çã®ç· ãã«ããã£ãŠ CTO ããã°ãèŠè¿ããŠã¿ããšã倧äºãªããšã¯ããã«è©°ãŸã£ãŠããŸãããçè ã¯åè·ã® SIer æä»£ã«èªãã ã®ã§ããããã®èšäºã«ãããå ±æããã®ãèŠããŠããŸãã toppa.medley.jp toppa.medley.jp ã¡ãã¬ãŒã§ã¯ å»çãã«ã¹ã±ã¢ã®æªæ¥ãäœã ãšãã倧ããªç®æšããããŠãã®æªæ¥ãäœãçºã«è§£æ±ºãã¹ã課é¡ã«åãã£ãŠãä»åã玹ä»ããããã»ã¹ãèãæ¹ãå«ã詊è¡é¯èª€ããªãããäºæ¥éšäžäžžã§ãããã¯ãéçºãæšé²ããŠããŸãã ãšã³ãžãã¢ã®ç·ååãçºæ®ããŠå»çãã«ã¹ã±ã¢ã®æªæ¥ãäžç·ã«äœãäžããŠããããïŒãšããæ¹ã«ãäŒãåºæ¥ãããšã楜ãã¿ã«ããŠãããŸãã åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/23
<![CDATA[ æè¡ã䜿ãããã®æè¡ã倧åãšããã話 ]]>
åããŸããŠãCLINICS ã®éçºãæ åœããŠãããšã³ãžãã¢ã®å¹³å±±ã§ãã ïŒåå§ã§ãã CTO ã§ã¯ããããŸããïŒ CLINICS ã®éçºã¯ãã¹ã¢ãŒã«ããŒã å¶ãããšã£ãŠãããŸããŠãçŸåšãã®ãã¡ã®ïŒã€ãããŒã ãªãŒãããŠããŸãã åè·ã¯é·ãã SIer ã«å€ããŠããŸãããå»å¹Žã® 12 æã«ã¡ãã¬ãŒã« JOIN ããŠãéãç¡ãïŒå¹ŽçµãšããšããŠãããããšæããšããã£ãšããéã ã£ããªããšããå°è±¡ã§ãã ããŠãæ¬æ¥ã¯ã¡ãã¬ãŒã§éé±éå¬ããŠãã瀟å å匷äŒïŒTechLunchïŒã«ãããŠçºè¡šããå 容ã«ã€ããŠã玹ä»ãããŠé ããã°ãšæããŸãã ã¯ããã« ãæè¡ã䜿ãããã®æè¡ããšããããŒããšãªããŸããããããã¯ãéçºãããŠããäžã§ã¯æ¬ ãããªãçŽ é€ãšèããŠããŸããã¡ãã¬ãŒã«æå±ããŠãããšã³ãžãã¢ã®ïŒäººãšããŠãã©ã®ããã«æ¥ã 課é¡ãšåãåã£ãŠããã®ããåœããŒããéããŠãäŒãã§ããã°ãšæããŸãã ãŸãããã®èãæ¹èªäœã¯ãå»çãšããããŒããããäºæ¥ã®èæ¯ïŒãã³ãã£ãŒã» SIerïŒããåããå¿ èŠãšãããå Žé¢ããããããããŸãããïŒèªèº«ãåè·ã§ã¯æ§ã ãªå Žé¢ã§ãäžè©±ã«ãªããŸããâŠïŒ å³å¹æ§ã®ãããã®ã§ã¯ãããŸããããããããå¹ããŠããå 容ã§ã¯ãªãããšæããŸãããããããã°ãä»ãåããã ããã æ¬é¡ ãæè¡ã䜿ãããã®æè¡ã ã¿ãªããã¯ãã®èšèãããäœãæãæµ®ãã¹ãã§ãããããçè ã詊ãã« Google ã§æ€çŽ¢ããéäžäœã«ãããããã®ã¯ AI ãšã³ãžã㢠IoT ãšãã£ãçµæã§ããããªãã»ã©ãå°ãéã«è§£éãããšãæè¡ïŒã¢ã«ãŽãªãºã çïŒã䜿ãããã®æè¡ïŒæ©æ¢°åŠç¿ãå®¶é»çïŒããšãã£ãæããªã®ã§ãããããïŒãã®çµæãæŸã£ãŠãããšããã®ããããæå³ã§ Google ããããªã£ãŠæããŸããïŒ çè ãä»åã®ããŒããšããŠæããŠããã®ã¯ãäžèšãšãªããŸãã ããžã«ã«ã·ã³ãã³ã° æšè« ãããã® æèãæŽçãããææ®µã ãšãšã³ãžãã¢ã®æŠåšã§ãã æè¡ãšãããææ®µã ãããåãããããšã§ã倧ããªããŒãã§ãããå»çãã«åãåã£ãŠããŸãã ææ®µãç®çã«ããŠã¯ãªããªã å ã«æãããšãããæèã®æŽçãããæè¡ãã ãææ®µã ã«éããŸãããããããçšããŠãé©åãªäžæãæããŠããçºã«ã¯ãç®çãã«å¯Ÿããè§£å床ãé«ãæãå¿ èŠããããŸãã çè ã®çºè¡šããæç²ãããæè¡ã䜿ãããã®æè¡ãã®èŠçŽ ãã€ã¡ãŒãžããå³ æŽçå ç®çãéæããçºã«å¿ èŠãªãæ å ±ããåæšéžæããããã®èŠçŽ ã SaaS âïž toB ã®äžçã«ãããŠã¯ããããã¯ãã解決ãã¹ã課é¡ãåŠããæ¥åã®æ¬è³ªãèžãŸããŠåæšéžæããããšèšãæãããããããããŸããã æ¥åç¥è ç®çã®ãè§£å床ããé«ããããã®èŠçŽ ã CLINICS ã«ãããŠã¯ãå»çæ å ±ãæ±ãäžã§ã®èŠå¶ïŒ3 ç 2 ã¬ã€ãã©ã€ã³ïŒããå»çæ©é¢ïŒå»åž«ã»å»äºã»èšºçç§ã®ç¹æ§ïŒã®æ¥åã蚺çå ±é ¬ã«ã€ããŠã®ç¥èãæ³æ¹æ£ãã¬ã»ã³ã³ïŒORCAïŒâŠ ãšæ§ã ãããŸãã æè¡ç¥è ç®çãéæããçºã«å¿ èŠãªãæãæããéžæããããã®èŠçŽ ã ïŒãšã³ãžãã¢ã«ãšã£ãŠã¯èª¬æãããŸã§ããªãå 容ã§ãããšæããŸããïŒ ãããæ¬ ããŠããŸããšçµµã«æããé€ ã§çµãã£ãŠããŸããŸããã¡ãã¬ãŒã®ãšã³ãžãã¢ã«ãããŠãæ¥ã ç éœãããããã¯ãã«å¯ŸããŠã³ããããç¶ããŠããŸãã è¡åå ç®çãéæããããã®ãæšé²åããé«ããããã®èŠçŽ ã åçš®ç¥èãšæŽçããæ å ±ãæšé²åã«å€ããŠããçºã«ã¯ããã®æã®ç¶æ³ã«å¿ããåããããå¿ èŠããããŸããã¹ããŒã¯ãã«ããŒãšã®èª¿æŽã¯åœç¶ã§ãããçµç¹å 飿ºãšãã£ããæšªã®åãããå¿ èŠã§ãã æ³åå ãããŸã§æããããããã®ææ®µãé©åã«å©çšããŠããããã®èŠçŽ ãšããŠã®åå°ããæ³ååãã§ãããšèããŠããŸãã 課é¡ïŒIssueïŒãžã®åãçµã¿äŸ çªå· æŠèŠ â Issue ã«åãçµãéã«ãæ¬åœã«è§£æ±ºãã¹ãããšãã«ã€ããŠã®æ³åãåãããŸããIssue ã«èšèŒãããŠããããšã æ¬åœã«ãããã¯ããšããŠè§£æ±ºãã¹ãããšãªã®ã ãå«ããŠèããŸãããããŸã§ã®éçšãå¿ ãããæ£ããããã§ã¯ãªãããšããç¹ããã€ã³ãã§ãã â¡ â ã«ã€ããŠãæ³åã®ãŸãŸãã§çµããããŠã¯ãããªãã®ã§ãæ¥åç¥èãšç §ããåãããŠç¢ºåºŠãé«ããŠãããŸããåžžå€å»åž«ãã«ã¹ã¿ããŒãµããŒãã«ãã¢ãªã³ã°ããªããã å»çæ¥åãšããŠã®ããã¹ã圢ã®è§£å床ãäžããŠãã ããã»ã¹ã§ãã ⢠â åã³ â¡ ã§é«ããè§£å床ã¯èšèã®å»¶é·ç·äžãªã®ã§ãé¢ä¿è éã®èªèã®ã®ã£ãããçºçããããã§ãããããã¿ã€ããäœæããŠãèŠèŠã»è§Šæã¬ãã«ã§ã®ã£ãããåããŠããããšã§ãããã¹ã圢ã«åããŠæŽç·ŽãããŠãããŸãã ⣠â ã ⢠ã®ã¿ã€ãã³ã°ãåãããå¿ èŠã«å¿ããŠé¢ä¿è ãšçžè«ããªããé²ããŠãããŸãããšã³ãžãã¢ãç«ãŠã仮説ããã¶ã€ããŒã®ç®ç·ã§è©äŸ¡ã» UI/UX æé©åãããŠé ãããã倧ããã®æ©èœã«ã€ããŠã¯ãå»çæ©é¢ã«ãã€ãããéçšã®ãååãä»°ãã ãããããšããããŸãã â åã³ â¡ ã®é ã«äœæ¥ã®ãŠã§ã€ããåã£ãŠããããã«èŠããããšæããŸããå®éã課é¡ã解決ããçºã®åå以äžãããã«å²ããŠããŸãã çç±ã¯ãïŒåºŠäœã£ãŠå ¬éããæ©èœãã¯ããã®åŸïŒäººæ©ããããŠäœæè ã®æå³ããªãæ¹åã§å©çšããããããšãããããã§ãã ãããŠãå©çšè ããã®éçšãå®çãããŠããŸã㚠誀ã£ãæ©èœã«ãããŠããåãèœãšãããšãå°é£ã ã§ããããã¯ã䜿ãããŠããªãæ©èœããããçŽæ¥çãªè² åµãšãã£ã圢ã§ããã£ãããŒã®ããã«å¹ããŠããŸãã ãã©ã®ãããªäœ¿ããæ¹ãããããã«ã€ããŠæ³åããããš ãã®äœ¿ããæ¹ãããããã¯ãã®ç®æãäžçãšåã£ãŠããããš ãšã³ãžãã¢ã¯æè¡ã圢ã«ããäžã§ãåžžã«æ³ååãåãããŠåãçµãå¿ èŠãããã ãšããã®ãçè ã®æè«ã§ãã ãããã« å·çã®ç· ãã«ããã£ãŠ CTO ããã°ãèŠè¿ããŠã¿ããšã倧äºãªããšã¯ããã«è©°ãŸã£ãŠããŸãããçè ã¯åè·ã® SIer æä»£ã«èªãã ã®ã§ããããã®èšäºã«ãããå ±æããã®ãèŠããŠããŸãã toppa.medley.jp toppa.medley.jp ã¡ãã¬ãŒã§ã¯ å»çãã«ã¹ã±ã¢ã®æªæ¥ãäœã ãšãã倧ããªç®æšããããŠãã®æªæ¥ãäœãçºã«è§£æ±ºãã¹ã課é¡ã«åãã£ãŠãä»åã玹ä»ããããã»ã¹ãèãæ¹ãå«ã詊è¡é¯èª€ããªãããäºæ¥éšäžäžžã§ãããã¯ãéçºãæšé²ããŠããŸãã ãšã³ãžãã¢ã®ç·ååãçºæ®ããŠå»çãã«ã¹ã±ã¢ã®æªæ¥ãäžç·ã«äœãäžããŠããããïŒãšããæ¹ã«ãäŒãåºæ¥ãããšã楜ãã¿ã«ããŠãããŸãã åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/20
<![CDATA[ ããã³ããšã³ãéçºç°å¢ã®ç¶ç¶çãªãªãã¡ã¯ã¿ãªã³ã° ]]>
ããã«ã¡ã¯ã第äºéçºã°ã«ãŒããšã³ãžãã¢ã®è¥¿æã§ãã䞻㫠CLINICS ã®éçºãæ åœããŠããŸãã ã¯ããã« CLINICS ã¯é»åã«ã«ãããªã³ã©ã€ã³èšºçãäºçŽã·ã¹ãã ãæ£è ã¢ããªãªã©ãå«ãçµ±åã¢ããªã§ããCLINICS ãããŒã³ãããŠããçŸåšã«è³ããŸã§åžžã«æ°æ©èœéçºãšå®åžžæ¹åãè¡ãããŠãããéçºç°å¢ã®ã¡ã³ããã³ã¹ã¯åŸæã«ãªããã¡ã§ãããä»åã¯ãããã£ãç¶æ³ãæ¹åãã¹ããéçºç°å¢ã®ã¡ã³ããã³ã¹ããªãã¡ã¯ã¿ãªã³ã°ãè¡ã£ãéçšããåŸããããã©ã¯ãã£ã¹ã«ã€ããŠç޹ä»ããŠããããšæããŸãã ã¢ãããŒã·ã§ã³ ãããã¯ãã®æ°èŠéçºæã«è¡ãããæè¡éžå®ã¯éåžžã«é£ãããæ¥åèŠä»¶ãããŒã ç¶æ³ãªã©ç·åçã«èæ ®ããŠãã®æç¹ã§ã®ãã¹ããªéžæãããå¿ èŠããããŸãã ããããéžæããæè¡ã§é·æéçšãããŠãããã¡ã«ãã¡ã³ããã³ã¹ãè¡ãå±ããªããªã£ãã³ãŒããã©ã€ãã©ãªãåºãŠããŸããŸãã CLINICS ããŒã³ãåœåã¯ãªã³ã©ã€ã³èšºçã®ã¿ãæäŸããŠããŸãããSPA ã§æ§æãããŠããŸããããïŒã€ã® package.json ã§å¹ççã«éçºã§ããŠããŸãããä»ã«ãçŸåšã»ã© TypeScript ãäž»æµã§ã¯ãªãã£ãã®ã§ JavaScript ã®ã³ãŒããã¡ã€ã³ã§å®è£ ãããŠãŸããã æ°ããªã¢ããªã±ãŒã·ã§ã³ïŒé»åã«ã«ããäºçŽã·ã¹ãã ãªã©ïŒãå°å ¥ããã¿ã€ãã³ã°ãããªãã¡ãããã¯ããå°èŠæš¡ããäžèŠæš¡ã«å€é·ããã¿ã€ãã³ã°ããããã³ããšã³ãã®ææµã«ãã£ãŠãéçºç°å¢ãæ¹åã§ããéšåããããŸãããããããŠããªãéšåãåºãŠããŸããã ãã®æ¹åããããŠããªãéšåãæ®ãç¶æ ãç¶ããš Developer Experience(DX)ã®äœäžã«ç¹ãã£ãŠããŸããŸããã§ãã®ã§ãç§ãã¡ã¯æ¹åããããŠããªãéšåãåãé€ããŠãããããã¢ãã³ãšãããéçºç°å¢ãžãªãã¡ã¯ã¿ãªã³ã°ãããŠããããšèããŸããã DX ãåäžããŠããããšã§æè¡çãªãã€ãºã«æéãåãããªãããã«ãªããŸãããããŠæäŸããæ©èœãã®ãã®ã«ã€ããŠèããæéãå¢ããçµæçã« CLINICS ãããè¯ããããã¯ããžé²åãããŠããã®ãåœãªãã¡ã¯ã¿ãªã³ã°ã®ç®çã§ãã èª²é¡æŽç æ¹åããŠããããã«ã¯ãçŸç¶æŽçãèª²é¡æŽçãè¡ããªãããšã«ã¯äœãå§ãŸããŸãããããã³ããšã³ãéçºç°å¢ãã¡ã³ããã³ã¹ããã¿ã¹ã¯ã¯ããããã¯ãã®æ©èœïŒãŠãŒã¶ã«æäŸãããæ©èœïŒã«çŽæ¥ãã©ã¹ã®åœ±é¿ãããããã§ã¯ãããŸãããèªããšéåžžã®æ©èœéçºãå®åžžæ¹åã«æ¯ã¹åªå 床ã¯èœã¡ããããã¹ããæéã§æ¹åãããŠããããšã«ãªããŸããããããã¹ããæéãæå¹æŽ»çšããããã«ã¯ãã¿ã¹ã¯ã®é£æåºŠã®çè§£ãã¿ã¹ã¯ãé©åœã«åå²ããã§ãŒãžã³ã°ã®èšç»ãè¡ãããšã極ããŠå€§äºã§ãã ãã®ããã«èæ ®ãã課é¡ã®äžã§ãæ¬èšäºã§èšèŒããã®ã¯ä»¥äžã®ïŒã€ã§ãã ã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšãåºãŸã£ãŠãªã éçšæ¹åŒãåºãŸã£ãŠããªãããšã§ãæŸçœ®ãããŠããŸããã¡ã§ããçå ããŠã¢ããããŒãããã¡ã³ããŒããããšããŠããå±äººåã®èª²é¡ãæ®ã£ãŠããŸããŸã æŸçœ®ãããŠããŸã£ãããšã«ãããææ°çãšã®å·®åã倧ãããªãã¢ããããŒãããã³ã¹ãã倧ãããªã£ãŠããŸããŸã çµæçã«ãã©ã€ãã©ãªã®ã»ãã¥ãªãã£ãã£ãã¯ã¹å¯Ÿå¿ãæ°ããæäŸãããæ©èœãããã«é©å¿ã§ããªãç°å¢ã«ãªã£ãŠããŸããŸã è€æ°ã® SPA ã®äŸåãïŒã€ã® package.json ã§ç®¡çããŠãã é»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸã ããããïŒã€ã® package.json ã§ç®¡çããŠããããããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããŠã¯ãªããŸãããå°èŠæš¡ã®ãšãã¯ãã®ãããªæ§æã§ååã§ããããèŠæš¡ã倧ãããªãã«ã€ããŠæè»æ§ã倱ããããšå ±ã«ãã©ã€ãã©ãªã®ã¢ããããŒãããããã圱é¿ç¯å²ãåºãã£ãŠããŸãããã容æã«ã¢ããããŒãã§ããªããªã£ãŠããŸããŸã æ¬èšäºã§ã¯èšèŒããŸããããRedux ã®æžãæ¹ãæ··åšããŠããããããã³ããšã³ãã®ãã¹ããå°ãªãããç¶²çŸ çã« TypeScript åã§ããŠããªã JavaScript ããŸã æ®ã£ãŠããããªã©ã®èª²é¡ãæããããŸããã ãããã課é¡ã¯ãã©ã®ãããã¯ãã«ãååšãããšæããŸããããã¯ããŒã³ãåœæã®æè¡æµè¡ã§ãã£ããããããã¯ãã®æåŸ èŠæš¡ãå°æ°ã¡ã³ãã«é©ããèšèšãªã©èŠå ã¯æ§ã ãããããã°ã©ã ã®ãªãã¡ã¯ã¿ãªã³ã°ãšåæ§ã« ãããã¯ãã®æé·ã«äŒŽã£ãŠãªãã¡ã¯ã¿ãªã³ã°ããŠããããšãæ£ ã ãšä¿¡ããŠããŸãã ã¢ãããŒã·ã§ã³ã«ãŠèšèŒããéãããããè€æ°ã®èª²é¡ã¯éçºç°å¢ã®ãã€ãºã§ãããé€å»ããããšã«ãã£ãŠãããè¯ã DX ãåŸããããšèããŠããŸããä»ã«ãã®ãããªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠããããã¯ããããå ç¢ã«ã§ãããšããåŽé¢ããããŸãã äžèšã®ïŒã€ã®èª²é¡ã«å¯ŸããŠãããããã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšææ®µãèšããããpackage.json ã SPA åäœã«åå²ããã話ãããããããŠãããŸãã ããã³ããšã³ãéçºç°å¢ã®ãªãã¡ã¯ã¿ãªã³ã° ã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãã æåã¢ããããŒã ã©ã€ãã©ãªãã¢ããããŒãããã«ã¯ã³ãã³ããå©ãã ãã ãšèããŠããŸããããäŸåããŠããå¥ã®ã©ã€ãã©ãªã«åœ±é¿ãæ¬åœã«ãªãããªã©èª¿æ»ããå¿ èŠããããšç¥ããã©ã€ãã©ãªã®ã¢ããããŒãæ¹æ³ã暡玢ãããšããããéå§ããŸããã ã©ã€ãã©ãªã§ã¯ãªãã§ãããNode.js ã®ã¢ããããŒããããããšãããšãnode-sass ã Firebase ã圱é¿ããŠãããããŠãèã¥ãåŒã§æ ¹ã£ãã«ããã©ã€ãã©ãªã®ã¢ããããŒããããå¿ èŠãåºãŠãããããã®ã§ãäžã€äžã€åé¡ããªãã調æ»ããã®ã倧å€ã§ããã äœãããã¢ããããŒã察象ã©ã€ãã©ãªã®ãªãªãŒã¹ããŒãã« Breaking Changes ãæžãããŠããªãã£ãããsemver ãå®ãããŠãããããããªãã£ãããšããããã¯ãã«åœ±é¿ããªãã調ã¹ãå¿ èŠããããåé¡ã®åãåãæ¹ãé£ããã£ãã®ã§ãã ããã§åŸãããã©ã€ãã©ãªã¢ããããŒãã®å®å šæ§æ ä¿ã®ãã©ã¯ãã£ã¹ãšã㊠webpack ã«ãããã«ãçµæãå€ãããªãã±ãŒã¹ ãšã QA ãã¹ãã«ãã£ãŠæ ä¿ããã±ãŒã¹ ãããããšãããããŸãããåè 㯠webpack ã«ããææç©ãå€ãããªãã®ã§ããã°ä»åã®ã¢ããããŒããå®å šã§ãããšãããåŸè ã¯ãšã³ãžãã¢ãš QA ãšã³ãžãã¢ã«ãã£ãŠã©ã€ãã©ãªã®åœ±é¿ç¯å²ã«ãã¬ãŒã·ã§ã³ããªãããšã確ãããŠå®å šã§ãããšããããšãããã®ã§ãã renovate ã®éçšéå§ æ°ã«æéã¯äžèšã®ããã«ã©ã€ãã©ãªã®ã¢ããããŒããæåã§è¡ã£ãŠããŸãããã確èªå·¥æ°ãå¢ããŠããŸããä»ã®ã¿ã¹ã¯ã®æéãå§è¿«ããŠããŸãã»ã©ã§ããã ããã§ãã¢ããããŒããèªååãã renovate  㚠dependabot ãèŠéã«å ¥ããŸãããrenovate ã¯ãdependabot ã«æ¯ã¹ãŠé«æ©èœã§ãã€ãç¡æã§ãããšããçç±ã§éžå®ããŸããã éçšåœåãrenovate ã Pull Request ãäœæããŠãããããdiff ã«ããã©ã€ãã©ãªã®å€æŽç¹ãèŠãããã£ãããšãæ©æµãæããŠããŸãããããããåŸã ã«ãã¢ããããŒã察象ãå€ãããããããã©ãããã©ã€ãã©ãªã§ã圱é¿ç¯å²ãã©ããªã®ãããšããããšã®èª¿æ»ã«æéãåãããããã«ãªã£ãŠããŸããŸããã ããã§åŸãããèª¿æ»æéãççž®ãããã©ã¯ãã£ã¹ãšããŠ**ãæ¬çªåœ±é¿ã®ãããã®ããéçºåããããã«ãåšãããš renovate ããæ¥ã Pull Request ãæŽçãã**ããšã§ãããã®ãããªæŽçãè¡ãããšã§ãæ¬çªåœ±é¿ã®ãããã®ã«æ³šåããŠã¬ãã¥ãŒã§ããããã«ãªããèŠã«ãªããã«ã¢ããããŒããã§ããããã«ãªããŸããã çµæ ã©ã€ãã©ãªã¢ããããŒãã®éçšæé ãèšããããšã«ãã£ãŠãä»ãŸã§ä»¥äžã«å ç¢ãªç°å¢ã«ãªããŸããããããããrenovate ã«ãã£ãŠèªåçã«éèŠãªïŒæ¬çªåœ±é¿ã®ããïŒã©ã€ãã©ãªã®ã¿ã«éäžããŠã¬ãã¥ãŒãè¡ãããšã«ãã£ãŠãå°ãªãå·¥æ°ã§ã¢ããããŒãããŠãããããã«ãªããŸããã package.json ã SPA åäœã«åå² èª²é¡æŽçã§èšèŒããéããé»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸãããïŒã€ã® package.json ã§ç®¡çããŠããŸããã§ãã®ã§ããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããã°ãªããŸããã åŒå®³ãšã㊠package.json ã«å¯ŸããŠïŒã€ã®å€æŽããã£ããšãã«ãã¹ãŠã® SPA ã«åœ±é¿ãåºãŠããŸããŸããã§ãã®ã§ããã®è¥å€§åãã package.json ãããããã® SPA ã«åå²ããããšããŸããã package.json ã SPA åäœã«åå²ããããšã¯ 責ååé¢ ãšããåŽé¢ããããã©ã€ãã©ãªã ãã§ãªããå ±éããŠãã宿°ãããžãã¯ãã³ã³ããŒãã³ããwebpack.config.jsãbabel.config.js ãš tsconfig.json ãªã©ãã¹ãŠãããããã® SPA ã«äŸåã®ãªã圢ã«éããããã«ããŸããããããã®åå²ããäœæ¥ã¯éåžžã«æ³¥èããã®ã§ãæ¬èšäºã«èšèŒããã»ã©ã®ãã®ã§ã¯ãããŸããããåŸãããçµæã«ã€ããŠèšèŒããŠããããšæããŸãã çµæ ãŸãã責ååé¢ãã§ããã®ã§ãïŒã€ã® SPA ã«å¯Ÿãã倿Žããã£ããšãã«ãä»ã®å šãŠã® SPA ã«å¯Ÿãã圱é¿ãåºãªããªããŸããããã£ãŠãïŒã€ã® SPA ã«å¯ŸããŠæ°ã㪠Web ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªã詊ãããšã容æã«ãªããŸãããä»ã«ããïŒã€ã® webpack ã§ãã¹ãŠã® SPA ãã·ãŒã±ã³ã·ã£ã«ã«ãã«ãããŠããã®ã«å¯ŸããŠãçŸåšã¯ãã©ã¬ã«ã§ãã«ãã§ããããã«ãªããã«ãæéãççž®ããããããä»ãŸã§ä»¥äžã«ã³ããããããããã€ãŸã§ã®ã€ãã¬ãŒã·ã§ã³ãå°ãããªããŸããã ãããã®çµæããããã³ãéçºç°å¢ã®æ¹åããã³ DX åäžãæãããŸããã ä»åŸã®èª²é¡ æç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããä»çµã¿äœã ãã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãããã¯ãŸãã«æç¶çã«ã©ã€ãã©ãªãã¢ããããŒãããããã®ææ®µã§ãããpackage.json ã SPA åäœã«åå²ããããããããã® SPA ãã¡ã³ããã³ã¹ããããç°å¢äœããšããŠã¯æ¬ ãããªãäœæ¥ã§ããã ãããããã®ãŸãŸãªãã¡ã¯ã¿ãªã³ã°ãäžæããã°ããããã¯ãã®èŠæš¡ã倧ãããªããšããããã³ããšã³ãã®ææµã«ãã£ãŠåã³ã¡ã³ããã³ã¹ãã¥ããç°å¢ã«ãªã£ãŠããŸããŸãã ãªã®ã§ãæç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããããã«ã¯ä»çµã¿äœããæ¬ ãããªããšèããŠããŸãããã®ããã«ã¯ãå±äººåã«ãããªãä»çµã¿ã¥ãããã¡ã³ããã³ã¹ããããç°å¢æ¹åããšã³ãžãã¢ããããã®ããã³ããšã³ãéçºç°å¢ã«å¯Ÿãããªãã©ã·ãé«ããåãçµã¿ãè¡ã£ãŠããå¿ èŠããããŸãããã®ãããçŸåš æšªè»žååŒ·äŒ ãªã©ã§ CLINICS ããã³ããšã³ãã®å®è£ èæ¯ãããªãã¡ã¯ã¿ãªã³ã°ããããæžãæ¹ãªã©ã®ãã¬ããžãå ±æããŠããŸãã ãŸãšã ããã³ããšã³ãéçºç°å¢ã®ã¡ã³ããã³ã¹ã»ãªãã¡ã¯ã¿ãªã³ã°èªäœã¯ãããŸã§ããŠãŒã¶ã«æ°ããæ©èœãæäŸããŠããããã§ã¯ãªããç²ã ãšè¡ã£ãŠãããã®ã§ãããããã課é¡ãæŽãåºããåãåã£ãŠã解決ããŠãã£ãããšã«ãã£ãŠåŸããããã©ã¯ãã£ã¹ã¯å€ããããããã³ããšã³ãã®ãšã³ã·ã¹ãã ã«å¯Ÿããçè§£ãå€ãåŸãããŸããã ãããã®ãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠ DX ãåäžããŠãããæè¡çãªãã€ãºã«æ©ãæéãæžãããšã³ãžãã¢ã¯ãããããã¯ãã®æ©èœéçºã«å°å¿µã§ããããã«ãªã£ãŠãããšä¿¡ããŠããŸãã ä»åç§ãã¡ã課é¡ã解決ããããšã«ãã£ãŠãæç¶çã«ãªãã¡ã¯ã¿ãªã³ã°ãããããåå°äœãããããšããåŽé¢ããããšæããŸããä»åŸã®èª²é¡ãšããŠããã®åå°ãåºã«ããããã®ãšã³ãžãã¢ãæèãæã£ãŠã¡ã³ããã³ã¹ã§ãããããªä»çµã¿ã¥ãããè¡ã£ãŠãããããšæããŸãã æåŸãŸã§èªãã§ããã ãããããšãããããŸããã www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/20
<![CDATA[ ããã³ããšã³ãéçºç°å¢ã®ç¶ç¶çãªãªãã¡ã¯ã¿ãªã³ã° ]]>
ããã«ã¡ã¯ã第äºéçºã°ã«ãŒããšã³ãžãã¢ã®è¥¿æã§ãã䞻㫠CLINICS ã®éçºãæ åœããŠããŸãã ã¯ããã« CLINICS ã¯é»åã«ã«ãããªã³ã©ã€ã³èšºçãäºçŽã·ã¹ãã ãæ£è ã¢ããªãªã©ãå«ãçµ±åã¢ããªã§ããCLINICS ãããŒã³ãããŠããçŸåšã«è³ããŸã§åžžã«æ°æ©èœéçºãšå®åžžæ¹åãè¡ãããŠãããéçºç°å¢ã®ã¡ã³ããã³ã¹ã¯åŸæã«ãªããã¡ã§ãããä»åã¯ãããã£ãç¶æ³ãæ¹åãã¹ããéçºç°å¢ã®ã¡ã³ããã³ã¹ããªãã¡ã¯ã¿ãªã³ã°ãè¡ã£ãéçšããåŸããããã©ã¯ãã£ã¹ã«ã€ããŠç޹ä»ããŠããããšæããŸãã ã¢ãããŒã·ã§ã³ ãããã¯ãã®æ°èŠéçºæã«è¡ãããæè¡éžå®ã¯éåžžã«é£ãããæ¥åèŠä»¶ãããŒã ç¶æ³ãªã©ç·åçã«èæ ®ããŠãã®æç¹ã§ã®ãã¹ããªéžæãããå¿ èŠããããŸãã ããããéžæããæè¡ã§é·æéçšãããŠãããã¡ã«ãã¡ã³ããã³ã¹ãè¡ãå±ããªããªã£ãã³ãŒããã©ã€ãã©ãªãåºãŠããŸããŸãã CLINICS ããŒã³ãåœåã¯ãªã³ã©ã€ã³èšºçã®ã¿ãæäŸããŠããŸãããSPA ã§æ§æãããŠããŸããããïŒã€ã® package.json ã§å¹ççã«éçºã§ããŠããŸãããä»ã«ãçŸåšã»ã© TypeScript ãäž»æµã§ã¯ãªãã£ãã®ã§ JavaScript ã®ã³ãŒããã¡ã€ã³ã§å®è£ ãããŠãŸããã æ°ããªã¢ããªã±ãŒã·ã§ã³ïŒé»åã«ã«ããäºçŽã·ã¹ãã ãªã©ïŒãå°å ¥ããã¿ã€ãã³ã°ãããªãã¡ãããã¯ããå°èŠæš¡ããäžèŠæš¡ã«å€é·ããã¿ã€ãã³ã°ããããã³ããšã³ãã®ææµã«ãã£ãŠãéçºç°å¢ãæ¹åã§ããéšåããããŸãããããããŠããªãéšåãåºãŠããŸããã ãã®æ¹åããããŠããªãéšåãæ®ãç¶æ ãç¶ããš Developer Experience(DX)ã®äœäžã«ç¹ãã£ãŠããŸããŸããã§ãã®ã§ãç§ãã¡ã¯æ¹åããããŠããªãéšåãåãé€ããŠãããããã¢ãã³ãšãããéçºç°å¢ãžãªãã¡ã¯ã¿ãªã³ã°ãããŠããããšèããŸããã DX ãåäžããŠããããšã§æè¡çãªãã€ãºã«æéãåãããªãããã«ãªããŸãããããŠæäŸããæ©èœãã®ãã®ã«ã€ããŠèããæéãå¢ããçµæçã« CLINICS ãããè¯ããããã¯ããžé²åãããŠããã®ãåœãªãã¡ã¯ã¿ãªã³ã°ã®ç®çã§ãã èª²é¡æŽç æ¹åããŠããããã«ã¯ãçŸç¶æŽçãèª²é¡æŽçãè¡ããªãããšã«ã¯äœãå§ãŸããŸãããããã³ããšã³ãéçºç°å¢ãã¡ã³ããã³ã¹ããã¿ã¹ã¯ã¯ããããã¯ãã®æ©èœïŒãŠãŒã¶ã«æäŸãããæ©èœïŒã«çŽæ¥ãã©ã¹ã®åœ±é¿ãããããã§ã¯ãããŸãããèªããšéåžžã®æ©èœéçºãå®åžžæ¹åã«æ¯ã¹åªå 床ã¯èœã¡ããããã¹ããæéã§æ¹åãããŠããããšã«ãªããŸããããããã¹ããæéãæå¹æŽ»çšããããã«ã¯ãã¿ã¹ã¯ã®é£æåºŠã®çè§£ãã¿ã¹ã¯ãé©åœã«åå²ããã§ãŒãžã³ã°ã®èšç»ãè¡ãããšã極ããŠå€§äºã§ãã ãã®ããã«èæ ®ãã課é¡ã®äžã§ãæ¬èšäºã§èšèŒããã®ã¯ä»¥äžã®ïŒã€ã§ãã ã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšãåºãŸã£ãŠãªã éçšæ¹åŒãåºãŸã£ãŠããªãããšã§ãæŸçœ®ãããŠããŸããã¡ã§ããçå ããŠã¢ããããŒãããã¡ã³ããŒããããšããŠããå±äººåã®èª²é¡ãæ®ã£ãŠããŸããŸã æŸçœ®ãããŠããŸã£ãããšã«ãããææ°çãšã®å·®åã倧ãããªãã¢ããããŒãããã³ã¹ãã倧ãããªã£ãŠããŸããŸã çµæçã«ãã©ã€ãã©ãªã®ã»ãã¥ãªãã£ãã£ãã¯ã¹å¯Ÿå¿ãæ°ããæäŸãããæ©èœãããã«é©å¿ã§ããªãç°å¢ã«ãªã£ãŠããŸããŸã è€æ°ã® SPA ã®äŸåãïŒã€ã® package.json ã§ç®¡çããŠãã é»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸã ããããïŒã€ã® package.json ã§ç®¡çããŠããããããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããŠã¯ãªããŸãããå°èŠæš¡ã®ãšãã¯ãã®ãããªæ§æã§ååã§ããããèŠæš¡ã倧ãããªãã«ã€ããŠæè»æ§ã倱ããããšå ±ã«ãã©ã€ãã©ãªã®ã¢ããããŒãããããã圱é¿ç¯å²ãåºãã£ãŠããŸãããã容æã«ã¢ããããŒãã§ããªããªã£ãŠããŸããŸã æ¬èšäºã§ã¯èšèŒããŸããããRedux ã®æžãæ¹ãæ··åšããŠããããããã³ããšã³ãã®ãã¹ããå°ãªãããç¶²çŸ çã« TypeScript åã§ããŠããªã JavaScript ããŸã æ®ã£ãŠããããªã©ã®èª²é¡ãæããããŸããã ãããã課é¡ã¯ãã©ã®ãããã¯ãã«ãååšãããšæããŸããããã¯ããŒã³ãåœæã®æè¡æµè¡ã§ãã£ããããããã¯ãã®æåŸ èŠæš¡ãå°æ°ã¡ã³ãã«é©ããèšèšãªã©èŠå ã¯æ§ã ãããããã°ã©ã ã®ãªãã¡ã¯ã¿ãªã³ã°ãšåæ§ã« ãããã¯ãã®æé·ã«äŒŽã£ãŠãªãã¡ã¯ã¿ãªã³ã°ããŠããããšãæ£ ã ãšä¿¡ããŠããŸãã ã¢ãããŒã·ã§ã³ã«ãŠèšèŒããéãããããè€æ°ã®èª²é¡ã¯éçºç°å¢ã®ãã€ãºã§ãããé€å»ããããšã«ãã£ãŠãããè¯ã DX ãåŸããããšèããŠããŸããä»ã«ãã®ãããªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠããããã¯ããããå ç¢ã«ã§ãããšããåŽé¢ããããŸãã äžèšã®ïŒã€ã®èª²é¡ã«å¯ŸããŠãããããã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšææ®µãèšããããpackage.json ã SPA åäœã«åå²ããã話ãããããããŠãããŸãã ããã³ããšã³ãéçºç°å¢ã®ãªãã¡ã¯ã¿ãªã³ã° ã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãã æåã¢ããããŒã ã©ã€ãã©ãªãã¢ããããŒãããã«ã¯ã³ãã³ããå©ãã ãã ãšèããŠããŸããããäŸåããŠããå¥ã®ã©ã€ãã©ãªã«åœ±é¿ãæ¬åœã«ãªãããªã©èª¿æ»ããå¿ èŠããããšç¥ããã©ã€ãã©ãªã®ã¢ããããŒãæ¹æ³ã暡玢ãããšããããéå§ããŸããã ã©ã€ãã©ãªã§ã¯ãªãã§ãããNode.js ã®ã¢ããããŒããããããšãããšãnode-sass ã Firebase ã圱é¿ããŠãããããŠãèã¥ãåŒã§æ ¹ã£ãã«ããã©ã€ãã©ãªã®ã¢ããããŒããããå¿ èŠãåºãŠãããããã®ã§ãäžã€äžã€åé¡ããªãã調æ»ããã®ã倧å€ã§ããã äœãããã¢ããããŒã察象ã©ã€ãã©ãªã®ãªãªãŒã¹ããŒãã« Breaking Changes ãæžãããŠããªãã£ãããsemver ãå®ãããŠãããããããªãã£ãããšããããã¯ãã«åœ±é¿ããªãã調ã¹ãå¿ èŠããããåé¡ã®åãåãæ¹ãé£ããã£ãã®ã§ãã ããã§åŸãããã©ã€ãã©ãªã¢ããããŒãã®å®å šæ§æ ä¿ã®ãã©ã¯ãã£ã¹ãšã㊠webpack ã«ãããã«ãçµæãå€ãããªãã±ãŒã¹ ãšã QA ãã¹ãã«ãã£ãŠæ ä¿ããã±ãŒã¹ ãããããšãããããŸãããåè 㯠webpack ã«ããææç©ãå€ãããªãã®ã§ããã°ä»åã®ã¢ããããŒããå®å šã§ãããšãããåŸè ã¯ãšã³ãžãã¢ãš QA ãšã³ãžãã¢ã«ãã£ãŠã©ã€ãã©ãªã®åœ±é¿ç¯å²ã«ãã¬ãŒã·ã§ã³ããªãããšã確ãããŠå®å šã§ãããšããããšãããã®ã§ãã renovate ã®éçšéå§ æ°ã«æéã¯äžèšã®ããã«ã©ã€ãã©ãªã®ã¢ããããŒããæåã§è¡ã£ãŠããŸãããã確èªå·¥æ°ãå¢ããŠããŸããä»ã®ã¿ã¹ã¯ã®æéãå§è¿«ããŠããŸãã»ã©ã§ããã ããã§ãã¢ããããŒããèªååãã renovate  㚠dependabot ãèŠéã«å ¥ããŸãããrenovate ã¯ãdependabot ã«æ¯ã¹ãŠé«æ©èœã§ãã€ãç¡æã§ãããšããçç±ã§éžå®ããŸããã éçšåœåãrenovate ã Pull Request ãäœæããŠãããããdiff ã«ããã©ã€ãã©ãªã®å€æŽç¹ãèŠãããã£ãããšãæ©æµãæããŠããŸãããããããåŸã ã«ãã¢ããããŒã察象ãå€ãããããããã©ãããã©ã€ãã©ãªã§ã圱é¿ç¯å²ãã©ããªã®ãããšããããšã®èª¿æ»ã«æéãåãããããã«ãªã£ãŠããŸããŸããã ããã§åŸãããèª¿æ»æéãççž®ãããã©ã¯ãã£ã¹ãšããŠ**ãæ¬çªåœ±é¿ã®ãããã®ããéçºåããããã«ãåšãããš renovate ããæ¥ã Pull Request ãæŽçãã**ããšã§ãããã®ãããªæŽçãè¡ãããšã§ãæ¬çªåœ±é¿ã®ãããã®ã«æ³šåããŠã¬ãã¥ãŒã§ããããã«ãªããèŠã«ãªããã«ã¢ããããŒããã§ããããã«ãªããŸããã çµæ ã©ã€ãã©ãªã¢ããããŒãã®éçšæé ãèšããããšã«ãã£ãŠãä»ãŸã§ä»¥äžã«å ç¢ãªç°å¢ã«ãªããŸããããããããrenovate ã«ãã£ãŠèªåçã«éèŠãªïŒæ¬çªåœ±é¿ã®ããïŒã©ã€ãã©ãªã®ã¿ã«éäžããŠã¬ãã¥ãŒãè¡ãããšã«ãã£ãŠãå°ãªãå·¥æ°ã§ã¢ããããŒãããŠãããããã«ãªããŸããã package.json ã SPA åäœã«åå² èª²é¡æŽçã§èšèŒããéããé»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸãããïŒã€ã® package.json ã§ç®¡çããŠããŸããã§ãã®ã§ããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããã°ãªããŸããã åŒå®³ãšã㊠package.json ã«å¯ŸããŠïŒã€ã®å€æŽããã£ããšãã«ãã¹ãŠã® SPA ã«åœ±é¿ãåºãŠããŸããŸããã§ãã®ã§ããã®è¥å€§åãã package.json ãããããã® SPA ã«åå²ããããšããŸããã package.json ã SPA åäœã«åå²ããããšã¯ 責ååé¢ ãšããåŽé¢ããããã©ã€ãã©ãªã ãã§ãªããå ±éããŠãã宿°ãããžãã¯ãã³ã³ããŒãã³ããwebpack.config.jsãbabel.config.js ãš tsconfig.json ãªã©ãã¹ãŠãããããã® SPA ã«äŸåã®ãªã圢ã«éããããã«ããŸããããããã®åå²ããäœæ¥ã¯éåžžã«æ³¥èããã®ã§ãæ¬èšäºã«èšèŒããã»ã©ã®ãã®ã§ã¯ãããŸããããåŸãããçµæã«ã€ããŠèšèŒããŠããããšæããŸãã çµæ ãŸãã責ååé¢ãã§ããã®ã§ãïŒã€ã® SPA ã«å¯Ÿãã倿Žããã£ããšãã«ãä»ã®å šãŠã® SPA ã«å¯Ÿãã圱é¿ãåºãªããªããŸããããã£ãŠãïŒã€ã® SPA ã«å¯ŸããŠæ°ã㪠Web ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªã詊ãããšã容æã«ãªããŸãããä»ã«ããïŒã€ã® webpack ã§ãã¹ãŠã® SPA ãã·ãŒã±ã³ã·ã£ã«ã«ãã«ãããŠããã®ã«å¯ŸããŠãçŸåšã¯ãã©ã¬ã«ã§ãã«ãã§ããããã«ãªããã«ãæéãççž®ããããããä»ãŸã§ä»¥äžã«ã³ããããããããã€ãŸã§ã®ã€ãã¬ãŒã·ã§ã³ãå°ãããªããŸããã ãããã®çµæããããã³ãéçºç°å¢ã®æ¹åããã³ DX åäžãæãããŸããã ä»åŸã®èª²é¡ æç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããä»çµã¿äœã ãã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãããã¯ãŸãã«æç¶çã«ã©ã€ãã©ãªãã¢ããããŒãããããã®ææ®µã§ãããpackage.json ã SPA åäœã«åå²ããããããããã® SPA ãã¡ã³ããã³ã¹ããããç°å¢äœããšããŠã¯æ¬ ãããªãäœæ¥ã§ããã ãããããã®ãŸãŸãªãã¡ã¯ã¿ãªã³ã°ãäžæããã°ããããã¯ãã®èŠæš¡ã倧ãããªããšããããã³ããšã³ãã®ææµã«ãã£ãŠåã³ã¡ã³ããã³ã¹ãã¥ããç°å¢ã«ãªã£ãŠããŸããŸãã ãªã®ã§ãæç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããããã«ã¯ä»çµã¿äœããæ¬ ãããªããšèããŠããŸãããã®ããã«ã¯ãå±äººåã«ãããªãä»çµã¿ã¥ãããã¡ã³ããã³ã¹ããããç°å¢æ¹åããšã³ãžãã¢ããããã®ããã³ããšã³ãéçºç°å¢ã«å¯Ÿãããªãã©ã·ãé«ããåãçµã¿ãè¡ã£ãŠããå¿ èŠããããŸãããã®ãããçŸåš æšªè»žååŒ·äŒ ãªã©ã§ CLINICS ããã³ããšã³ãã®å®è£ èæ¯ãããªãã¡ã¯ã¿ãªã³ã°ããããæžãæ¹ãªã©ã®ãã¬ããžãå ±æããŠããŸãã ãŸãšã ããã³ããšã³ãéçºç°å¢ã®ã¡ã³ããã³ã¹ã»ãªãã¡ã¯ã¿ãªã³ã°èªäœã¯ãããŸã§ããŠãŒã¶ã«æ°ããæ©èœãæäŸããŠããããã§ã¯ãªããç²ã ãšè¡ã£ãŠãããã®ã§ãããããã課é¡ãæŽãåºããåãåã£ãŠã解決ããŠãã£ãããšã«ãã£ãŠåŸããããã©ã¯ãã£ã¹ã¯å€ããããããã³ããšã³ãã®ãšã³ã·ã¹ãã ã«å¯Ÿããçè§£ãå€ãåŸãããŸããã ãããã®ãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠ DX ãåäžããŠãããæè¡çãªãã€ãºã«æ©ãæéãæžãããšã³ãžãã¢ã¯ãããããã¯ãã®æ©èœéçºã«å°å¿µã§ããããã«ãªã£ãŠãããšä¿¡ããŠããŸãã ä»åç§ãã¡ã課é¡ã解決ããããšã«ãã£ãŠãæç¶çã«ãªãã¡ã¯ã¿ãªã³ã°ãããããåå°äœãããããšããåŽé¢ããããšæããŸããä»åŸã®èª²é¡ãšããŠããã®åå°ãåºã«ããããã®ãšã³ãžãã¢ãæèãæã£ãŠã¡ã³ããã³ã¹ã§ãããããªä»çµã¿ã¥ãããè¡ã£ãŠãããããšæããŸãã æåŸãŸã§èªãã§ããã ãããããšãããããŸããã www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/20
<![CDATA[ ããã³ããšã³ãéçºç°å¢ã®ç¶ç¶çãªãªãã¡ã¯ã¿ãªã³ã° ]]>
ããã«ã¡ã¯ã第äºéçºã°ã«ãŒããšã³ãžãã¢ã®è¥¿æã§ãã䞻㫠CLINICS ã®éçºãæ åœããŠããŸãã ã¯ããã« CLINICS ã¯é»åã«ã«ãããªã³ã©ã€ã³èšºçãäºçŽã·ã¹ãã ãæ£è ã¢ããªãªã©ãå«ãçµ±åã¢ããªã§ããCLINICS ãããŒã³ãããŠããçŸåšã«è³ããŸã§åžžã«æ°æ©èœéçºãšå®åžžæ¹åãè¡ãããŠãããéçºç°å¢ã®ã¡ã³ããã³ã¹ã¯åŸæã«ãªããã¡ã§ãããä»åã¯ãããã£ãç¶æ³ãæ¹åãã¹ããéçºç°å¢ã®ã¡ã³ããã³ã¹ããªãã¡ã¯ã¿ãªã³ã°ãè¡ã£ãéçšããåŸããããã©ã¯ãã£ã¹ã«ã€ããŠç޹ä»ããŠããããšæããŸãã ã¢ãããŒã·ã§ã³ ãããã¯ãã®æ°èŠéçºæã«è¡ãããæè¡éžå®ã¯éåžžã«é£ãããæ¥åèŠä»¶ãããŒã ç¶æ³ãªã©ç·åçã«èæ ®ããŠãã®æç¹ã§ã®ãã¹ããªéžæãããå¿ èŠããããŸãã ããããéžæããæè¡ã§é·æéçšãããŠãããã¡ã«ãã¡ã³ããã³ã¹ãè¡ãå±ããªããªã£ãã³ãŒããã©ã€ãã©ãªãåºãŠããŸããŸãã CLINICS ããŒã³ãåœåã¯ãªã³ã©ã€ã³èšºçã®ã¿ãæäŸããŠããŸãããSPA ã§æ§æãããŠããŸããããïŒã€ã® package.json ã§å¹ççã«éçºã§ããŠããŸãããä»ã«ãçŸåšã»ã© TypeScript ãäž»æµã§ã¯ãªãã£ãã®ã§ JavaScript ã®ã³ãŒããã¡ã€ã³ã§å®è£ ãããŠãŸããã æ°ããªã¢ããªã±ãŒã·ã§ã³ïŒé»åã«ã«ããäºçŽã·ã¹ãã ãªã©ïŒãå°å ¥ããã¿ã€ãã³ã°ãããªãã¡ãããã¯ããå°èŠæš¡ããäžèŠæš¡ã«å€é·ããã¿ã€ãã³ã°ããããã³ããšã³ãã®ææµã«ãã£ãŠãéçºç°å¢ãæ¹åã§ããéšåããããŸãããããããŠããªãéšåãåºãŠããŸããã ãã®æ¹åããããŠããªãéšåãæ®ãç¶æ ãç¶ããš Developer Experience(DX)ã®äœäžã«ç¹ãã£ãŠããŸããŸããã§ãã®ã§ãç§ãã¡ã¯æ¹åããããŠããªãéšåãåãé€ããŠãããããã¢ãã³ãšãããéçºç°å¢ãžãªãã¡ã¯ã¿ãªã³ã°ãããŠããããšèããŸããã DX ãåäžããŠããããšã§æè¡çãªãã€ãºã«æéãåãããªãããã«ãªããŸãããããŠæäŸããæ©èœãã®ãã®ã«ã€ããŠèããæéãå¢ããçµæçã« CLINICS ãããè¯ããããã¯ããžé²åãããŠããã®ãåœãªãã¡ã¯ã¿ãªã³ã°ã®ç®çã§ãã èª²é¡æŽç æ¹åããŠããããã«ã¯ãçŸç¶æŽçãèª²é¡æŽçãè¡ããªãããšã«ã¯äœãå§ãŸããŸãããããã³ããšã³ãéçºç°å¢ãã¡ã³ããã³ã¹ããã¿ã¹ã¯ã¯ããããã¯ãã®æ©èœïŒãŠãŒã¶ã«æäŸãããæ©èœïŒã«çŽæ¥ãã©ã¹ã®åœ±é¿ãããããã§ã¯ãããŸãããèªããšéåžžã®æ©èœéçºãå®åžžæ¹åã«æ¯ã¹åªå 床ã¯èœã¡ããããã¹ããæéã§æ¹åãããŠããããšã«ãªããŸããããããã¹ããæéãæå¹æŽ»çšããããã«ã¯ãã¿ã¹ã¯ã®é£æåºŠã®çè§£ãã¿ã¹ã¯ãé©åœã«åå²ããã§ãŒãžã³ã°ã®èšç»ãè¡ãããšã極ããŠå€§äºã§ãã ãã®ããã«èæ ®ãã課é¡ã®äžã§ãæ¬èšäºã§èšèŒããã®ã¯ä»¥äžã®ïŒã€ã§ãã ã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšãåºãŸã£ãŠãªã éçšæ¹åŒãåºãŸã£ãŠããªãããšã§ãæŸçœ®ãããŠããŸããã¡ã§ããçå ããŠã¢ããããŒãããã¡ã³ããŒããããšããŠããå±äººåã®èª²é¡ãæ®ã£ãŠããŸããŸã æŸçœ®ãããŠããŸã£ãããšã«ãããææ°çãšã®å·®åã倧ãããªãã¢ããããŒãããã³ã¹ãã倧ãããªã£ãŠããŸããŸã çµæçã«ãã©ã€ãã©ãªã®ã»ãã¥ãªãã£ãã£ãã¯ã¹å¯Ÿå¿ãæ°ããæäŸãããæ©èœãããã«é©å¿ã§ããªãç°å¢ã«ãªã£ãŠããŸããŸã è€æ°ã® SPA ã®äŸåãïŒã€ã® package.json ã§ç®¡çããŠãã é»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸã ããããïŒã€ã® package.json ã§ç®¡çããŠããããããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããŠã¯ãªããŸãããå°èŠæš¡ã®ãšãã¯ãã®ãããªæ§æã§ååã§ããããèŠæš¡ã倧ãããªãã«ã€ããŠæè»æ§ã倱ããããšå ±ã«ãã©ã€ãã©ãªã®ã¢ããããŒãããããã圱é¿ç¯å²ãåºãã£ãŠããŸãããã容æã«ã¢ããããŒãã§ããªããªã£ãŠããŸããŸã æ¬èšäºã§ã¯èšèŒããŸããããRedux ã®æžãæ¹ãæ··åšããŠããããããã³ããšã³ãã®ãã¹ããå°ãªãããç¶²çŸ çã« TypeScript åã§ããŠããªã JavaScript ããŸã æ®ã£ãŠããããªã©ã®èª²é¡ãæããããŸããã ãããã課é¡ã¯ãã©ã®ãããã¯ãã«ãååšãããšæããŸããããã¯ããŒã³ãåœæã®æè¡æµè¡ã§ãã£ããããããã¯ãã®æåŸ èŠæš¡ãå°æ°ã¡ã³ãã«é©ããèšèšãªã©èŠå ã¯æ§ã ãããããã°ã©ã ã®ãªãã¡ã¯ã¿ãªã³ã°ãšåæ§ã« ãããã¯ãã®æé·ã«äŒŽã£ãŠãªãã¡ã¯ã¿ãªã³ã°ããŠããããšãæ£ ã ãšä¿¡ããŠããŸãã ã¢ãããŒã·ã§ã³ã«ãŠèšèŒããéãããããè€æ°ã®èª²é¡ã¯éçºç°å¢ã®ãã€ãºã§ãããé€å»ããããšã«ãã£ãŠãããè¯ã DX ãåŸããããšèããŠããŸããä»ã«ãã®ãããªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠããããã¯ããããå ç¢ã«ã§ãããšããåŽé¢ããããŸãã äžèšã®ïŒã€ã®èª²é¡ã«å¯ŸããŠãããããã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšææ®µãèšããããpackage.json ã SPA åäœã«åå²ããã話ãããããããŠãããŸãã ããã³ããšã³ãéçºç°å¢ã®ãªãã¡ã¯ã¿ãªã³ã° ã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãã æåã¢ããããŒã ã©ã€ãã©ãªãã¢ããããŒãããã«ã¯ã³ãã³ããå©ãã ãã ãšèããŠããŸããããäŸåããŠããå¥ã®ã©ã€ãã©ãªã«åœ±é¿ãæ¬åœã«ãªãããªã©èª¿æ»ããå¿ èŠããããšç¥ããã©ã€ãã©ãªã®ã¢ããããŒãæ¹æ³ã暡玢ãããšããããéå§ããŸããã ã©ã€ãã©ãªã§ã¯ãªãã§ãããNode.js ã®ã¢ããããŒããããããšãããšãnode-sass ã Firebase ã圱é¿ããŠãããããŠãèã¥ãåŒã§æ ¹ã£ãã«ããã©ã€ãã©ãªã®ã¢ããããŒããããå¿ èŠãåºãŠãããããã®ã§ãäžã€äžã€åé¡ããªãã調æ»ããã®ã倧å€ã§ããã äœãããã¢ããããŒã察象ã©ã€ãã©ãªã®ãªãªãŒã¹ããŒãã« Breaking Changes ãæžãããŠããªãã£ãããsemver ãå®ãããŠãããããããªãã£ãããšããããã¯ãã«åœ±é¿ããªãã調ã¹ãå¿ èŠããããåé¡ã®åãåãæ¹ãé£ããã£ãã®ã§ãã ããã§åŸãããã©ã€ãã©ãªã¢ããããŒãã®å®å šæ§æ ä¿ã®ãã©ã¯ãã£ã¹ãšã㊠webpack ã«ãããã«ãçµæãå€ãããªãã±ãŒã¹ ãšã QA ãã¹ãã«ãã£ãŠæ ä¿ããã±ãŒã¹ ãããããšãããããŸãããåè 㯠webpack ã«ããææç©ãå€ãããªãã®ã§ããã°ä»åã®ã¢ããããŒããå®å šã§ãããšãããåŸè ã¯ãšã³ãžãã¢ãš QA ãšã³ãžãã¢ã«ãã£ãŠã©ã€ãã©ãªã®åœ±é¿ç¯å²ã«ãã¬ãŒã·ã§ã³ããªãããšã確ãããŠå®å šã§ãããšããããšãããã®ã§ãã renovate ã®éçšéå§ æ°ã«æéã¯äžèšã®ããã«ã©ã€ãã©ãªã®ã¢ããããŒããæåã§è¡ã£ãŠããŸãããã確èªå·¥æ°ãå¢ããŠããŸããä»ã®ã¿ã¹ã¯ã®æéãå§è¿«ããŠããŸãã»ã©ã§ããã ããã§ãã¢ããããŒããèªååãã renovate  㚠dependabot ãèŠéã«å ¥ããŸãããrenovate ã¯ãdependabot ã«æ¯ã¹ãŠé«æ©èœã§ãã€ãç¡æã§ãããšããçç±ã§éžå®ããŸããã éçšåœåãrenovate ã Pull Request ãäœæããŠãããããdiff ã«ããã©ã€ãã©ãªã®å€æŽç¹ãèŠãããã£ãããšãæ©æµãæããŠããŸãããããããåŸã ã«ãã¢ããããŒã察象ãå€ãããããããã©ãããã©ã€ãã©ãªã§ã圱é¿ç¯å²ãã©ããªã®ãããšããããšã®èª¿æ»ã«æéãåãããããã«ãªã£ãŠããŸããŸããã ããã§åŸãããèª¿æ»æéãççž®ãããã©ã¯ãã£ã¹ãšããŠ**ãæ¬çªåœ±é¿ã®ãããã®ããéçºåããããã«ãåšãããš renovate ããæ¥ã Pull Request ãæŽçãã**ããšã§ãããã®ãããªæŽçãè¡ãããšã§ãæ¬çªåœ±é¿ã®ãããã®ã«æ³šåããŠã¬ãã¥ãŒã§ããããã«ãªããèŠã«ãªããã«ã¢ããããŒããã§ããããã«ãªããŸããã çµæ ã©ã€ãã©ãªã¢ããããŒãã®éçšæé ãèšããããšã«ãã£ãŠãä»ãŸã§ä»¥äžã«å ç¢ãªç°å¢ã«ãªããŸããããããããrenovate ã«ãã£ãŠèªåçã«éèŠãªïŒæ¬çªåœ±é¿ã®ããïŒã©ã€ãã©ãªã®ã¿ã«éäžããŠã¬ãã¥ãŒãè¡ãããšã«ãã£ãŠãå°ãªãå·¥æ°ã§ã¢ããããŒãããŠãããããã«ãªããŸããã package.json ã SPA åäœã«åå² èª²é¡æŽçã§èšèŒããéããé»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸãããïŒã€ã® package.json ã§ç®¡çããŠããŸããã§ãã®ã§ããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããã°ãªããŸããã åŒå®³ãšã㊠package.json ã«å¯ŸããŠïŒã€ã®å€æŽããã£ããšãã«ãã¹ãŠã® SPA ã«åœ±é¿ãåºãŠããŸããŸããã§ãã®ã§ããã®è¥å€§åãã package.json ãããããã® SPA ã«åå²ããããšããŸããã package.json ã SPA åäœã«åå²ããããšã¯ 責ååé¢ ãšããåŽé¢ããããã©ã€ãã©ãªã ãã§ãªããå ±éããŠãã宿°ãããžãã¯ãã³ã³ããŒãã³ããwebpack.config.jsãbabel.config.js ãš tsconfig.json ãªã©ãã¹ãŠãããããã® SPA ã«äŸåã®ãªã圢ã«éããããã«ããŸããããããã®åå²ããäœæ¥ã¯éåžžã«æ³¥èããã®ã§ãæ¬èšäºã«èšèŒããã»ã©ã®ãã®ã§ã¯ãããŸããããåŸãããçµæã«ã€ããŠèšèŒããŠããããšæããŸãã çµæ ãŸãã責ååé¢ãã§ããã®ã§ãïŒã€ã® SPA ã«å¯Ÿãã倿Žããã£ããšãã«ãä»ã®å šãŠã® SPA ã«å¯Ÿãã圱é¿ãåºãªããªããŸããããã£ãŠãïŒã€ã® SPA ã«å¯ŸããŠæ°ã㪠Web ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªã詊ãããšã容æã«ãªããŸãããä»ã«ããïŒã€ã® webpack ã§ãã¹ãŠã® SPA ãã·ãŒã±ã³ã·ã£ã«ã«ãã«ãããŠããã®ã«å¯ŸããŠãçŸåšã¯ãã©ã¬ã«ã§ãã«ãã§ããããã«ãªããã«ãæéãççž®ããããããä»ãŸã§ä»¥äžã«ã³ããããããããã€ãŸã§ã®ã€ãã¬ãŒã·ã§ã³ãå°ãããªããŸããã ãããã®çµæããããã³ãéçºç°å¢ã®æ¹åããã³ DX åäžãæãããŸããã ä»åŸã®èª²é¡ æç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããä»çµã¿äœã ãã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãããã¯ãŸãã«æç¶çã«ã©ã€ãã©ãªãã¢ããããŒãããããã®ææ®µã§ãããpackage.json ã SPA åäœã«åå²ããããããããã® SPA ãã¡ã³ããã³ã¹ããããç°å¢äœããšããŠã¯æ¬ ãããªãäœæ¥ã§ããã ãããããã®ãŸãŸãªãã¡ã¯ã¿ãªã³ã°ãäžæããã°ããããã¯ãã®èŠæš¡ã倧ãããªããšããããã³ããšã³ãã®ææµã«ãã£ãŠåã³ã¡ã³ããã³ã¹ãã¥ããç°å¢ã«ãªã£ãŠããŸããŸãã ãªã®ã§ãæç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããããã«ã¯ä»çµã¿äœããæ¬ ãããªããšèããŠããŸãããã®ããã«ã¯ãå±äººåã«ãããªãä»çµã¿ã¥ãããã¡ã³ããã³ã¹ããããç°å¢æ¹åããšã³ãžãã¢ããããã®ããã³ããšã³ãéçºç°å¢ã«å¯Ÿãããªãã©ã·ãé«ããåãçµã¿ãè¡ã£ãŠããå¿ èŠããããŸãããã®ãããçŸåš æšªè»žååŒ·äŒ ãªã©ã§ CLINICS ããã³ããšã³ãã®å®è£ èæ¯ãããªãã¡ã¯ã¿ãªã³ã°ããããæžãæ¹ãªã©ã®ãã¬ããžãå ±æããŠããŸãã ãŸãšã ããã³ããšã³ãéçºç°å¢ã®ã¡ã³ããã³ã¹ã»ãªãã¡ã¯ã¿ãªã³ã°èªäœã¯ãããŸã§ããŠãŒã¶ã«æ°ããæ©èœãæäŸããŠããããã§ã¯ãªããç²ã ãšè¡ã£ãŠãããã®ã§ãããããã課é¡ãæŽãåºããåãåã£ãŠã解決ããŠãã£ãããšã«ãã£ãŠåŸããããã©ã¯ãã£ã¹ã¯å€ããããããã³ããšã³ãã®ãšã³ã·ã¹ãã ã«å¯Ÿããçè§£ãå€ãåŸãããŸããã ãããã®ãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠ DX ãåäžããŠãããæè¡çãªãã€ãºã«æ©ãæéãæžãããšã³ãžãã¢ã¯ãããããã¯ãã®æ©èœéçºã«å°å¿µã§ããããã«ãªã£ãŠãããšä¿¡ããŠããŸãã ä»åç§ãã¡ã課é¡ã解決ããããšã«ãã£ãŠãæç¶çã«ãªãã¡ã¯ã¿ãªã³ã°ãããããåå°äœãããããšããåŽé¢ããããšæããŸããä»åŸã®èª²é¡ãšããŠããã®åå°ãåºã«ããããã®ãšã³ãžãã¢ãæèãæã£ãŠã¡ã³ããã³ã¹ã§ãããããªä»çµã¿ã¥ãããè¡ã£ãŠãããããšæããŸãã æåŸãŸã§èªãã§ããã ãããããšãããããŸããã www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/20
<![CDATA[ ããã³ããšã³ãéçºç°å¢ã®ç¶ç¶çãªãªãã¡ã¯ã¿ãªã³ã° ]]>
ããã«ã¡ã¯ã第äºéçºã°ã«ãŒããšã³ãžãã¢ã®è¥¿æã§ãã䞻㫠CLINICS ã®éçºãæ åœããŠããŸãã ã¯ããã« CLINICS ã¯é»åã«ã«ãããªã³ã©ã€ã³èšºçãäºçŽã·ã¹ãã ãæ£è ã¢ããªãªã©ãå«ãçµ±åã¢ããªã§ããCLINICS ãããŒã³ãããŠããçŸåšã«è³ããŸã§åžžã«æ°æ©èœéçºãšå®åžžæ¹åãè¡ãããŠãããéçºç°å¢ã®ã¡ã³ããã³ã¹ã¯åŸæã«ãªããã¡ã§ãããä»åã¯ãããã£ãç¶æ³ãæ¹åãã¹ããéçºç°å¢ã®ã¡ã³ããã³ã¹ããªãã¡ã¯ã¿ãªã³ã°ãè¡ã£ãéçšããåŸããããã©ã¯ãã£ã¹ã«ã€ããŠç޹ä»ããŠããããšæããŸãã ã¢ãããŒã·ã§ã³ ãããã¯ãã®æ°èŠéçºæã«è¡ãããæè¡éžå®ã¯éåžžã«é£ãããæ¥åèŠä»¶ãããŒã ç¶æ³ãªã©ç·åçã«èæ ®ããŠãã®æç¹ã§ã®ãã¹ããªéžæãããå¿ èŠããããŸãã ããããéžæããæè¡ã§é·æéçšãããŠãããã¡ã«ãã¡ã³ããã³ã¹ãè¡ãå±ããªããªã£ãã³ãŒããã©ã€ãã©ãªãåºãŠããŸããŸãã CLINICS ããŒã³ãåœåã¯ãªã³ã©ã€ã³èšºçã®ã¿ãæäŸããŠããŸãããSPA ã§æ§æãããŠããŸããããïŒã€ã® package.json ã§å¹ççã«éçºã§ããŠããŸãããä»ã«ãçŸåšã»ã© TypeScript ãäž»æµã§ã¯ãªãã£ãã®ã§ JavaScript ã®ã³ãŒããã¡ã€ã³ã§å®è£ ãããŠãŸããã æ°ããªã¢ããªã±ãŒã·ã§ã³ïŒé»åã«ã«ããäºçŽã·ã¹ãã ãªã©ïŒãå°å ¥ããã¿ã€ãã³ã°ãããªãã¡ãããã¯ããå°èŠæš¡ããäžèŠæš¡ã«å€é·ããã¿ã€ãã³ã°ããããã³ããšã³ãã®ææµã«ãã£ãŠãéçºç°å¢ãæ¹åã§ããéšåããããŸãããããããŠããªãéšåãåºãŠããŸããã ãã®æ¹åããããŠããªãéšåãæ®ãç¶æ ãç¶ããš Developer Experience(DX)ã®äœäžã«ç¹ãã£ãŠããŸããŸããã§ãã®ã§ãç§ãã¡ã¯æ¹åããããŠããªãéšåãåãé€ããŠãããããã¢ãã³ãšãããéçºç°å¢ãžãªãã¡ã¯ã¿ãªã³ã°ãããŠããããšèããŸããã DX ãåäžããŠããããšã§æè¡çãªãã€ãºã«æéãåãããªãããã«ãªããŸãããããŠæäŸããæ©èœãã®ãã®ã«ã€ããŠèããæéãå¢ããçµæçã« CLINICS ãããè¯ããããã¯ããžé²åãããŠããã®ãåœãªãã¡ã¯ã¿ãªã³ã°ã®ç®çã§ãã èª²é¡æŽç æ¹åããŠããããã«ã¯ãçŸç¶æŽçãèª²é¡æŽçãè¡ããªãããšã«ã¯äœãå§ãŸããŸãããããã³ããšã³ãéçºç°å¢ãã¡ã³ããã³ã¹ããã¿ã¹ã¯ã¯ããããã¯ãã®æ©èœïŒãŠãŒã¶ã«æäŸãããæ©èœïŒã«çŽæ¥ãã©ã¹ã®åœ±é¿ãããããã§ã¯ãããŸãããèªããšéåžžã®æ©èœéçºãå®åžžæ¹åã«æ¯ã¹åªå 床ã¯èœã¡ããããã¹ããæéã§æ¹åãããŠããããšã«ãªããŸããããããã¹ããæéãæå¹æŽ»çšããããã«ã¯ãã¿ã¹ã¯ã®é£æåºŠã®çè§£ãã¿ã¹ã¯ãé©åœã«åå²ããã§ãŒãžã³ã°ã®èšç»ãè¡ãããšã極ããŠå€§äºã§ãã ãã®ããã«èæ ®ãã課é¡ã®äžã§ãæ¬èšäºã§èšèŒããã®ã¯ä»¥äžã®ïŒã€ã§ãã ã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšãåºãŸã£ãŠãªã éçšæ¹åŒãåºãŸã£ãŠããªãããšã§ãæŸçœ®ãããŠããŸããã¡ã§ããçå ããŠã¢ããããŒãããã¡ã³ããŒããããšããŠããå±äººåã®èª²é¡ãæ®ã£ãŠããŸããŸã æŸçœ®ãããŠããŸã£ãããšã«ãããææ°çãšã®å·®åã倧ãããªãã¢ããããŒãããã³ã¹ãã倧ãããªã£ãŠããŸããŸã çµæçã«ãã©ã€ãã©ãªã®ã»ãã¥ãªãã£ãã£ãã¯ã¹å¯Ÿå¿ãæ°ããæäŸãããæ©èœãããã«é©å¿ã§ããªãç°å¢ã«ãªã£ãŠããŸããŸã è€æ°ã® SPA ã®äŸåãïŒã€ã® package.json ã§ç®¡çããŠãã é»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸã ããããïŒã€ã® package.json ã§ç®¡çããŠããããããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããŠã¯ãªããŸãããå°èŠæš¡ã®ãšãã¯ãã®ãããªæ§æã§ååã§ããããèŠæš¡ã倧ãããªãã«ã€ããŠæè»æ§ã倱ããããšå ±ã«ãã©ã€ãã©ãªã®ã¢ããããŒãããããã圱é¿ç¯å²ãåºãã£ãŠããŸãããã容æã«ã¢ããããŒãã§ããªããªã£ãŠããŸããŸã æ¬èšäºã§ã¯èšèŒããŸããããRedux ã®æžãæ¹ãæ··åšããŠããããããã³ããšã³ãã®ãã¹ããå°ãªãããç¶²çŸ çã« TypeScript åã§ããŠããªã JavaScript ããŸã æ®ã£ãŠããããªã©ã®èª²é¡ãæããããŸããã ãããã課é¡ã¯ãã©ã®ãããã¯ãã«ãååšãããšæããŸããããã¯ããŒã³ãåœæã®æè¡æµè¡ã§ãã£ããããããã¯ãã®æåŸ èŠæš¡ãå°æ°ã¡ã³ãã«é©ããèšèšãªã©èŠå ã¯æ§ã ãããããã°ã©ã ã®ãªãã¡ã¯ã¿ãªã³ã°ãšåæ§ã« ãããã¯ãã®æé·ã«äŒŽã£ãŠãªãã¡ã¯ã¿ãªã³ã°ããŠããããšãæ£ ã ãšä¿¡ããŠããŸãã ã¢ãããŒã·ã§ã³ã«ãŠèšèŒããéãããããè€æ°ã®èª²é¡ã¯éçºç°å¢ã®ãã€ãºã§ãããé€å»ããããšã«ãã£ãŠãããè¯ã DX ãåŸããããšèããŠããŸããä»ã«ãã®ãããªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠããããã¯ããããå ç¢ã«ã§ãããšããåŽé¢ããããŸãã äžèšã®ïŒã€ã®èª²é¡ã«å¯ŸããŠãããããã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšææ®µãèšããããpackage.json ã SPA åäœã«åå²ããã話ãããããããŠãããŸãã ããã³ããšã³ãéçºç°å¢ã®ãªãã¡ã¯ã¿ãªã³ã° ã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãã æåã¢ããããŒã ã©ã€ãã©ãªãã¢ããããŒãããã«ã¯ã³ãã³ããå©ãã ãã ãšèããŠããŸããããäŸåããŠããå¥ã®ã©ã€ãã©ãªã«åœ±é¿ãæ¬åœã«ãªãããªã©èª¿æ»ããå¿ èŠããããšç¥ããã©ã€ãã©ãªã®ã¢ããããŒãæ¹æ³ã暡玢ãããšããããéå§ããŸããã ã©ã€ãã©ãªã§ã¯ãªãã§ãããNode.js ã®ã¢ããããŒããããããšãããšãnode-sass ã Firebase ã圱é¿ããŠãããããŠãèã¥ãåŒã§æ ¹ã£ãã«ããã©ã€ãã©ãªã®ã¢ããããŒããããå¿ èŠãåºãŠãããããã®ã§ãäžã€äžã€åé¡ããªãã調æ»ããã®ã倧å€ã§ããã äœãããã¢ããããŒã察象ã©ã€ãã©ãªã®ãªãªãŒã¹ããŒãã« Breaking Changes ãæžãããŠããªãã£ãããsemver ãå®ãããŠãããããããªãã£ãããšããããã¯ãã«åœ±é¿ããªãã調ã¹ãå¿ èŠããããåé¡ã®åãåãæ¹ãé£ããã£ãã®ã§ãã ããã§åŸãããã©ã€ãã©ãªã¢ããããŒãã®å®å šæ§æ ä¿ã®ãã©ã¯ãã£ã¹ãšã㊠webpack ã«ãããã«ãçµæãå€ãããªãã±ãŒã¹ ãšã QA ãã¹ãã«ãã£ãŠæ ä¿ããã±ãŒã¹ ãããããšãããããŸãããåè 㯠webpack ã«ããææç©ãå€ãããªãã®ã§ããã°ä»åã®ã¢ããããŒããå®å šã§ãããšãããåŸè ã¯ãšã³ãžãã¢ãš QA ãšã³ãžãã¢ã«ãã£ãŠã©ã€ãã©ãªã®åœ±é¿ç¯å²ã«ãã¬ãŒã·ã§ã³ããªãããšã確ãããŠå®å šã§ãããšããããšãããã®ã§ãã renovate ã®éçšéå§ æ°ã«æéã¯äžèšã®ããã«ã©ã€ãã©ãªã®ã¢ããããŒããæåã§è¡ã£ãŠããŸãããã確èªå·¥æ°ãå¢ããŠããŸããä»ã®ã¿ã¹ã¯ã®æéãå§è¿«ããŠããŸãã»ã©ã§ããã ããã§ãã¢ããããŒããèªååãã renovate  㚠dependabot ãèŠéã«å ¥ããŸãããrenovate ã¯ãdependabot ã«æ¯ã¹ãŠé«æ©èœã§ãã€ãç¡æã§ãããšããçç±ã§éžå®ããŸããã éçšåœåãrenovate ã Pull Request ãäœæããŠãããããdiff ã«ããã©ã€ãã©ãªã®å€æŽç¹ãèŠãããã£ãããšãæ©æµãæããŠããŸãããããããåŸã ã«ãã¢ããããŒã察象ãå€ãããããããã©ãããã©ã€ãã©ãªã§ã圱é¿ç¯å²ãã©ããªã®ãããšããããšã®èª¿æ»ã«æéãåãããããã«ãªã£ãŠããŸããŸããã ããã§åŸãããèª¿æ»æéãççž®ãããã©ã¯ãã£ã¹ãšããŠ**ãæ¬çªåœ±é¿ã®ãããã®ããéçºåããããã«ãåšãããš renovate ããæ¥ã Pull Request ãæŽçãã**ããšã§ãããã®ãããªæŽçãè¡ãããšã§ãæ¬çªåœ±é¿ã®ãããã®ã«æ³šåããŠã¬ãã¥ãŒã§ããããã«ãªããèŠã«ãªããã«ã¢ããããŒããã§ããããã«ãªããŸããã çµæ ã©ã€ãã©ãªã¢ããããŒãã®éçšæé ãèšããããšã«ãã£ãŠãä»ãŸã§ä»¥äžã«å ç¢ãªç°å¢ã«ãªããŸããããããããrenovate ã«ãã£ãŠèªåçã«éèŠãªïŒæ¬çªåœ±é¿ã®ããïŒã©ã€ãã©ãªã®ã¿ã«éäžããŠã¬ãã¥ãŒãè¡ãããšã«ãã£ãŠãå°ãªãå·¥æ°ã§ã¢ããããŒãããŠãããããã«ãªããŸããã package.json ã SPA åäœã«åå² èª²é¡æŽçã§èšèŒããéããé»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸãããïŒã€ã® package.json ã§ç®¡çããŠããŸããã§ãã®ã§ããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããã°ãªããŸããã åŒå®³ãšã㊠package.json ã«å¯ŸããŠïŒã€ã®å€æŽããã£ããšãã«ãã¹ãŠã® SPA ã«åœ±é¿ãåºãŠããŸããŸããã§ãã®ã§ããã®è¥å€§åãã package.json ãããããã® SPA ã«åå²ããããšããŸããã package.json ã SPA åäœã«åå²ããããšã¯ 責ååé¢ ãšããåŽé¢ããããã©ã€ãã©ãªã ãã§ãªããå ±éããŠãã宿°ãããžãã¯ãã³ã³ããŒãã³ããwebpack.config.jsãbabel.config.js ãš tsconfig.json ãªã©ãã¹ãŠãããããã® SPA ã«äŸåã®ãªã圢ã«éããããã«ããŸããããããã®åå²ããäœæ¥ã¯éåžžã«æ³¥èããã®ã§ãæ¬èšäºã«èšèŒããã»ã©ã®ãã®ã§ã¯ãããŸããããåŸãããçµæã«ã€ããŠèšèŒããŠããããšæããŸãã çµæ ãŸãã責ååé¢ãã§ããã®ã§ãïŒã€ã® SPA ã«å¯Ÿãã倿Žããã£ããšãã«ãä»ã®å šãŠã® SPA ã«å¯Ÿãã圱é¿ãåºãªããªããŸããããã£ãŠãïŒã€ã® SPA ã«å¯ŸããŠæ°ã㪠Web ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªã詊ãããšã容æã«ãªããŸãããä»ã«ããïŒã€ã® webpack ã§ãã¹ãŠã® SPA ãã·ãŒã±ã³ã·ã£ã«ã«ãã«ãããŠããã®ã«å¯ŸããŠãçŸåšã¯ãã©ã¬ã«ã§ãã«ãã§ããããã«ãªããã«ãæéãççž®ããããããä»ãŸã§ä»¥äžã«ã³ããããããããã€ãŸã§ã®ã€ãã¬ãŒã·ã§ã³ãå°ãããªããŸããã ãããã®çµæããããã³ãéçºç°å¢ã®æ¹åããã³ DX åäžãæãããŸããã ä»åŸã®èª²é¡ æç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããä»çµã¿äœã ãã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãããã¯ãŸãã«æç¶çã«ã©ã€ãã©ãªãã¢ããããŒãããããã®ææ®µã§ãããpackage.json ã SPA åäœã«åå²ããããããããã® SPA ãã¡ã³ããã³ã¹ããããç°å¢äœããšããŠã¯æ¬ ãããªãäœæ¥ã§ããã ãããããã®ãŸãŸãªãã¡ã¯ã¿ãªã³ã°ãäžæããã°ããããã¯ãã®èŠæš¡ã倧ãããªããšããããã³ããšã³ãã®ææµã«ãã£ãŠåã³ã¡ã³ããã³ã¹ãã¥ããç°å¢ã«ãªã£ãŠããŸããŸãã ãªã®ã§ãæç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããããã«ã¯ä»çµã¿äœããæ¬ ãããªããšèããŠããŸãããã®ããã«ã¯ãå±äººåã«ãããªãä»çµã¿ã¥ãããã¡ã³ããã³ã¹ããããç°å¢æ¹åããšã³ãžãã¢ããããã®ããã³ããšã³ãéçºç°å¢ã«å¯Ÿãããªãã©ã·ãé«ããåãçµã¿ãè¡ã£ãŠããå¿ èŠããããŸãããã®ãããçŸåš æšªè»žååŒ·äŒ ãªã©ã§ CLINICS ããã³ããšã³ãã®å®è£ èæ¯ãããªãã¡ã¯ã¿ãªã³ã°ããããæžãæ¹ãªã©ã®ãã¬ããžãå ±æããŠããŸãã ãŸãšã ããã³ããšã³ãéçºç°å¢ã®ã¡ã³ããã³ã¹ã»ãªãã¡ã¯ã¿ãªã³ã°èªäœã¯ãããŸã§ããŠãŒã¶ã«æ°ããæ©èœãæäŸããŠããããã§ã¯ãªããç²ã ãšè¡ã£ãŠãããã®ã§ãããããã課é¡ãæŽãåºããåãåã£ãŠã解決ããŠãã£ãããšã«ãã£ãŠåŸããããã©ã¯ãã£ã¹ã¯å€ããããããã³ããšã³ãã®ãšã³ã·ã¹ãã ã«å¯Ÿããçè§£ãå€ãåŸãããŸããã ãããã®ãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠ DX ãåäžããŠãããæè¡çãªãã€ãºã«æ©ãæéãæžãããšã³ãžãã¢ã¯ãããããã¯ãã®æ©èœéçºã«å°å¿µã§ããããã«ãªã£ãŠãããšä¿¡ããŠããŸãã ä»åç§ãã¡ã課é¡ã解決ããããšã«ãã£ãŠãæç¶çã«ãªãã¡ã¯ã¿ãªã³ã°ãããããåå°äœãããããšããåŽé¢ããããšæããŸããä»åŸã®èª²é¡ãšããŠããã®åå°ãåºã«ããããã®ãšã³ãžãã¢ãæèãæã£ãŠã¡ã³ããã³ã¹ã§ãããããªä»çµã¿ã¥ãããè¡ã£ãŠãããããšæããŸãã æåŸãŸã§èªãã§ããã ãããããšãããããŸããã www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/20
<![CDATA[ ããã³ããšã³ãéçºç°å¢ã®ç¶ç¶çãªãªãã¡ã¯ã¿ãªã³ã° ]]>
ããã«ã¡ã¯ã第äºéçºã°ã«ãŒããšã³ãžãã¢ã®è¥¿æã§ãã䞻㫠CLINICS ã®éçºãæ åœããŠããŸãã ã¯ããã« CLINICS ã¯é»åã«ã«ãããªã³ã©ã€ã³èšºçãäºçŽã·ã¹ãã ãæ£è ã¢ããªãªã©ãå«ãçµ±åã¢ããªã§ããCLINICS ãããŒã³ãããŠããçŸåšã«è³ããŸã§åžžã«æ°æ©èœéçºãšå®åžžæ¹åãè¡ãããŠãããéçºç°å¢ã®ã¡ã³ããã³ã¹ã¯åŸæã«ãªããã¡ã§ãããä»åã¯ãããã£ãç¶æ³ãæ¹åãã¹ããéçºç°å¢ã®ã¡ã³ããã³ã¹ããªãã¡ã¯ã¿ãªã³ã°ãè¡ã£ãéçšããåŸããããã©ã¯ãã£ã¹ã«ã€ããŠç޹ä»ããŠããããšæããŸãã ã¢ãããŒã·ã§ã³ ãããã¯ãã®æ°èŠéçºæã«è¡ãããæè¡éžå®ã¯éåžžã«é£ãããæ¥åèŠä»¶ãããŒã ç¶æ³ãªã©ç·åçã«èæ ®ããŠãã®æç¹ã§ã®ãã¹ããªéžæãããå¿ èŠããããŸãã ããããéžæããæè¡ã§é·æéçšãããŠãããã¡ã«ãã¡ã³ããã³ã¹ãè¡ãå±ããªããªã£ãã³ãŒããã©ã€ãã©ãªãåºãŠããŸããŸãã CLINICS ããŒã³ãåœåã¯ãªã³ã©ã€ã³èšºçã®ã¿ãæäŸããŠããŸãããSPA ã§æ§æãããŠããŸããããïŒã€ã® package.json ã§å¹ççã«éçºã§ããŠããŸãããä»ã«ãçŸåšã»ã© TypeScript ãäž»æµã§ã¯ãªãã£ãã®ã§ JavaScript ã®ã³ãŒããã¡ã€ã³ã§å®è£ ãããŠãŸããã æ°ããªã¢ããªã±ãŒã·ã§ã³ïŒé»åã«ã«ããäºçŽã·ã¹ãã ãªã©ïŒãå°å ¥ããã¿ã€ãã³ã°ãããªãã¡ãããã¯ããå°èŠæš¡ããäžèŠæš¡ã«å€é·ããã¿ã€ãã³ã°ããããã³ããšã³ãã®ææµã«ãã£ãŠãéçºç°å¢ãæ¹åã§ããéšåããããŸãããããããŠããªãéšåãåºãŠããŸããã ãã®æ¹åããããŠããªãéšåãæ®ãç¶æ ãç¶ããš Developer Experience(DX)ã®äœäžã«ç¹ãã£ãŠããŸããŸããã§ãã®ã§ãç§ãã¡ã¯æ¹åããããŠããªãéšåãåãé€ããŠãããããã¢ãã³ãšãããéçºç°å¢ãžãªãã¡ã¯ã¿ãªã³ã°ãããŠããããšèããŸããã DX ãåäžããŠããããšã§æè¡çãªãã€ãºã«æéãåãããªãããã«ãªããŸãããããŠæäŸããæ©èœãã®ãã®ã«ã€ããŠèããæéãå¢ããçµæçã« CLINICS ãããè¯ããããã¯ããžé²åãããŠããã®ãåœãªãã¡ã¯ã¿ãªã³ã°ã®ç®çã§ãã èª²é¡æŽç æ¹åããŠããããã«ã¯ãçŸç¶æŽçãèª²é¡æŽçãè¡ããªãããšã«ã¯äœãå§ãŸããŸãããããã³ããšã³ãéçºç°å¢ãã¡ã³ããã³ã¹ããã¿ã¹ã¯ã¯ããããã¯ãã®æ©èœïŒãŠãŒã¶ã«æäŸãããæ©èœïŒã«çŽæ¥ãã©ã¹ã®åœ±é¿ãããããã§ã¯ãããŸãããèªããšéåžžã®æ©èœéçºãå®åžžæ¹åã«æ¯ã¹åªå 床ã¯èœã¡ããããã¹ããæéã§æ¹åãããŠããããšã«ãªããŸããããããã¹ããæéãæå¹æŽ»çšããããã«ã¯ãã¿ã¹ã¯ã®é£æåºŠã®çè§£ãã¿ã¹ã¯ãé©åœã«åå²ããã§ãŒãžã³ã°ã®èšç»ãè¡ãããšã極ããŠå€§äºã§ãã ãã®ããã«èæ ®ãã課é¡ã®äžã§ãæ¬èšäºã§èšèŒããã®ã¯ä»¥äžã®ïŒã€ã§ãã ã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšãåºãŸã£ãŠãªã éçšæ¹åŒãåºãŸã£ãŠããªãããšã§ãæŸçœ®ãããŠããŸããã¡ã§ããçå ããŠã¢ããããŒãããã¡ã³ããŒããããšããŠããå±äººåã®èª²é¡ãæ®ã£ãŠããŸããŸã æŸçœ®ãããŠããŸã£ãããšã«ãããææ°çãšã®å·®åã倧ãããªãã¢ããããŒãããã³ã¹ãã倧ãããªã£ãŠããŸããŸã çµæçã«ãã©ã€ãã©ãªã®ã»ãã¥ãªãã£ãã£ãã¯ã¹å¯Ÿå¿ãæ°ããæäŸãããæ©èœãããã«é©å¿ã§ããªãç°å¢ã«ãªã£ãŠããŸããŸã è€æ°ã® SPA ã®äŸåãïŒã€ã® package.json ã§ç®¡çããŠãã é»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸã ããããïŒã€ã® package.json ã§ç®¡çããŠããããããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããŠã¯ãªããŸãããå°èŠæš¡ã®ãšãã¯ãã®ãããªæ§æã§ååã§ããããèŠæš¡ã倧ãããªãã«ã€ããŠæè»æ§ã倱ããããšå ±ã«ãã©ã€ãã©ãªã®ã¢ããããŒãããããã圱é¿ç¯å²ãåºãã£ãŠããŸãããã容æã«ã¢ããããŒãã§ããªããªã£ãŠããŸããŸã æ¬èšäºã§ã¯èšèŒããŸããããRedux ã®æžãæ¹ãæ··åšããŠããããããã³ããšã³ãã®ãã¹ããå°ãªãããç¶²çŸ çã« TypeScript åã§ããŠããªã JavaScript ããŸã æ®ã£ãŠããããªã©ã®èª²é¡ãæããããŸããã ãããã課é¡ã¯ãã©ã®ãããã¯ãã«ãååšãããšæããŸããããã¯ããŒã³ãåœæã®æè¡æµè¡ã§ãã£ããããããã¯ãã®æåŸ èŠæš¡ãå°æ°ã¡ã³ãã«é©ããèšèšãªã©èŠå ã¯æ§ã ãããããã°ã©ã ã®ãªãã¡ã¯ã¿ãªã³ã°ãšåæ§ã« ãããã¯ãã®æé·ã«äŒŽã£ãŠãªãã¡ã¯ã¿ãªã³ã°ããŠããããšãæ£ ã ãšä¿¡ããŠããŸãã ã¢ãããŒã·ã§ã³ã«ãŠèšèŒããéãããããè€æ°ã®èª²é¡ã¯éçºç°å¢ã®ãã€ãºã§ãããé€å»ããããšã«ãã£ãŠãããè¯ã DX ãåŸããããšèããŠããŸããä»ã«ãã®ãããªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠããããã¯ããããå ç¢ã«ã§ãããšããåŽé¢ããããŸãã äžèšã®ïŒã€ã®èª²é¡ã«å¯ŸããŠãããããã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšææ®µãèšããããpackage.json ã SPA åäœã«åå²ããã話ãããããããŠãããŸãã ããã³ããšã³ãéçºç°å¢ã®ãªãã¡ã¯ã¿ãªã³ã° ã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãã æåã¢ããããŒã ã©ã€ãã©ãªãã¢ããããŒãããã«ã¯ã³ãã³ããå©ãã ãã ãšèããŠããŸããããäŸåããŠããå¥ã®ã©ã€ãã©ãªã«åœ±é¿ãæ¬åœã«ãªãããªã©èª¿æ»ããå¿ èŠããããšç¥ããã©ã€ãã©ãªã®ã¢ããããŒãæ¹æ³ã暡玢ãããšããããéå§ããŸããã ã©ã€ãã©ãªã§ã¯ãªãã§ãããNode.js ã®ã¢ããããŒããããããšãããšãnode-sass ã Firebase ã圱é¿ããŠãããããŠãèã¥ãåŒã§æ ¹ã£ãã«ããã©ã€ãã©ãªã®ã¢ããããŒããããå¿ èŠãåºãŠãããããã®ã§ãäžã€äžã€åé¡ããªãã調æ»ããã®ã倧å€ã§ããã äœãããã¢ããããŒã察象ã©ã€ãã©ãªã®ãªãªãŒã¹ããŒãã« Breaking Changes ãæžãããŠããªãã£ãããsemver ãå®ãããŠãããããããªãã£ãããšããããã¯ãã«åœ±é¿ããªãã調ã¹ãå¿ èŠããããåé¡ã®åãåãæ¹ãé£ããã£ãã®ã§ãã ããã§åŸãããã©ã€ãã©ãªã¢ããããŒãã®å®å šæ§æ ä¿ã®ãã©ã¯ãã£ã¹ãšã㊠webpack ã«ãããã«ãçµæãå€ãããªãã±ãŒã¹ ãšã QA ãã¹ãã«ãã£ãŠæ ä¿ããã±ãŒã¹ ãããããšãããããŸãããåè 㯠webpack ã«ããææç©ãå€ãããªãã®ã§ããã°ä»åã®ã¢ããããŒããå®å šã§ãããšãããåŸè ã¯ãšã³ãžãã¢ãš QA ãšã³ãžãã¢ã«ãã£ãŠã©ã€ãã©ãªã®åœ±é¿ç¯å²ã«ãã¬ãŒã·ã§ã³ããªãããšã確ãããŠå®å šã§ãããšããããšãããã®ã§ãã renovate ã®éçšéå§ æ°ã«æéã¯äžèšã®ããã«ã©ã€ãã©ãªã®ã¢ããããŒããæåã§è¡ã£ãŠããŸãããã確èªå·¥æ°ãå¢ããŠããŸããä»ã®ã¿ã¹ã¯ã®æéãå§è¿«ããŠããŸãã»ã©ã§ããã ããã§ãã¢ããããŒããèªååãã renovate  㚠dependabot ãèŠéã«å ¥ããŸãããrenovate ã¯ãdependabot ã«æ¯ã¹ãŠé«æ©èœã§ãã€ãç¡æã§ãããšããçç±ã§éžå®ããŸããã éçšåœåãrenovate ã Pull Request ãäœæããŠãããããdiff ã«ããã©ã€ãã©ãªã®å€æŽç¹ãèŠãããã£ãããšãæ©æµãæããŠããŸãããããããåŸã ã«ãã¢ããããŒã察象ãå€ãããããããã©ãããã©ã€ãã©ãªã§ã圱é¿ç¯å²ãã©ããªã®ãããšããããšã®èª¿æ»ã«æéãåãããããã«ãªã£ãŠããŸããŸããã ããã§åŸãããèª¿æ»æéãççž®ãããã©ã¯ãã£ã¹ãšããŠ**ãæ¬çªåœ±é¿ã®ãããã®ããéçºåããããã«ãåšãããš renovate ããæ¥ã Pull Request ãæŽçãã**ããšã§ãããã®ãããªæŽçãè¡ãããšã§ãæ¬çªåœ±é¿ã®ãããã®ã«æ³šåããŠã¬ãã¥ãŒã§ããããã«ãªããèŠã«ãªããã«ã¢ããããŒããã§ããããã«ãªããŸããã çµæ ã©ã€ãã©ãªã¢ããããŒãã®éçšæé ãèšããããšã«ãã£ãŠãä»ãŸã§ä»¥äžã«å ç¢ãªç°å¢ã«ãªããŸããããããããrenovate ã«ãã£ãŠèªåçã«éèŠãªïŒæ¬çªåœ±é¿ã®ããïŒã©ã€ãã©ãªã®ã¿ã«éäžããŠã¬ãã¥ãŒãè¡ãããšã«ãã£ãŠãå°ãªãå·¥æ°ã§ã¢ããããŒãããŠãããããã«ãªããŸããã package.json ã SPA åäœã«åå² èª²é¡æŽçã§èšèŒããéããé»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸãããïŒã€ã® package.json ã§ç®¡çããŠããŸããã§ãã®ã§ããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããã°ãªããŸããã åŒå®³ãšã㊠package.json ã«å¯ŸããŠïŒã€ã®å€æŽããã£ããšãã«ãã¹ãŠã® SPA ã«åœ±é¿ãåºãŠããŸããŸããã§ãã®ã§ããã®è¥å€§åãã package.json ãããããã® SPA ã«åå²ããããšããŸããã package.json ã SPA åäœã«åå²ããããšã¯ 責ååé¢ ãšããåŽé¢ããããã©ã€ãã©ãªã ãã§ãªããå ±éããŠãã宿°ãããžãã¯ãã³ã³ããŒãã³ããwebpack.config.jsãbabel.config.js ãš tsconfig.json ãªã©ãã¹ãŠãããããã® SPA ã«äŸåã®ãªã圢ã«éããããã«ããŸããããããã®åå²ããäœæ¥ã¯éåžžã«æ³¥èããã®ã§ãæ¬èšäºã«èšèŒããã»ã©ã®ãã®ã§ã¯ãããŸããããåŸãããçµæã«ã€ããŠèšèŒããŠããããšæããŸãã çµæ ãŸãã責ååé¢ãã§ããã®ã§ãïŒã€ã® SPA ã«å¯Ÿãã倿Žããã£ããšãã«ãä»ã®å šãŠã® SPA ã«å¯Ÿãã圱é¿ãåºãªããªããŸããããã£ãŠãïŒã€ã® SPA ã«å¯ŸããŠæ°ã㪠Web ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªã詊ãããšã容æã«ãªããŸãããä»ã«ããïŒã€ã® webpack ã§ãã¹ãŠã® SPA ãã·ãŒã±ã³ã·ã£ã«ã«ãã«ãããŠããã®ã«å¯ŸããŠãçŸåšã¯ãã©ã¬ã«ã§ãã«ãã§ããããã«ãªããã«ãæéãççž®ããããããä»ãŸã§ä»¥äžã«ã³ããããããããã€ãŸã§ã®ã€ãã¬ãŒã·ã§ã³ãå°ãããªããŸããã ãããã®çµæããããã³ãéçºç°å¢ã®æ¹åããã³ DX åäžãæãããŸããã ä»åŸã®èª²é¡ æç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããä»çµã¿äœã ãã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãããã¯ãŸãã«æç¶çã«ã©ã€ãã©ãªãã¢ããããŒãããããã®ææ®µã§ãããpackage.json ã SPA åäœã«åå²ããããããããã® SPA ãã¡ã³ããã³ã¹ããããç°å¢äœããšããŠã¯æ¬ ãããªãäœæ¥ã§ããã ãããããã®ãŸãŸãªãã¡ã¯ã¿ãªã³ã°ãäžæããã°ããããã¯ãã®èŠæš¡ã倧ãããªããšããããã³ããšã³ãã®ææµã«ãã£ãŠåã³ã¡ã³ããã³ã¹ãã¥ããç°å¢ã«ãªã£ãŠããŸããŸãã ãªã®ã§ãæç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããããã«ã¯ä»çµã¿äœããæ¬ ãããªããšèããŠããŸãããã®ããã«ã¯ãå±äººåã«ãããªãä»çµã¿ã¥ãããã¡ã³ããã³ã¹ããããç°å¢æ¹åããšã³ãžãã¢ããããã®ããã³ããšã³ãéçºç°å¢ã«å¯Ÿãããªãã©ã·ãé«ããåãçµã¿ãè¡ã£ãŠããå¿ èŠããããŸãããã®ãããçŸåš æšªè»žååŒ·äŒ ãªã©ã§ CLINICS ããã³ããšã³ãã®å®è£ èæ¯ãããªãã¡ã¯ã¿ãªã³ã°ããããæžãæ¹ãªã©ã®ãã¬ããžãå ±æããŠããŸãã ãŸãšã ããã³ããšã³ãéçºç°å¢ã®ã¡ã³ããã³ã¹ã»ãªãã¡ã¯ã¿ãªã³ã°èªäœã¯ãããŸã§ããŠãŒã¶ã«æ°ããæ©èœãæäŸããŠããããã§ã¯ãªããç²ã ãšè¡ã£ãŠãããã®ã§ãããããã課é¡ãæŽãåºããåãåã£ãŠã解決ããŠãã£ãããšã«ãã£ãŠåŸããããã©ã¯ãã£ã¹ã¯å€ããããããã³ããšã³ãã®ãšã³ã·ã¹ãã ã«å¯Ÿããçè§£ãå€ãåŸãããŸããã ãããã®ãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠ DX ãåäžããŠãããæè¡çãªãã€ãºã«æ©ãæéãæžãããšã³ãžãã¢ã¯ãããããã¯ãã®æ©èœéçºã«å°å¿µã§ããããã«ãªã£ãŠãããšä¿¡ããŠããŸãã ä»åç§ãã¡ã課é¡ã解決ããããšã«ãã£ãŠãæç¶çã«ãªãã¡ã¯ã¿ãªã³ã°ãããããåå°äœãããããšããåŽé¢ããããšæããŸããä»åŸã®èª²é¡ãšããŠããã®åå°ãåºã«ããããã®ãšã³ãžãã¢ãæèãæã£ãŠã¡ã³ããã³ã¹ã§ãããããªä»çµã¿ã¥ãããè¡ã£ãŠãããããšæããŸãã æåŸãŸã§èªãã§ããã ãããããšãããããŸããã www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/20
<![CDATA[ ããã³ããšã³ãéçºç°å¢ã®ç¶ç¶çãªãªãã¡ã¯ã¿ãªã³ã° ]]>
ããã«ã¡ã¯ã第äºéçºã°ã«ãŒããšã³ãžãã¢ã®è¥¿æã§ãã䞻㫠CLINICS ã®éçºãæ åœããŠããŸãã ã¯ããã« CLINICS ã¯é»åã«ã«ãããªã³ã©ã€ã³èšºçãäºçŽã·ã¹ãã ãæ£è ã¢ããªãªã©ãå«ãçµ±åã¢ããªã§ããCLINICS ãããŒã³ãããŠããçŸåšã«è³ããŸã§åžžã«æ°æ©èœéçºãšå®åžžæ¹åãè¡ãããŠãããéçºç°å¢ã®ã¡ã³ããã³ã¹ã¯åŸæã«ãªããã¡ã§ãããä»åã¯ãããã£ãç¶æ³ãæ¹åãã¹ããéçºç°å¢ã®ã¡ã³ããã³ã¹ããªãã¡ã¯ã¿ãªã³ã°ãè¡ã£ãéçšããåŸããããã©ã¯ãã£ã¹ã«ã€ããŠç޹ä»ããŠããããšæããŸãã ã¢ãããŒã·ã§ã³ ãããã¯ãã®æ°èŠéçºæã«è¡ãããæè¡éžå®ã¯éåžžã«é£ãããæ¥åèŠä»¶ãããŒã ç¶æ³ãªã©ç·åçã«èæ ®ããŠãã®æç¹ã§ã®ãã¹ããªéžæãããå¿ èŠããããŸãã ããããéžæããæè¡ã§é·æéçšãããŠãããã¡ã«ãã¡ã³ããã³ã¹ãè¡ãå±ããªããªã£ãã³ãŒããã©ã€ãã©ãªãåºãŠããŸããŸãã CLINICS ããŒã³ãåœåã¯ãªã³ã©ã€ã³èšºçã®ã¿ãæäŸããŠããŸãããSPA ã§æ§æãããŠããŸããããïŒã€ã® package.json ã§å¹ççã«éçºã§ããŠããŸãããä»ã«ãçŸåšã»ã© TypeScript ãäž»æµã§ã¯ãªãã£ãã®ã§ JavaScript ã®ã³ãŒããã¡ã€ã³ã§å®è£ ãããŠãŸããã æ°ããªã¢ããªã±ãŒã·ã§ã³ïŒé»åã«ã«ããäºçŽã·ã¹ãã ãªã©ïŒãå°å ¥ããã¿ã€ãã³ã°ãããªãã¡ãããã¯ããå°èŠæš¡ããäžèŠæš¡ã«å€é·ããã¿ã€ãã³ã°ããããã³ããšã³ãã®ææµã«ãã£ãŠãéçºç°å¢ãæ¹åã§ããéšåããããŸãããããããŠããªãéšåãåºãŠããŸããã ãã®æ¹åããããŠããªãéšåãæ®ãç¶æ ãç¶ããš Developer Experience(DX)ã®äœäžã«ç¹ãã£ãŠããŸããŸããã§ãã®ã§ãç§ãã¡ã¯æ¹åããããŠããªãéšåãåãé€ããŠãããããã¢ãã³ãšãããéçºç°å¢ãžãªãã¡ã¯ã¿ãªã³ã°ãããŠããããšèããŸããã DX ãåäžããŠããããšã§æè¡çãªãã€ãºã«æéãåãããªãããã«ãªããŸãããããŠæäŸããæ©èœãã®ãã®ã«ã€ããŠèããæéãå¢ããçµæçã« CLINICS ãããè¯ããããã¯ããžé²åãããŠããã®ãåœãªãã¡ã¯ã¿ãªã³ã°ã®ç®çã§ãã èª²é¡æŽç æ¹åããŠããããã«ã¯ãçŸç¶æŽçãèª²é¡æŽçãè¡ããªãããšã«ã¯äœãå§ãŸããŸãããããã³ããšã³ãéçºç°å¢ãã¡ã³ããã³ã¹ããã¿ã¹ã¯ã¯ããããã¯ãã®æ©èœïŒãŠãŒã¶ã«æäŸãããæ©èœïŒã«çŽæ¥ãã©ã¹ã®åœ±é¿ãããããã§ã¯ãããŸãããèªããšéåžžã®æ©èœéçºãå®åžžæ¹åã«æ¯ã¹åªå 床ã¯èœã¡ããããã¹ããæéã§æ¹åãããŠããããšã«ãªããŸããããããã¹ããæéãæå¹æŽ»çšããããã«ã¯ãã¿ã¹ã¯ã®é£æåºŠã®çè§£ãã¿ã¹ã¯ãé©åœã«åå²ããã§ãŒãžã³ã°ã®èšç»ãè¡ãããšã極ããŠå€§äºã§ãã ãã®ããã«èæ ®ãã課é¡ã®äžã§ãæ¬èšäºã§èšèŒããã®ã¯ä»¥äžã®ïŒã€ã§ãã ã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšãåºãŸã£ãŠãªã éçšæ¹åŒãåºãŸã£ãŠããªãããšã§ãæŸçœ®ãããŠããŸããã¡ã§ããçå ããŠã¢ããããŒãããã¡ã³ããŒããããšããŠããå±äººåã®èª²é¡ãæ®ã£ãŠããŸããŸã æŸçœ®ãããŠããŸã£ãããšã«ãããææ°çãšã®å·®åã倧ãããªãã¢ããããŒãããã³ã¹ãã倧ãããªã£ãŠããŸããŸã çµæçã«ãã©ã€ãã©ãªã®ã»ãã¥ãªãã£ãã£ãã¯ã¹å¯Ÿå¿ãæ°ããæäŸãããæ©èœãããã«é©å¿ã§ããªãç°å¢ã«ãªã£ãŠããŸããŸã è€æ°ã® SPA ã®äŸåãïŒã€ã® package.json ã§ç®¡çããŠãã é»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸã ããããïŒã€ã® package.json ã§ç®¡çããŠããããããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããŠã¯ãªããŸãããå°èŠæš¡ã®ãšãã¯ãã®ãããªæ§æã§ååã§ããããèŠæš¡ã倧ãããªãã«ã€ããŠæè»æ§ã倱ããããšå ±ã«ãã©ã€ãã©ãªã®ã¢ããããŒãããããã圱é¿ç¯å²ãåºãã£ãŠããŸãããã容æã«ã¢ããããŒãã§ããªããªã£ãŠããŸããŸã æ¬èšäºã§ã¯èšèŒããŸããããRedux ã®æžãæ¹ãæ··åšããŠããããããã³ããšã³ãã®ãã¹ããå°ãªãããç¶²çŸ çã« TypeScript åã§ããŠããªã JavaScript ããŸã æ®ã£ãŠããããªã©ã®èª²é¡ãæããããŸããã ãããã課é¡ã¯ãã©ã®ãããã¯ãã«ãååšãããšæããŸããããã¯ããŒã³ãåœæã®æè¡æµè¡ã§ãã£ããããããã¯ãã®æåŸ èŠæš¡ãå°æ°ã¡ã³ãã«é©ããèšèšãªã©èŠå ã¯æ§ã ãããããã°ã©ã ã®ãªãã¡ã¯ã¿ãªã³ã°ãšåæ§ã« ãããã¯ãã®æé·ã«äŒŽã£ãŠãªãã¡ã¯ã¿ãªã³ã°ããŠããããšãæ£ ã ãšä¿¡ããŠããŸãã ã¢ãããŒã·ã§ã³ã«ãŠèšèŒããéãããããè€æ°ã®èª²é¡ã¯éçºç°å¢ã®ãã€ãºã§ãããé€å»ããããšã«ãã£ãŠãããè¯ã DX ãåŸããããšèããŠããŸããä»ã«ãã®ãããªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠããããã¯ããããå ç¢ã«ã§ãããšããåŽé¢ããããŸãã äžèšã®ïŒã€ã®èª²é¡ã«å¯ŸããŠãããããã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšææ®µãèšããããpackage.json ã SPA åäœã«åå²ããã話ãããããããŠãããŸãã ããã³ããšã³ãéçºç°å¢ã®ãªãã¡ã¯ã¿ãªã³ã° ã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãã æåã¢ããããŒã ã©ã€ãã©ãªãã¢ããããŒãããã«ã¯ã³ãã³ããå©ãã ãã ãšèããŠããŸããããäŸåããŠããå¥ã®ã©ã€ãã©ãªã«åœ±é¿ãæ¬åœã«ãªãããªã©èª¿æ»ããå¿ èŠããããšç¥ããã©ã€ãã©ãªã®ã¢ããããŒãæ¹æ³ã暡玢ãããšããããéå§ããŸããã ã©ã€ãã©ãªã§ã¯ãªãã§ãããNode.js ã®ã¢ããããŒããããããšãããšãnode-sass ã Firebase ã圱é¿ããŠãããããŠãèã¥ãåŒã§æ ¹ã£ãã«ããã©ã€ãã©ãªã®ã¢ããããŒããããå¿ èŠãåºãŠãããããã®ã§ãäžã€äžã€åé¡ããªãã調æ»ããã®ã倧å€ã§ããã äœãããã¢ããããŒã察象ã©ã€ãã©ãªã®ãªãªãŒã¹ããŒãã« Breaking Changes ãæžãããŠããªãã£ãããsemver ãå®ãããŠãããããããªãã£ãããšããããã¯ãã«åœ±é¿ããªãã調ã¹ãå¿ èŠããããåé¡ã®åãåãæ¹ãé£ããã£ãã®ã§ãã ããã§åŸãããã©ã€ãã©ãªã¢ããããŒãã®å®å šæ§æ ä¿ã®ãã©ã¯ãã£ã¹ãšã㊠webpack ã«ãããã«ãçµæãå€ãããªãã±ãŒã¹ ãšã QA ãã¹ãã«ãã£ãŠæ ä¿ããã±ãŒã¹ ãããããšãããããŸãããåè 㯠webpack ã«ããææç©ãå€ãããªãã®ã§ããã°ä»åã®ã¢ããããŒããå®å šã§ãããšãããåŸè ã¯ãšã³ãžãã¢ãš QA ãšã³ãžãã¢ã«ãã£ãŠã©ã€ãã©ãªã®åœ±é¿ç¯å²ã«ãã¬ãŒã·ã§ã³ããªãããšã確ãããŠå®å šã§ãããšããããšãããã®ã§ãã renovate ã®éçšéå§ æ°ã«æéã¯äžèšã®ããã«ã©ã€ãã©ãªã®ã¢ããããŒããæåã§è¡ã£ãŠããŸãããã確èªå·¥æ°ãå¢ããŠããŸããä»ã®ã¿ã¹ã¯ã®æéãå§è¿«ããŠããŸãã»ã©ã§ããã ããã§ãã¢ããããŒããèªååãã renovate  㚠dependabot ãèŠéã«å ¥ããŸãããrenovate ã¯ãdependabot ã«æ¯ã¹ãŠé«æ©èœã§ãã€ãç¡æã§ãããšããçç±ã§éžå®ããŸããã éçšåœåãrenovate ã Pull Request ãäœæããŠãããããdiff ã«ããã©ã€ãã©ãªã®å€æŽç¹ãèŠãããã£ãããšãæ©æµãæããŠããŸãããããããåŸã ã«ãã¢ããããŒã察象ãå€ãããããããã©ãããã©ã€ãã©ãªã§ã圱é¿ç¯å²ãã©ããªã®ãããšããããšã®èª¿æ»ã«æéãåãããããã«ãªã£ãŠããŸããŸããã ããã§åŸãããèª¿æ»æéãççž®ãããã©ã¯ãã£ã¹ãšããŠ**ãæ¬çªåœ±é¿ã®ãããã®ããéçºåããããã«ãåšãããš renovate ããæ¥ã Pull Request ãæŽçãã**ããšã§ãããã®ãããªæŽçãè¡ãããšã§ãæ¬çªåœ±é¿ã®ãããã®ã«æ³šåããŠã¬ãã¥ãŒã§ããããã«ãªããèŠã«ãªããã«ã¢ããããŒããã§ããããã«ãªããŸããã çµæ ã©ã€ãã©ãªã¢ããããŒãã®éçšæé ãèšããããšã«ãã£ãŠãä»ãŸã§ä»¥äžã«å ç¢ãªç°å¢ã«ãªããŸããããããããrenovate ã«ãã£ãŠèªåçã«éèŠãªïŒæ¬çªåœ±é¿ã®ããïŒã©ã€ãã©ãªã®ã¿ã«éäžããŠã¬ãã¥ãŒãè¡ãããšã«ãã£ãŠãå°ãªãå·¥æ°ã§ã¢ããããŒãããŠãããããã«ãªããŸããã package.json ã SPA åäœã«åå² èª²é¡æŽçã§èšèŒããéããé»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸãããïŒã€ã® package.json ã§ç®¡çããŠããŸããã§ãã®ã§ããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããã°ãªããŸããã åŒå®³ãšã㊠package.json ã«å¯ŸããŠïŒã€ã®å€æŽããã£ããšãã«ãã¹ãŠã® SPA ã«åœ±é¿ãåºãŠããŸããŸããã§ãã®ã§ããã®è¥å€§åãã package.json ãããããã® SPA ã«åå²ããããšããŸããã package.json ã SPA åäœã«åå²ããããšã¯ 責ååé¢ ãšããåŽé¢ããããã©ã€ãã©ãªã ãã§ãªããå ±éããŠãã宿°ãããžãã¯ãã³ã³ããŒãã³ããwebpack.config.jsãbabel.config.js ãš tsconfig.json ãªã©ãã¹ãŠãããããã® SPA ã«äŸåã®ãªã圢ã«éããããã«ããŸããããããã®åå²ããäœæ¥ã¯éåžžã«æ³¥èããã®ã§ãæ¬èšäºã«èšèŒããã»ã©ã®ãã®ã§ã¯ãããŸããããåŸãããçµæã«ã€ããŠèšèŒããŠããããšæããŸãã çµæ ãŸãã責ååé¢ãã§ããã®ã§ãïŒã€ã® SPA ã«å¯Ÿãã倿Žããã£ããšãã«ãä»ã®å šãŠã® SPA ã«å¯Ÿãã圱é¿ãåºãªããªããŸããããã£ãŠãïŒã€ã® SPA ã«å¯ŸããŠæ°ã㪠Web ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªã詊ãããšã容æã«ãªããŸãããä»ã«ããïŒã€ã® webpack ã§ãã¹ãŠã® SPA ãã·ãŒã±ã³ã·ã£ã«ã«ãã«ãããŠããã®ã«å¯ŸããŠãçŸåšã¯ãã©ã¬ã«ã§ãã«ãã§ããããã«ãªããã«ãæéãççž®ããããããä»ãŸã§ä»¥äžã«ã³ããããããããã€ãŸã§ã®ã€ãã¬ãŒã·ã§ã³ãå°ãããªããŸããã ãããã®çµæããããã³ãéçºç°å¢ã®æ¹åããã³ DX åäžãæãããŸããã ä»åŸã®èª²é¡ æç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããä»çµã¿äœã ãã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãããã¯ãŸãã«æç¶çã«ã©ã€ãã©ãªãã¢ããããŒãããããã®ææ®µã§ãããpackage.json ã SPA åäœã«åå²ããããããããã® SPA ãã¡ã³ããã³ã¹ããããç°å¢äœããšããŠã¯æ¬ ãããªãäœæ¥ã§ããã ãããããã®ãŸãŸãªãã¡ã¯ã¿ãªã³ã°ãäžæããã°ããããã¯ãã®èŠæš¡ã倧ãããªããšããããã³ããšã³ãã®ææµã«ãã£ãŠåã³ã¡ã³ããã³ã¹ãã¥ããç°å¢ã«ãªã£ãŠããŸããŸãã ãªã®ã§ãæç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããããã«ã¯ä»çµã¿äœããæ¬ ãããªããšèããŠããŸãããã®ããã«ã¯ãå±äººåã«ãããªãä»çµã¿ã¥ãããã¡ã³ããã³ã¹ããããç°å¢æ¹åããšã³ãžãã¢ããããã®ããã³ããšã³ãéçºç°å¢ã«å¯Ÿãããªãã©ã·ãé«ããåãçµã¿ãè¡ã£ãŠããå¿ èŠããããŸãããã®ãããçŸåš æšªè»žååŒ·äŒ ãªã©ã§ CLINICS ããã³ããšã³ãã®å®è£ èæ¯ãããªãã¡ã¯ã¿ãªã³ã°ããããæžãæ¹ãªã©ã®ãã¬ããžãå ±æããŠããŸãã ãŸãšã ããã³ããšã³ãéçºç°å¢ã®ã¡ã³ããã³ã¹ã»ãªãã¡ã¯ã¿ãªã³ã°èªäœã¯ãããŸã§ããŠãŒã¶ã«æ°ããæ©èœãæäŸããŠããããã§ã¯ãªããç²ã ãšè¡ã£ãŠãããã®ã§ãããããã課é¡ãæŽãåºããåãåã£ãŠã解決ããŠãã£ãããšã«ãã£ãŠåŸããããã©ã¯ãã£ã¹ã¯å€ããããããã³ããšã³ãã®ãšã³ã·ã¹ãã ã«å¯Ÿããçè§£ãå€ãåŸãããŸããã ãããã®ãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠ DX ãåäžããŠãããæè¡çãªãã€ãºã«æ©ãæéãæžãããšã³ãžãã¢ã¯ãããããã¯ãã®æ©èœéçºã«å°å¿µã§ããããã«ãªã£ãŠãããšä¿¡ããŠããŸãã ä»åç§ãã¡ã課é¡ã解決ããããšã«ãã£ãŠãæç¶çã«ãªãã¡ã¯ã¿ãªã³ã°ãããããåå°äœãããããšããåŽé¢ããããšæããŸããä»åŸã®èª²é¡ãšããŠããã®åå°ãåºã«ããããã®ãšã³ãžãã¢ãæèãæã£ãŠã¡ã³ããã³ã¹ã§ãããããªä»çµã¿ã¥ãããè¡ã£ãŠãããããšæããŸãã æåŸãŸã§èªãã§ããã ãããããšãããããŸããã www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/20
<![CDATA[ ããã³ããšã³ãéçºç°å¢ã®ç¶ç¶çãªãªãã¡ã¯ã¿ãªã³ã° ]]>
ããã«ã¡ã¯ã第äºéçºã°ã«ãŒããšã³ãžãã¢ã®è¥¿æã§ãã䞻㫠CLINICS ã®éçºãæ åœããŠããŸãã ã¯ããã« CLINICS ã¯é»åã«ã«ãããªã³ã©ã€ã³èšºçãäºçŽã·ã¹ãã ãæ£è ã¢ããªãªã©ãå«ãçµ±åã¢ããªã§ããCLINICS ãããŒã³ãããŠããçŸåšã«è³ããŸã§åžžã«æ°æ©èœéçºãšå®åžžæ¹åãè¡ãããŠãããéçºç°å¢ã®ã¡ã³ããã³ã¹ã¯åŸæã«ãªããã¡ã§ãããä»åã¯ãããã£ãç¶æ³ãæ¹åãã¹ããéçºç°å¢ã®ã¡ã³ããã³ã¹ããªãã¡ã¯ã¿ãªã³ã°ãè¡ã£ãéçšããåŸããããã©ã¯ãã£ã¹ã«ã€ããŠç޹ä»ããŠããããšæããŸãã ã¢ãããŒã·ã§ã³ ãããã¯ãã®æ°èŠéçºæã«è¡ãããæè¡éžå®ã¯éåžžã«é£ãããæ¥åèŠä»¶ãããŒã ç¶æ³ãªã©ç·åçã«èæ ®ããŠãã®æç¹ã§ã®ãã¹ããªéžæãããå¿ èŠããããŸãã ããããéžæããæè¡ã§é·æéçšãããŠãããã¡ã«ãã¡ã³ããã³ã¹ãè¡ãå±ããªããªã£ãã³ãŒããã©ã€ãã©ãªãåºãŠããŸããŸãã CLINICS ããŒã³ãåœåã¯ãªã³ã©ã€ã³èšºçã®ã¿ãæäŸããŠããŸãããSPA ã§æ§æãããŠããŸããããïŒã€ã® package.json ã§å¹ççã«éçºã§ããŠããŸãããä»ã«ãçŸåšã»ã© TypeScript ãäž»æµã§ã¯ãªãã£ãã®ã§ JavaScript ã®ã³ãŒããã¡ã€ã³ã§å®è£ ãããŠãŸããã æ°ããªã¢ããªã±ãŒã·ã§ã³ïŒé»åã«ã«ããäºçŽã·ã¹ãã ãªã©ïŒãå°å ¥ããã¿ã€ãã³ã°ãããªãã¡ãããã¯ããå°èŠæš¡ããäžèŠæš¡ã«å€é·ããã¿ã€ãã³ã°ããããã³ããšã³ãã®ææµã«ãã£ãŠãéçºç°å¢ãæ¹åã§ããéšåããããŸãããããããŠããªãéšåãåºãŠããŸããã ãã®æ¹åããããŠããªãéšåãæ®ãç¶æ ãç¶ããš Developer Experience(DX)ã®äœäžã«ç¹ãã£ãŠããŸããŸããã§ãã®ã§ãç§ãã¡ã¯æ¹åããããŠããªãéšåãåãé€ããŠãããããã¢ãã³ãšãããéçºç°å¢ãžãªãã¡ã¯ã¿ãªã³ã°ãããŠããããšèããŸããã DX ãåäžããŠããããšã§æè¡çãªãã€ãºã«æéãåãããªãããã«ãªããŸãããããŠæäŸããæ©èœãã®ãã®ã«ã€ããŠèããæéãå¢ããçµæçã« CLINICS ãããè¯ããããã¯ããžé²åãããŠããã®ãåœãªãã¡ã¯ã¿ãªã³ã°ã®ç®çã§ãã èª²é¡æŽç æ¹åããŠããããã«ã¯ãçŸç¶æŽçãèª²é¡æŽçãè¡ããªãããšã«ã¯äœãå§ãŸããŸãããããã³ããšã³ãéçºç°å¢ãã¡ã³ããã³ã¹ããã¿ã¹ã¯ã¯ããããã¯ãã®æ©èœïŒãŠãŒã¶ã«æäŸãããæ©èœïŒã«çŽæ¥ãã©ã¹ã®åœ±é¿ãããããã§ã¯ãããŸãããèªããšéåžžã®æ©èœéçºãå®åžžæ¹åã«æ¯ã¹åªå 床ã¯èœã¡ããããã¹ããæéã§æ¹åãããŠããããšã«ãªããŸããããããã¹ããæéãæå¹æŽ»çšããããã«ã¯ãã¿ã¹ã¯ã®é£æåºŠã®çè§£ãã¿ã¹ã¯ãé©åœã«åå²ããã§ãŒãžã³ã°ã®èšç»ãè¡ãããšã極ããŠå€§äºã§ãã ãã®ããã«èæ ®ãã課é¡ã®äžã§ãæ¬èšäºã§èšèŒããã®ã¯ä»¥äžã®ïŒã€ã§ãã ã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšãåºãŸã£ãŠãªã éçšæ¹åŒãåºãŸã£ãŠããªãããšã§ãæŸçœ®ãããŠããŸããã¡ã§ããçå ããŠã¢ããããŒãããã¡ã³ããŒããããšããŠããå±äººåã®èª²é¡ãæ®ã£ãŠããŸããŸã æŸçœ®ãããŠããŸã£ãããšã«ãããææ°çãšã®å·®åã倧ãããªãã¢ããããŒãããã³ã¹ãã倧ãããªã£ãŠããŸããŸã çµæçã«ãã©ã€ãã©ãªã®ã»ãã¥ãªãã£ãã£ãã¯ã¹å¯Ÿå¿ãæ°ããæäŸãããæ©èœãããã«é©å¿ã§ããªãç°å¢ã«ãªã£ãŠããŸããŸã è€æ°ã® SPA ã®äŸåãïŒã€ã® package.json ã§ç®¡çããŠãã é»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸã ããããïŒã€ã® package.json ã§ç®¡çããŠããããããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããŠã¯ãªããŸãããå°èŠæš¡ã®ãšãã¯ãã®ãããªæ§æã§ååã§ããããèŠæš¡ã倧ãããªãã«ã€ããŠæè»æ§ã倱ããããšå ±ã«ãã©ã€ãã©ãªã®ã¢ããããŒãããããã圱é¿ç¯å²ãåºãã£ãŠããŸãããã容æã«ã¢ããããŒãã§ããªããªã£ãŠããŸããŸã æ¬èšäºã§ã¯èšèŒããŸããããRedux ã®æžãæ¹ãæ··åšããŠããããããã³ããšã³ãã®ãã¹ããå°ãªãããç¶²çŸ çã« TypeScript åã§ããŠããªã JavaScript ããŸã æ®ã£ãŠããããªã©ã®èª²é¡ãæããããŸããã ãããã課é¡ã¯ãã©ã®ãããã¯ãã«ãååšãããšæããŸããããã¯ããŒã³ãåœæã®æè¡æµè¡ã§ãã£ããããããã¯ãã®æåŸ èŠæš¡ãå°æ°ã¡ã³ãã«é©ããèšèšãªã©èŠå ã¯æ§ã ãããããã°ã©ã ã®ãªãã¡ã¯ã¿ãªã³ã°ãšåæ§ã« ãããã¯ãã®æé·ã«äŒŽã£ãŠãªãã¡ã¯ã¿ãªã³ã°ããŠããããšãæ£ ã ãšä¿¡ããŠããŸãã ã¢ãããŒã·ã§ã³ã«ãŠèšèŒããéãããããè€æ°ã®èª²é¡ã¯éçºç°å¢ã®ãã€ãºã§ãããé€å»ããããšã«ãã£ãŠãããè¯ã DX ãåŸããããšèããŠããŸããä»ã«ãã®ãããªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠããããã¯ããããå ç¢ã«ã§ãããšããåŽé¢ããããŸãã äžèšã®ïŒã€ã®èª²é¡ã«å¯ŸããŠãããããã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšææ®µãèšããããpackage.json ã SPA åäœã«åå²ããã話ãããããããŠãããŸãã ããã³ããšã³ãéçºç°å¢ã®ãªãã¡ã¯ã¿ãªã³ã° ã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãã æåã¢ããããŒã ã©ã€ãã©ãªãã¢ããããŒãããã«ã¯ã³ãã³ããå©ãã ãã ãšèããŠããŸããããäŸåããŠããå¥ã®ã©ã€ãã©ãªã«åœ±é¿ãæ¬åœã«ãªãããªã©èª¿æ»ããå¿ èŠããããšç¥ããã©ã€ãã©ãªã®ã¢ããããŒãæ¹æ³ã暡玢ãããšããããéå§ããŸããã ã©ã€ãã©ãªã§ã¯ãªãã§ãããNode.js ã®ã¢ããããŒããããããšãããšãnode-sass ã Firebase ã圱é¿ããŠãããããŠãèã¥ãåŒã§æ ¹ã£ãã«ããã©ã€ãã©ãªã®ã¢ããããŒããããå¿ èŠãåºãŠãããããã®ã§ãäžã€äžã€åé¡ããªãã調æ»ããã®ã倧å€ã§ããã äœãããã¢ããããŒã察象ã©ã€ãã©ãªã®ãªãªãŒã¹ããŒãã« Breaking Changes ãæžãããŠããªãã£ãããsemver ãå®ãããŠãããããããªãã£ãããšããããã¯ãã«åœ±é¿ããªãã調ã¹ãå¿ èŠããããåé¡ã®åãåãæ¹ãé£ããã£ãã®ã§ãã ããã§åŸãããã©ã€ãã©ãªã¢ããããŒãã®å®å šæ§æ ä¿ã®ãã©ã¯ãã£ã¹ãšã㊠webpack ã«ãããã«ãçµæãå€ãããªãã±ãŒã¹ ãšã QA ãã¹ãã«ãã£ãŠæ ä¿ããã±ãŒã¹ ãããããšãããããŸãããåè 㯠webpack ã«ããææç©ãå€ãããªãã®ã§ããã°ä»åã®ã¢ããããŒããå®å šã§ãããšãããåŸè ã¯ãšã³ãžãã¢ãš QA ãšã³ãžãã¢ã«ãã£ãŠã©ã€ãã©ãªã®åœ±é¿ç¯å²ã«ãã¬ãŒã·ã§ã³ããªãããšã確ãããŠå®å šã§ãããšããããšãããã®ã§ãã renovate ã®éçšéå§ æ°ã«æéã¯äžèšã®ããã«ã©ã€ãã©ãªã®ã¢ããããŒããæåã§è¡ã£ãŠããŸãããã確èªå·¥æ°ãå¢ããŠããŸããä»ã®ã¿ã¹ã¯ã®æéãå§è¿«ããŠããŸãã»ã©ã§ããã ããã§ãã¢ããããŒããèªååãã renovate  㚠dependabot ãèŠéã«å ¥ããŸãããrenovate ã¯ãdependabot ã«æ¯ã¹ãŠé«æ©èœã§ãã€ãç¡æã§ãããšããçç±ã§éžå®ããŸããã éçšåœåãrenovate ã Pull Request ãäœæããŠãããããdiff ã«ããã©ã€ãã©ãªã®å€æŽç¹ãèŠãããã£ãããšãæ©æµãæããŠããŸãããããããåŸã ã«ãã¢ããããŒã察象ãå€ãããããããã©ãããã©ã€ãã©ãªã§ã圱é¿ç¯å²ãã©ããªã®ãããšããããšã®èª¿æ»ã«æéãåãããããã«ãªã£ãŠããŸããŸããã ããã§åŸãããèª¿æ»æéãççž®ãããã©ã¯ãã£ã¹ãšããŠ**ãæ¬çªåœ±é¿ã®ãããã®ããéçºåããããã«ãåšãããš renovate ããæ¥ã Pull Request ãæŽçãã**ããšã§ãããã®ãããªæŽçãè¡ãããšã§ãæ¬çªåœ±é¿ã®ãããã®ã«æ³šåããŠã¬ãã¥ãŒã§ããããã«ãªããèŠã«ãªããã«ã¢ããããŒããã§ããããã«ãªããŸããã çµæ ã©ã€ãã©ãªã¢ããããŒãã®éçšæé ãèšããããšã«ãã£ãŠãä»ãŸã§ä»¥äžã«å ç¢ãªç°å¢ã«ãªããŸããããããããrenovate ã«ãã£ãŠèªåçã«éèŠãªïŒæ¬çªåœ±é¿ã®ããïŒã©ã€ãã©ãªã®ã¿ã«éäžããŠã¬ãã¥ãŒãè¡ãããšã«ãã£ãŠãå°ãªãå·¥æ°ã§ã¢ããããŒãããŠãããããã«ãªããŸããã package.json ã SPA åäœã«åå² èª²é¡æŽçã§èšèŒããéããé»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸãããïŒã€ã® package.json ã§ç®¡çããŠããŸããã§ãã®ã§ããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããã°ãªããŸããã åŒå®³ãšã㊠package.json ã«å¯ŸããŠïŒã€ã®å€æŽããã£ããšãã«ãã¹ãŠã® SPA ã«åœ±é¿ãåºãŠããŸããŸããã§ãã®ã§ããã®è¥å€§åãã package.json ãããããã® SPA ã«åå²ããããšããŸããã package.json ã SPA åäœã«åå²ããããšã¯ 責ååé¢ ãšããåŽé¢ããããã©ã€ãã©ãªã ãã§ãªããå ±éããŠãã宿°ãããžãã¯ãã³ã³ããŒãã³ããwebpack.config.jsãbabel.config.js ãš tsconfig.json ãªã©ãã¹ãŠãããããã® SPA ã«äŸåã®ãªã圢ã«éããããã«ããŸããããããã®åå²ããäœæ¥ã¯éåžžã«æ³¥èããã®ã§ãæ¬èšäºã«èšèŒããã»ã©ã®ãã®ã§ã¯ãããŸããããåŸãããçµæã«ã€ããŠèšèŒããŠããããšæããŸãã çµæ ãŸãã責ååé¢ãã§ããã®ã§ãïŒã€ã® SPA ã«å¯Ÿãã倿Žããã£ããšãã«ãä»ã®å šãŠã® SPA ã«å¯Ÿãã圱é¿ãåºãªããªããŸããããã£ãŠãïŒã€ã® SPA ã«å¯ŸããŠæ°ã㪠Web ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªã詊ãããšã容æã«ãªããŸãããä»ã«ããïŒã€ã® webpack ã§ãã¹ãŠã® SPA ãã·ãŒã±ã³ã·ã£ã«ã«ãã«ãããŠããã®ã«å¯ŸããŠãçŸåšã¯ãã©ã¬ã«ã§ãã«ãã§ããããã«ãªããã«ãæéãççž®ããããããä»ãŸã§ä»¥äžã«ã³ããããããããã€ãŸã§ã®ã€ãã¬ãŒã·ã§ã³ãå°ãããªããŸããã ãããã®çµæããããã³ãéçºç°å¢ã®æ¹åããã³ DX åäžãæãããŸããã ä»åŸã®èª²é¡ æç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããä»çµã¿äœã ãã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãããã¯ãŸãã«æç¶çã«ã©ã€ãã©ãªãã¢ããããŒãããããã®ææ®µã§ãããpackage.json ã SPA åäœã«åå²ããããããããã® SPA ãã¡ã³ããã³ã¹ããããç°å¢äœããšããŠã¯æ¬ ãããªãäœæ¥ã§ããã ãããããã®ãŸãŸãªãã¡ã¯ã¿ãªã³ã°ãäžæããã°ããããã¯ãã®èŠæš¡ã倧ãããªããšããããã³ããšã³ãã®ææµã«ãã£ãŠåã³ã¡ã³ããã³ã¹ãã¥ããç°å¢ã«ãªã£ãŠããŸããŸãã ãªã®ã§ãæç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããããã«ã¯ä»çµã¿äœããæ¬ ãããªããšèããŠããŸãããã®ããã«ã¯ãå±äººåã«ãããªãä»çµã¿ã¥ãããã¡ã³ããã³ã¹ããããç°å¢æ¹åããšã³ãžãã¢ããããã®ããã³ããšã³ãéçºç°å¢ã«å¯Ÿãããªãã©ã·ãé«ããåãçµã¿ãè¡ã£ãŠããå¿ èŠããããŸãããã®ãããçŸåš æšªè»žååŒ·äŒ ãªã©ã§ CLINICS ããã³ããšã³ãã®å®è£ èæ¯ãããªãã¡ã¯ã¿ãªã³ã°ããããæžãæ¹ãªã©ã®ãã¬ããžãå ±æããŠããŸãã ãŸãšã ããã³ããšã³ãéçºç°å¢ã®ã¡ã³ããã³ã¹ã»ãªãã¡ã¯ã¿ãªã³ã°èªäœã¯ãããŸã§ããŠãŒã¶ã«æ°ããæ©èœãæäŸããŠããããã§ã¯ãªããç²ã ãšè¡ã£ãŠãããã®ã§ãããããã課é¡ãæŽãåºããåãåã£ãŠã解決ããŠãã£ãããšã«ãã£ãŠåŸããããã©ã¯ãã£ã¹ã¯å€ããããããã³ããšã³ãã®ãšã³ã·ã¹ãã ã«å¯Ÿããçè§£ãå€ãåŸãããŸããã ãããã®ãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠ DX ãåäžããŠãããæè¡çãªãã€ãºã«æ©ãæéãæžãããšã³ãžãã¢ã¯ãããããã¯ãã®æ©èœéçºã«å°å¿µã§ããããã«ãªã£ãŠãããšä¿¡ããŠããŸãã ä»åç§ãã¡ã課é¡ã解決ããããšã«ãã£ãŠãæç¶çã«ãªãã¡ã¯ã¿ãªã³ã°ãããããåå°äœãããããšããåŽé¢ããããšæããŸããä»åŸã®èª²é¡ãšããŠããã®åå°ãåºã«ããããã®ãšã³ãžãã¢ãæèãæã£ãŠã¡ã³ããã³ã¹ã§ãããããªä»çµã¿ã¥ãããè¡ã£ãŠãããããšæããŸãã æåŸãŸã§èªãã§ããã ãããããšãããããŸããã www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/20
<![CDATA[ ããã³ããšã³ãéçºç°å¢ã®ç¶ç¶çãªãªãã¡ã¯ã¿ãªã³ã° ]]>
ããã«ã¡ã¯ã第äºéçºã°ã«ãŒããšã³ãžãã¢ã®è¥¿æã§ãã䞻㫠CLINICS ã®éçºãæ åœããŠããŸãã ã¯ããã« CLINICS ã¯é»åã«ã«ãããªã³ã©ã€ã³èšºçãäºçŽã·ã¹ãã ãæ£è ã¢ããªãªã©ãå«ãçµ±åã¢ããªã§ããCLINICS ãããŒã³ãããŠããçŸåšã«è³ããŸã§åžžã«æ°æ©èœéçºãšå®åžžæ¹åãè¡ãããŠãããéçºç°å¢ã®ã¡ã³ããã³ã¹ã¯åŸæã«ãªããã¡ã§ãããä»åã¯ãããã£ãç¶æ³ãæ¹åãã¹ããéçºç°å¢ã®ã¡ã³ããã³ã¹ããªãã¡ã¯ã¿ãªã³ã°ãè¡ã£ãéçšããåŸããããã©ã¯ãã£ã¹ã«ã€ããŠç޹ä»ããŠããããšæããŸãã ã¢ãããŒã·ã§ã³ ãããã¯ãã®æ°èŠéçºæã«è¡ãããæè¡éžå®ã¯éåžžã«é£ãããæ¥åèŠä»¶ãããŒã ç¶æ³ãªã©ç·åçã«èæ ®ããŠãã®æç¹ã§ã®ãã¹ããªéžæãããå¿ èŠããããŸãã ããããéžæããæè¡ã§é·æéçšãããŠãããã¡ã«ãã¡ã³ããã³ã¹ãè¡ãå±ããªããªã£ãã³ãŒããã©ã€ãã©ãªãåºãŠããŸããŸãã CLINICS ããŒã³ãåœåã¯ãªã³ã©ã€ã³èšºçã®ã¿ãæäŸããŠããŸãããSPA ã§æ§æãããŠããŸããããïŒã€ã® package.json ã§å¹ççã«éçºã§ããŠããŸãããä»ã«ãçŸåšã»ã© TypeScript ãäž»æµã§ã¯ãªãã£ãã®ã§ JavaScript ã®ã³ãŒããã¡ã€ã³ã§å®è£ ãããŠãŸããã æ°ããªã¢ããªã±ãŒã·ã§ã³ïŒé»åã«ã«ããäºçŽã·ã¹ãã ãªã©ïŒãå°å ¥ããã¿ã€ãã³ã°ãããªãã¡ãããã¯ããå°èŠæš¡ããäžèŠæš¡ã«å€é·ããã¿ã€ãã³ã°ããããã³ããšã³ãã®ææµã«ãã£ãŠãéçºç°å¢ãæ¹åã§ããéšåããããŸãããããããŠããªãéšåãåºãŠããŸããã ãã®æ¹åããããŠããªãéšåãæ®ãç¶æ ãç¶ããš Developer Experience(DX)ã®äœäžã«ç¹ãã£ãŠããŸããŸããã§ãã®ã§ãç§ãã¡ã¯æ¹åããããŠããªãéšåãåãé€ããŠãããããã¢ãã³ãšãããéçºç°å¢ãžãªãã¡ã¯ã¿ãªã³ã°ãããŠããããšèããŸããã DX ãåäžããŠããããšã§æè¡çãªãã€ãºã«æéãåãããªãããã«ãªããŸãããããŠæäŸããæ©èœãã®ãã®ã«ã€ããŠèããæéãå¢ããçµæçã« CLINICS ãããè¯ããããã¯ããžé²åãããŠããã®ãåœãªãã¡ã¯ã¿ãªã³ã°ã®ç®çã§ãã èª²é¡æŽç æ¹åããŠããããã«ã¯ãçŸç¶æŽçãèª²é¡æŽçãè¡ããªãããšã«ã¯äœãå§ãŸããŸãããããã³ããšã³ãéçºç°å¢ãã¡ã³ããã³ã¹ããã¿ã¹ã¯ã¯ããããã¯ãã®æ©èœïŒãŠãŒã¶ã«æäŸãããæ©èœïŒã«çŽæ¥ãã©ã¹ã®åœ±é¿ãããããã§ã¯ãããŸãããèªããšéåžžã®æ©èœéçºãå®åžžæ¹åã«æ¯ã¹åªå 床ã¯èœã¡ããããã¹ããæéã§æ¹åãããŠããããšã«ãªããŸããããããã¹ããæéãæå¹æŽ»çšããããã«ã¯ãã¿ã¹ã¯ã®é£æåºŠã®çè§£ãã¿ã¹ã¯ãé©åœã«åå²ããã§ãŒãžã³ã°ã®èšç»ãè¡ãããšã極ããŠå€§äºã§ãã ãã®ããã«èæ ®ãã課é¡ã®äžã§ãæ¬èšäºã§èšèŒããã®ã¯ä»¥äžã®ïŒã€ã§ãã ã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšãåºãŸã£ãŠãªã éçšæ¹åŒãåºãŸã£ãŠããªãããšã§ãæŸçœ®ãããŠããŸããã¡ã§ããçå ããŠã¢ããããŒãããã¡ã³ããŒããããšããŠããå±äººåã®èª²é¡ãæ®ã£ãŠããŸããŸã æŸçœ®ãããŠããŸã£ãããšã«ãããææ°çãšã®å·®åã倧ãããªãã¢ããããŒãããã³ã¹ãã倧ãããªã£ãŠããŸããŸã çµæçã«ãã©ã€ãã©ãªã®ã»ãã¥ãªãã£ãã£ãã¯ã¹å¯Ÿå¿ãæ°ããæäŸãããæ©èœãããã«é©å¿ã§ããªãç°å¢ã«ãªã£ãŠããŸããŸã è€æ°ã® SPA ã®äŸåãïŒã€ã® package.json ã§ç®¡çããŠãã é»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸã ããããïŒã€ã® package.json ã§ç®¡çããŠããããããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããŠã¯ãªããŸãããå°èŠæš¡ã®ãšãã¯ãã®ãããªæ§æã§ååã§ããããèŠæš¡ã倧ãããªãã«ã€ããŠæè»æ§ã倱ããããšå ±ã«ãã©ã€ãã©ãªã®ã¢ããããŒãããããã圱é¿ç¯å²ãåºãã£ãŠããŸãããã容æã«ã¢ããããŒãã§ããªããªã£ãŠããŸããŸã æ¬èšäºã§ã¯èšèŒããŸããããRedux ã®æžãæ¹ãæ··åšããŠããããããã³ããšã³ãã®ãã¹ããå°ãªãããç¶²çŸ çã« TypeScript åã§ããŠããªã JavaScript ããŸã æ®ã£ãŠããããªã©ã®èª²é¡ãæããããŸããã ãããã課é¡ã¯ãã©ã®ãããã¯ãã«ãååšãããšæããŸããããã¯ããŒã³ãåœæã®æè¡æµè¡ã§ãã£ããããããã¯ãã®æåŸ èŠæš¡ãå°æ°ã¡ã³ãã«é©ããèšèšãªã©èŠå ã¯æ§ã ãããããã°ã©ã ã®ãªãã¡ã¯ã¿ãªã³ã°ãšåæ§ã« ãããã¯ãã®æé·ã«äŒŽã£ãŠãªãã¡ã¯ã¿ãªã³ã°ããŠããããšãæ£ ã ãšä¿¡ããŠããŸãã ã¢ãããŒã·ã§ã³ã«ãŠèšèŒããéãããããè€æ°ã®èª²é¡ã¯éçºç°å¢ã®ãã€ãºã§ãããé€å»ããããšã«ãã£ãŠãããè¯ã DX ãåŸããããšèããŠããŸããä»ã«ãã®ãããªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠããããã¯ããããå ç¢ã«ã§ãããšããåŽé¢ããããŸãã äžèšã®ïŒã€ã®èª²é¡ã«å¯ŸããŠãããããã©ã€ãã©ãªã宿çã«ã¢ããããŒãããéçšææ®µãèšããããpackage.json ã SPA åäœã«åå²ããã話ãããããããŠãããŸãã ããã³ããšã³ãéçºç°å¢ã®ãªãã¡ã¯ã¿ãªã³ã° ã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãã æåã¢ããããŒã ã©ã€ãã©ãªãã¢ããããŒãããã«ã¯ã³ãã³ããå©ãã ãã ãšèããŠããŸããããäŸåããŠããå¥ã®ã©ã€ãã©ãªã«åœ±é¿ãæ¬åœã«ãªãããªã©èª¿æ»ããå¿ èŠããããšç¥ããã©ã€ãã©ãªã®ã¢ããããŒãæ¹æ³ã暡玢ãããšããããéå§ããŸããã ã©ã€ãã©ãªã§ã¯ãªãã§ãããNode.js ã®ã¢ããããŒããããããšãããšãnode-sass ã Firebase ã圱é¿ããŠãããããŠãèã¥ãåŒã§æ ¹ã£ãã«ããã©ã€ãã©ãªã®ã¢ããããŒããããå¿ èŠãåºãŠãããããã®ã§ãäžã€äžã€åé¡ããªãã調æ»ããã®ã倧å€ã§ããã äœãããã¢ããããŒã察象ã©ã€ãã©ãªã®ãªãªãŒã¹ããŒãã« Breaking Changes ãæžãããŠããªãã£ãããsemver ãå®ãããŠãããããããªãã£ãããšããããã¯ãã«åœ±é¿ããªãã調ã¹ãå¿ èŠããããåé¡ã®åãåãæ¹ãé£ããã£ãã®ã§ãã ããã§åŸãããã©ã€ãã©ãªã¢ããããŒãã®å®å šæ§æ ä¿ã®ãã©ã¯ãã£ã¹ãšã㊠webpack ã«ãããã«ãçµæãå€ãããªãã±ãŒã¹ ãšã QA ãã¹ãã«ãã£ãŠæ ä¿ããã±ãŒã¹ ãããããšãããããŸãããåè 㯠webpack ã«ããææç©ãå€ãããªãã®ã§ããã°ä»åã®ã¢ããããŒããå®å šã§ãããšãããåŸè ã¯ãšã³ãžãã¢ãš QA ãšã³ãžãã¢ã«ãã£ãŠã©ã€ãã©ãªã®åœ±é¿ç¯å²ã«ãã¬ãŒã·ã§ã³ããªãããšã確ãããŠå®å šã§ãããšããããšãããã®ã§ãã renovate ã®éçšéå§ æ°ã«æéã¯äžèšã®ããã«ã©ã€ãã©ãªã®ã¢ããããŒããæåã§è¡ã£ãŠããŸãããã確èªå·¥æ°ãå¢ããŠããŸããä»ã®ã¿ã¹ã¯ã®æéãå§è¿«ããŠããŸãã»ã©ã§ããã ããã§ãã¢ããããŒããèªååãã renovate  㚠dependabot ãèŠéã«å ¥ããŸãããrenovate ã¯ãdependabot ã«æ¯ã¹ãŠé«æ©èœã§ãã€ãç¡æã§ãããšããçç±ã§éžå®ããŸããã éçšåœåãrenovate ã Pull Request ãäœæããŠãããããdiff ã«ããã©ã€ãã©ãªã®å€æŽç¹ãèŠãããã£ãããšãæ©æµãæããŠããŸãããããããåŸã ã«ãã¢ããããŒã察象ãå€ãããããããã©ãããã©ã€ãã©ãªã§ã圱é¿ç¯å²ãã©ããªã®ãããšããããšã®èª¿æ»ã«æéãåãããããã«ãªã£ãŠããŸããŸããã ããã§åŸãããèª¿æ»æéãççž®ãããã©ã¯ãã£ã¹ãšããŠ**ãæ¬çªåœ±é¿ã®ãããã®ããéçºåããããã«ãåšãããš renovate ããæ¥ã Pull Request ãæŽçãã**ããšã§ãããã®ãããªæŽçãè¡ãããšã§ãæ¬çªåœ±é¿ã®ãããã®ã«æ³šåããŠã¬ãã¥ãŒã§ããããã«ãªããèŠã«ãªããã«ã¢ããããŒããã§ããããã«ãªããŸããã çµæ ã©ã€ãã©ãªã¢ããããŒãã®éçšæé ãèšããããšã«ãã£ãŠãä»ãŸã§ä»¥äžã«å ç¢ãªç°å¢ã«ãªããŸããããããããrenovate ã«ãã£ãŠèªåçã«éèŠãªïŒæ¬çªåœ±é¿ã®ããïŒã©ã€ãã©ãªã®ã¿ã«éäžããŠã¬ãã¥ãŒãè¡ãããšã«ãã£ãŠãå°ãªãå·¥æ°ã§ã¢ããããŒãããŠãããããã«ãªããŸããã package.json ã SPA åäœã«åå² èª²é¡æŽçã§èšèŒããéããé»åã«ã«ãã»ãªã³ã©ã€ã³èšºçã瀟å 管ç Web ã¢ããªãæ£è Web ã¢ããªã¯ããããå¥ã® SPA ãšããŠäœãããŠããŸãããïŒã€ã® package.json ã§ç®¡çããŠããŸããã§ãã®ã§ããããã® SPA ãåãäŸåããã±ãŒãžã䜿ããªããã°ãªããŸããã åŒå®³ãšã㊠package.json ã«å¯ŸããŠïŒã€ã®å€æŽããã£ããšãã«ãã¹ãŠã® SPA ã«åœ±é¿ãåºãŠããŸããŸããã§ãã®ã§ããã®è¥å€§åãã package.json ãããããã® SPA ã«åå²ããããšããŸããã package.json ã SPA åäœã«åå²ããããšã¯ 責ååé¢ ãšããåŽé¢ããããã©ã€ãã©ãªã ãã§ãªããå ±éããŠãã宿°ãããžãã¯ãã³ã³ããŒãã³ããwebpack.config.jsãbabel.config.js ãš tsconfig.json ãªã©ãã¹ãŠãããããã® SPA ã«äŸåã®ãªã圢ã«éããããã«ããŸããããããã®åå²ããäœæ¥ã¯éåžžã«æ³¥èããã®ã§ãæ¬èšäºã«èšèŒããã»ã©ã®ãã®ã§ã¯ãããŸããããåŸãããçµæã«ã€ããŠèšèŒããŠããããšæããŸãã çµæ ãŸãã責ååé¢ãã§ããã®ã§ãïŒã€ã® SPA ã«å¯Ÿãã倿Žããã£ããšãã«ãä»ã®å šãŠã® SPA ã«å¯Ÿãã圱é¿ãåºãªããªããŸããããã£ãŠãïŒã€ã® SPA ã«å¯ŸããŠæ°ã㪠Web ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªã詊ãããšã容æã«ãªããŸãããä»ã«ããïŒã€ã® webpack ã§ãã¹ãŠã® SPA ãã·ãŒã±ã³ã·ã£ã«ã«ãã«ãããŠããã®ã«å¯ŸããŠãçŸåšã¯ãã©ã¬ã«ã§ãã«ãã§ããããã«ãªããã«ãæéãççž®ããããããä»ãŸã§ä»¥äžã«ã³ããããããããã€ãŸã§ã®ã€ãã¬ãŒã·ã§ã³ãå°ãããªããŸããã ãããã®çµæããããã³ãéçºç°å¢ã®æ¹åããã³ DX åäžãæãããŸããã ä»åŸã®èª²é¡ æç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããä»çµã¿äœã ãã©ã€ãã©ãªã®å®æçãªã¢ããããŒããããéçšæé ãèšãããã¯ãŸãã«æç¶çã«ã©ã€ãã©ãªãã¢ããããŒãããããã®ææ®µã§ãããpackage.json ã SPA åäœã«åå²ããããããããã® SPA ãã¡ã³ããã³ã¹ããããç°å¢äœããšããŠã¯æ¬ ãããªãäœæ¥ã§ããã ãããããã®ãŸãŸãªãã¡ã¯ã¿ãªã³ã°ãäžæããã°ããããã¯ãã®èŠæš¡ã倧ãããªããšããããã³ããšã³ãã®ææµã«ãã£ãŠåã³ã¡ã³ããã³ã¹ãã¥ããç°å¢ã«ãªã£ãŠããŸããŸãã ãªã®ã§ãæç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãããããã«ã¯ä»çµã¿äœããæ¬ ãããªããšèããŠããŸãããã®ããã«ã¯ãå±äººåã«ãããªãä»çµã¿ã¥ãããã¡ã³ããã³ã¹ããããç°å¢æ¹åããšã³ãžãã¢ããããã®ããã³ããšã³ãéçºç°å¢ã«å¯Ÿãããªãã©ã·ãé«ããåãçµã¿ãè¡ã£ãŠããå¿ èŠããããŸãããã®ãããçŸåš æšªè»žååŒ·äŒ ãªã©ã§ CLINICS ããã³ããšã³ãã®å®è£ èæ¯ãããªãã¡ã¯ã¿ãªã³ã°ããããæžãæ¹ãªã©ã®ãã¬ããžãå ±æããŠããŸãã ãŸãšã ããã³ããšã³ãéçºç°å¢ã®ã¡ã³ããã³ã¹ã»ãªãã¡ã¯ã¿ãªã³ã°èªäœã¯ãããŸã§ããŠãŒã¶ã«æ°ããæ©èœãæäŸããŠããããã§ã¯ãªããç²ã ãšè¡ã£ãŠãããã®ã§ãããããã課é¡ãæŽãåºããåãåã£ãŠã解決ããŠãã£ãããšã«ãã£ãŠåŸããããã©ã¯ãã£ã¹ã¯å€ããããããã³ããšã³ãã®ãšã³ã·ã¹ãã ã«å¯Ÿããçè§£ãå€ãåŸãããŸããã ãããã®ãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšã«ãã£ãŠ DX ãåäžããŠãããæè¡çãªãã€ãºã«æ©ãæéãæžãããšã³ãžãã¢ã¯ãããããã¯ãã®æ©èœéçºã«å°å¿µã§ããããã«ãªã£ãŠãããšä¿¡ããŠããŸãã ä»åç§ãã¡ã課é¡ã解決ããããšã«ãã£ãŠãæç¶çã«ãªãã¡ã¯ã¿ãªã³ã°ãããããåå°äœãããããšããåŽé¢ããããšæããŸããä»åŸã®èª²é¡ãšããŠããã®åå°ãåºã«ããããã®ãšã³ãžãã¢ãæèãæã£ãŠã¡ã³ããã³ã¹ã§ãããããªä»çµã¿ã¥ãããè¡ã£ãŠãããããšæããŸãã æåŸãŸã§èªãã§ããã ãããããšãããããŸããã www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/02
<![CDATA[ iOSDC Japan 2020 ã«ã¡ãã¬ãŒãåè³ããŸãã ]]>
çæ§ããã«ã¡ã¯ãã€ã³ãã¥ããŒã·ã§ã³æ¬éšãšã³ãžãã¢ã®æ¿±äžã§ãã 9/19ã21 ã« iOSDC Japan 2020 ïŒä»¥äž iOSDCïŒãéå¬ãããŸããã å æ¥ã®èšäº ã®éããã¡ãã¬ãŒã¯ 2017 幎ãã iOSDC ã« åè³ ããŠãããŸãã ã¡ãã¬ãŒã§ã¯ãSwift ãå©çšããŠãªã³ã©ã€ã³èšºçïŒæè¬æå°ã¢ããªãCLINICSãiOS çã®éçºãããŠããŸãã CLINICS(ã¯ãªãã¯ã¹)ããªã³ã©ã€ã³èšºçã»æè¬æå°ã¢ã㪠5 åç®ãšãªãä»åã¯ãåã®ãªã³ã©ã€ã³éå¬ãšãªããäž»ã«ãã³ãã³çæŸéãDiscord äžã§çºè¡šã»ã³ãã¥ãã±ãŒã·ã§ã³ãè¡ãããŸãããç§ã iOS ç CLINICS ã®éçºã«æºãã£ãŠããçžã§ãä»åã¹ãã³ãµãŒæ ãšã㊠iOSDC ã«åå ãããŠããã ããŸããã®ã§ç޹ä»ãããŠããã ããŸãã ã€ãã³ãå šäœã«ã€ã㊠ãªã³ã©ã€ã³éå¬ãšãªã£ããããäŒå Žã®æ§åãäŒæ¥ããŒã¹ãªã©ãé°å²æ°ã®äŒããåçããå±ãã§ããªãã®ãæ®å¿µã§ãããçºè¡šã®äž»äŒå Žãšãªã£ããã³ãã³çæŸéã§ã¯ãçµå§ç©ãããªé°å²æ°ã§ããã€ã€ã掻çºã«ã³ã¡ã³ãããªããã倧ãã«çãäžãã£ãŠããŸããã åååæ§ãåæ¥ã¯ day 0 ãšããŠå€æ¹ããã2 æ¥ç®ä»¥éã¯æã倿¹ãŸã§ãæå€§ 5 ã€ã®ãã£ã³ãã«ã§äžŠè¡ããŠçºè¡šãè¡ãããŸãããã»ãã·ã§ã³ã«ã€ããŠã¯äºåã«é²ç»ãããã®ãæŸéããLT ã®ã¿ãªã¢ãŒãã«ãŠãªã¢ã«ã¿ã€ã çºè¡šãšãã圢åŒãšãªã£ãŠããŸããã 質çå¿çã«ã€ããŠã¯ãåçºè¡šã®çµäºçŽåŸã« Discord ãã£ã³ãã«ã«çºè¡šè ãåŸ æ©ããŠå¯Ÿå¿ããŠããŸãããåã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãã€ã³ãããã¯ã·ã§ã³åç»ãã¯ãããšããåæã§ç©æ¥µçãªãã£ãŒãããã¯ã»ã³ãã¥ãã±ãŒã·ã§ã³ã奚å±ãããŠããããã«æããŸãïŒãªããã€ã³ãããã¯ã·ã§ã³ã»ã¹ãã³ãµãŒç޹ä»ã®ååç»ã¯ãã¬ãŒã·ã§ã³ã声åªã®ç·æ¹æµçŸããã»äžç³çŽä¹ãããšããšãŠã豪è¯ã§ãããçæŸéäžã®ã³ã¡ã³ããã 18 幎ã®åŒç€Ÿããã° ãèŠãéãã¯æ¯å¹ŽæäŸã®ããã§ããããããã§ãïŒïŒã ã»ãã·ã§ã³ã«ã€ã㊠æšå¹Ž iOS13 ãšãšãã«çºè¡šããã SwiftUI ãžã®ç§»è¡ããã³ãŒãç§»è¡ã»ã¢ãžã¥ãŒã«åå²çããããžã§ã¯ãã®æé©åã«ã€ããŠã®ãããã¯ãå€ãã£ãããã«æããŸãã SwiftUI ã¯ãåŸæ¥ Storyboard ã§èšèšããŠãã UI ãã³ãŒãããŒã¹ã§èšè¿°ã§ããç»æçãªãã¬ãŒã ã¯ãŒã¯ã§ãããSwiftUI ã䜿ã£ãã¢ããªã¯ iOS13 æªæºã®ç«¯æ«ã§ã¯å©çšã§ããªããªã£ãŠããŸãããšããããã¢ããªã®å ¬é察象ãåºãã«ãã£ãŠããããå Žåã¯ãªããªãä¹ãæãã¥ããå°è±¡ã§ããã2020 幎 6 æçŸåšã§ iOS13 ã®ã·ã§ã¢ã 9 å²ä»¥äžãšãªã£ãããšã§ãã¡ããã© iOSDC ã§ã®çºè¡šãããã¯ã決ããããã«å°å ¥äœæ¥ãè¡ã£ãïŒãã€èŠåŽããïŒãšããã±ãŒã¹ãå€ãã£ãã®ããªããšæããŸãã 以äžãèŠèŽããã»ãã·ã§ã³ã®ãã¡æ°ã«ãªã£ããã®ãããã€ãã玹ä»ããããŸãã ãªãŒãã³ãœãŒã¹ã® AltSwiftUI ã®çºè¡š fortee.jp 楜倩ã®ãšã³ãžãã¢ã®æ¹ã«ãããSwiftUI ã®æäŸãããã€ãã£ãã³ã³ããŒãã³ãã«å¯Ÿå¿ãã€ã€ãiOS11 以äžã§å©çšå¯èœãªãªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ AltSwiftUI ïŒ å ¬åŒ Doc ïŒã®éçºã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã iOS12 以äžã®å¯Ÿå¿ãåããã« SwiftUI ãžã®ä¹ãæããé²ããããïŒãã€æ¬å®¶ãšéã£ãŠãªãŒãã³ãœãŒã¹ã§ããïŒäŸ¿å©ããããã§ãããå¥éãã¬ãŒã ã¯ãŒã¯ãåºæ¥äžãã£ãŠããŸããããã«ãSwiftUI ãžã®ç§»è¡å¯Ÿå¿ãžã®èŠåŽããã®ã°ããå 容ã§ããããŸããïŒã¹ãã¢ã«ããæ¥œå€©æäŸã® iOS ã¢ããªã®æ°ãèãããšä¹ãæãã³ã¹ãã倧å€ããâŠïŒã ããããèªååã§ããŸããã: note ãæ¯ããã¯ãŒã¯ãããŒå€§å š speakerdeck.com æ¹ä¿®èŠæãäžãã£ãŠãããå®éã«æ¹ä¿®ãè¡ã£ãŠã¢ããªããªãªãŒã¹ãããŸã§ã®äœæ¥ãã§ããéãèªååããããšããã»ãã·ã§ã³ã§ããCLINICS ã§ãããèšŒææžã®æå¹æé確èªãããã·ã¥ããã®ãã¹ããããŒãžããã®ãªãªãŒã¹æºåã㯠Bitrise ã®ããªã¬ãå©çšããŠèªååããŠããŸãã äžèšã®ãããªãGitHub äžã§ã®ã¢ã¯ã·ã§ã³ïŒããã·ã¥ãããŒãžãªã©ïŒãããªã¬ãšããèªååã¯ããèã話ã§ã¯ããã®ã§ãããSlack ã®ãã¹ãã«ç¹å®ã®ã¹ã¿ã³ãã€ãããš Issue åãã¯ã¡ãã£ãšç®æ°ãããŠé¢çœããªãšæããŸããïŒæ°ãã€ããªããšè¡šèšæºãã§åããã㪠Issue ãä¹±ç«ãããã§ããïŒã Issue ããã¡ããšç®¡çããŠãããªããšãã©ãã«ã®èµ·ããããéšåã§ãããã起祚è ãšå®è£ è ã®éã§ããŒã«ãæµ®ããŠããŸã£ããããããžã§ã¯ãã«çŽã¥ããŠããªãã£ãããã«å¯Ÿå¿ããæŽ©ããŠããŸã£ããâŠã ãŸãããã®ã¹ã©ã€ãã§ããçµå§ææžãã®æ¿çµµããããããŠããããã£ãæå³ã§ãã³ã¡ã³ãæ¬ãçãäžãã£ãŠããã®ãå°è±¡çã§ããã 100 人ã§ã¢ããªããªãã¡ã¯ã¿ãªã³ã°ããŠèŠããŠãããæåŒ·ã® iOS ã¢ããªèšèšã«æ±ããããããš fortee.jp ã¢ããªãé·æã«éçšããŠãããšã»ãŒå¿ é ãšãªã課é¡ã§ãããªããã人ããšã«åºæºãææ§ã ã£ãããæ©èœéçºã«ããããŠå¯Ÿå¿ãåŸæåŸæã«ãªã£ããâŠãšãäœããšã€ãã話ãããèããœãŒã¹ã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ã«é¢ããã»ãã·ã§ã³ã§ããã åãç¶æ ã®ãœãŒã¹ã³ãŒãã倿°ã®ãšã³ãžãã¢ããªãã¡ã¯ã¿ããçµæãæ¯èŒããããšã§ããè¯ããªãã¡ã¯ã¿ãªã³ã°ã®ããã®èãæ¹ããšã¯äœãïŒã暡玢ããå 容ã§ãã ãã¥ãŒãšããžãã¯ã®åå²ããã£ããè¡ãããšããã®ã¯ PR ã¬ãã¥ãŒã§ãšã³ãžãã¢ãå£ãé žã£ã±ãããŠããèšãããããšã§ã¯ãããŸããããããžãã¯ã®äžã§ããã¢ããªã®ä»æ§ã«äŸåãããã®ãšããã§ãªãæ®éçãªãã®ã¯åé¢ãã¹ãããšããã¢ã€ãã¢ã¯å人çã«ã¯çŒããé±ãèœã¡ããã®ã§ããã ãŸããããã説æãããªããŒã·ã®å ·äœäŸïŒã察æŠçžæã人éã AI ããã¯ã¢ããªä»æ§ã«äŸåããããžãã¯ããããã«ç³ã眮ããããã¯æ®éçãªããžãã¯ïŒãªããŒã·ã®ã«ãŒã«ãã®ãã®ïŒãéåžžã«ããããããã£ãã§ãã ãã®ã»ããReact / Redux ã§ããã³ããšã³ãéçºãè¡ã£ãŠãã人ã«ã¯ã銎æã¿ã® Action / Reducer ã䜿ã£ãåäžæ¹åã®ããŒã¿ãããŒã®å°å ¥ãªã©ã玹ä»ãããŠããŸãã æ°èŠæ©èœéçºããã¢ãžã¥ãŒã«åå²ãå§ããŠã¿ã speakerdeck.com äžã€ã®ã¢ããªãé·æééçšãããŠãããªãã§ãè€æ°ã®æ©èœãçµ±åãããã¹ãŒããŒã¢ããªã«ãªãããšããããŸãããããªã£ãå ŽåããœãŒã¹ã³ãŒããè¥å€§å â ãã«ãã»ãã¹ããé·å€§åããšãªã£ãŠã¡ã³ããã³ã¹æ§ãäœäžããããã察çãšããŠã³ãŒããåå²ããŠãã¹ãããã«ãã®åäœãå°ããããå¿ èŠããããŸãã ãããªãã¢ããªå šäœãã¢ãžã¥ãŒã«ã«åå²ããã®ã¯æéãããããããæ¬ã»ãã·ã§ã³ã§ã¯ãŸãç¬¬äžæ®µéãšããŠæ°èŠã«éçºããæ©èœãå¥ã¢ãžã¥ãŒã«ãšããŠå®è£ ãããã®æåŸãç¥èŠã«ã€ããŠè§ŠããããŠããŸããã ãåå²ããã¢ãžã¥ãŒã«åŽã§ã®ãµãŒãããŒãã£è£œãã¬ãŒã ã¯ãŒã¯ã®ãªã³ã¯æ¹æ³ïŒâ»ãªã³ã¯ãæ£ããè¡ããªããšããã«ãããŠåäœã¯ããã®ã«ã¢ãŒã«ã€ãã«å€±æããŠãªãªãŒã¹ã§ããªããªãïŒããªã©ã¯ãä»åŸã®éçºã«ã¢ãžã¥ãŒã«åå²ãåãå ¥ããŠããéã«åèã«ãªãããã§ãã Swift ã§å§ããéçè§£æ speakerdeck.com Swift ãœãŒã¹ã³ãŒãããã®æ§ææšã®çæãè§£æãè¡ãã©ã€ãã©ãª SwiftSyntax ã®ç޹ä»ãšããããçšãããœãŒã¹ã³ãŒãéè€æ€åºæ©èœã®å®è£ ã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã æ®æ®µ Xcode ãå§ããšãã IDE ã§éçºããŠãããšãã³ãŒãéè€ãäžèŠãªããŒã«ã«å€æ°ãåã Nullable ã®äžäžèŽã«å€æ°ãªãã¡ã¯ã¿ãªã³ã°âŠçã ã®äŸ¿å©ãªæ©èœãæ°è»œã«äœ¿ããŠããŸããŸããããã®è£ã®åäœãæ¹ããŠäžã€ãã€å ·äœçã«è¿œã£ãŠãããšããã®ããããã¿ãèº«ã«æã¿ãŸãâŠã éçè§£æãã®ãã®ã¯ Swift ã«éããæ§ã ãªèšèªã®ãœãŒã¹ã³ãŒãã«å¯ŸããŠé©çšã§ãããããã¯ã§ã¯ããã®ã§ãããæ®æ®µäœæ°ãªã䜿ã£ãŠããŸã IDE ã®æ©èœã«ã€ããŠèããããæ©äŒã«ãªã£ãããã玹ä»ãããŠããã ããŸããã ãŸãšã ã¡ããã©æ¥åã§ã iOS ã¢ããªéçºãæ åœããŠããããšããããè峿·±ãç¥èŠãåŸãããããçµéšãšãªããŸããããŸããäºåé²ç»åœ¢åŒã«ãªã£ãããšã§çºè¡šã®æ§æãããç·ŽãããçµæãšããŠèããããïŒçæ§ããªãæ°ãã€ããŠãã£ããçºå£°ãããŠããŸããïŒãåæ§ã®ããçºè¡šãå€ãã£ãããã«æããŸãã ä»åãåã®ãªã³ã©ã€ã³ã§ã®éå¬ãšããããšã§ãéå¶å§å¡äŒã®çæ§ããããããšèŠåŽãããŠããã£ãããããã§ããããã ããã®ç²æãã£ãŠãåœæ¥ã®é²è¡ã¯ã¹ã ãŒãºã§ãäŒå Žã¯ãšãŠãçãäžãã£ãŠããŸãããé¢ä¿è ã®çæ§ãæ¬åœã«ãç²ãæ§ã§ããã æ å¢ãèžãŸããæ¥å¹ŽåºŠã®éå¬å¯åŠã»åœ¢åŒã¯æªå®ãšã®ããšã§ãããããªã³ã©ã€ã³ã»å¯Ÿé¢ã®ããããã®è¯ããåãå ¥ãã€ã€ãããå€ãã®äººãåå ã§ãã圢æ ã«ãªã£ãŠãããšãããªãšæããŸãã å ¬åŒ YouTube ãã£ã³ãã« ã§éå»ã®çºè¡šãèŠèŽã§ããŸãã®ã§ããèå³ã®ããæ¹ã¯ãã²ã©ããïŒä»å¹Žã®çºè¡šåãäžã¶æã»ã©ãããå ¬éããããšã®ããšã§ããïŒã ãŸãã¡ãã¬ãŒã§ã¯ iOS / Android ãã€ãã£ãã¢ããªéçºãšã³ãžãã¢ãåéããŠããŸããèå³ãããæ¹ããã²ãæ°è»œã«ã話ããŸããã! www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/02
<![CDATA[ iOSDC Japan 2020 ã«ã¡ãã¬ãŒãåè³ããŸãã ]]>
çæ§ããã«ã¡ã¯ãã€ã³ãã¥ããŒã·ã§ã³æ¬éšãšã³ãžãã¢ã®æ¿±äžã§ãã 9/19ã21 ã« iOSDC Japan 2020 ïŒä»¥äž iOSDCïŒãéå¬ãããŸããã å æ¥ã®èšäº ã®éããã¡ãã¬ãŒã¯ 2017 幎ãã iOSDC ã« åè³ ããŠãããŸãã ã¡ãã¬ãŒã§ã¯ãSwift ãå©çšããŠãªã³ã©ã€ã³èšºçïŒæè¬æå°ã¢ããªãCLINICSãiOS çã®éçºãããŠããŸãã CLINICS(ã¯ãªãã¯ã¹)ããªã³ã©ã€ã³èšºçã»æè¬æå°ã¢ã㪠5 åç®ãšãªãä»åã¯ãåã®ãªã³ã©ã€ã³éå¬ãšãªããäž»ã«ãã³ãã³çæŸéãDiscord äžã§çºè¡šã»ã³ãã¥ãã±ãŒã·ã§ã³ãè¡ãããŸãããç§ã iOS ç CLINICS ã®éçºã«æºãã£ãŠããçžã§ãä»åã¹ãã³ãµãŒæ ãšã㊠iOSDC ã«åå ãããŠããã ããŸããã®ã§ç޹ä»ãããŠããã ããŸãã ã€ãã³ãå šäœã«ã€ã㊠ãªã³ã©ã€ã³éå¬ãšãªã£ããããäŒå Žã®æ§åãäŒæ¥ããŒã¹ãªã©ãé°å²æ°ã®äŒããåçããå±ãã§ããªãã®ãæ®å¿µã§ãããçºè¡šã®äž»äŒå Žãšãªã£ããã³ãã³çæŸéã§ã¯ãçµå§ç©ãããªé°å²æ°ã§ããã€ã€ã掻çºã«ã³ã¡ã³ãããªããã倧ãã«çãäžãã£ãŠããŸããã åååæ§ãåæ¥ã¯ day 0 ãšããŠå€æ¹ããã2 æ¥ç®ä»¥éã¯æã倿¹ãŸã§ãæå€§ 5 ã€ã®ãã£ã³ãã«ã§äžŠè¡ããŠçºè¡šãè¡ãããŸãããã»ãã·ã§ã³ã«ã€ããŠã¯äºåã«é²ç»ãããã®ãæŸéããLT ã®ã¿ãªã¢ãŒãã«ãŠãªã¢ã«ã¿ã€ã çºè¡šãšãã圢åŒãšãªã£ãŠããŸããã 質çå¿çã«ã€ããŠã¯ãåçºè¡šã®çµäºçŽåŸã« Discord ãã£ã³ãã«ã«çºè¡šè ãåŸ æ©ããŠå¯Ÿå¿ããŠããŸãããåã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãã€ã³ãããã¯ã·ã§ã³åç»ãã¯ãããšããåæã§ç©æ¥µçãªãã£ãŒãããã¯ã»ã³ãã¥ãã±ãŒã·ã§ã³ã奚å±ãããŠããããã«æããŸãïŒãªããã€ã³ãããã¯ã·ã§ã³ã»ã¹ãã³ãµãŒç޹ä»ã®ååç»ã¯ãã¬ãŒã·ã§ã³ã声åªã®ç·æ¹æµçŸããã»äžç³çŽä¹ãããšããšãŠã豪è¯ã§ãããçæŸéäžã®ã³ã¡ã³ããã 18 幎ã®åŒç€Ÿããã° ãèŠãéãã¯æ¯å¹ŽæäŸã®ããã§ããããããã§ãïŒïŒã ã»ãã·ã§ã³ã«ã€ã㊠æšå¹Ž iOS13 ãšãšãã«çºè¡šããã SwiftUI ãžã®ç§»è¡ããã³ãŒãç§»è¡ã»ã¢ãžã¥ãŒã«åå²çããããžã§ã¯ãã®æé©åã«ã€ããŠã®ãããã¯ãå€ãã£ãããã«æããŸãã SwiftUI ã¯ãåŸæ¥ Storyboard ã§èšèšããŠãã UI ãã³ãŒãããŒã¹ã§èšè¿°ã§ããç»æçãªãã¬ãŒã ã¯ãŒã¯ã§ãããSwiftUI ã䜿ã£ãã¢ããªã¯ iOS13 æªæºã®ç«¯æ«ã§ã¯å©çšã§ããªããªã£ãŠããŸãããšããããã¢ããªã®å ¬é察象ãåºãã«ãã£ãŠããããå Žåã¯ãªããªãä¹ãæãã¥ããå°è±¡ã§ããã2020 幎 6 æçŸåšã§ iOS13 ã®ã·ã§ã¢ã 9 å²ä»¥äžãšãªã£ãããšã§ãã¡ããã© iOSDC ã§ã®çºè¡šãããã¯ã決ããããã«å°å ¥äœæ¥ãè¡ã£ãïŒãã€èŠåŽããïŒãšããã±ãŒã¹ãå€ãã£ãã®ããªããšæããŸãã 以äžãèŠèŽããã»ãã·ã§ã³ã®ãã¡æ°ã«ãªã£ããã®ãããã€ãã玹ä»ããããŸãã ãªãŒãã³ãœãŒã¹ã® AltSwiftUI ã®çºè¡š fortee.jp 楜倩ã®ãšã³ãžãã¢ã®æ¹ã«ãããSwiftUI ã®æäŸãããã€ãã£ãã³ã³ããŒãã³ãã«å¯Ÿå¿ãã€ã€ãiOS11 以äžã§å©çšå¯èœãªãªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ AltSwiftUI ïŒ å ¬åŒ Doc ïŒã®éçºã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã iOS12 以äžã®å¯Ÿå¿ãåããã« SwiftUI ãžã®ä¹ãæããé²ããããïŒãã€æ¬å®¶ãšéã£ãŠãªãŒãã³ãœãŒã¹ã§ããïŒäŸ¿å©ããããã§ãããå¥éãã¬ãŒã ã¯ãŒã¯ãåºæ¥äžãã£ãŠããŸããããã«ãSwiftUI ãžã®ç§»è¡å¯Ÿå¿ãžã®èŠåŽããã®ã°ããå 容ã§ããããŸããïŒã¹ãã¢ã«ããæ¥œå€©æäŸã® iOS ã¢ããªã®æ°ãèãããšä¹ãæãã³ã¹ãã倧å€ããâŠïŒã ããããèªååã§ããŸããã: note ãæ¯ããã¯ãŒã¯ãããŒå€§å š speakerdeck.com æ¹ä¿®èŠæãäžãã£ãŠãããå®éã«æ¹ä¿®ãè¡ã£ãŠã¢ããªããªãªãŒã¹ãããŸã§ã®äœæ¥ãã§ããéãèªååããããšããã»ãã·ã§ã³ã§ããCLINICS ã§ãããèšŒææžã®æå¹æé確èªãããã·ã¥ããã®ãã¹ããããŒãžããã®ãªãªãŒã¹æºåã㯠Bitrise ã®ããªã¬ãå©çšããŠèªååããŠããŸãã äžèšã®ãããªãGitHub äžã§ã®ã¢ã¯ã·ã§ã³ïŒããã·ã¥ãããŒãžãªã©ïŒãããªã¬ãšããèªååã¯ããèã話ã§ã¯ããã®ã§ãããSlack ã®ãã¹ãã«ç¹å®ã®ã¹ã¿ã³ãã€ãããš Issue åãã¯ã¡ãã£ãšç®æ°ãããŠé¢çœããªãšæããŸããïŒæ°ãã€ããªããšè¡šèšæºãã§åããã㪠Issue ãä¹±ç«ãããã§ããïŒã Issue ããã¡ããšç®¡çããŠãããªããšãã©ãã«ã®èµ·ããããéšåã§ãããã起祚è ãšå®è£ è ã®éã§ããŒã«ãæµ®ããŠããŸã£ããããããžã§ã¯ãã«çŽã¥ããŠããªãã£ãããã«å¯Ÿå¿ããæŽ©ããŠããŸã£ããâŠã ãŸãããã®ã¹ã©ã€ãã§ããçµå§ææžãã®æ¿çµµããããããŠããããã£ãæå³ã§ãã³ã¡ã³ãæ¬ãçãäžãã£ãŠããã®ãå°è±¡çã§ããã 100 人ã§ã¢ããªããªãã¡ã¯ã¿ãªã³ã°ããŠèŠããŠãããæåŒ·ã® iOS ã¢ããªèšèšã«æ±ããããããš fortee.jp ã¢ããªãé·æã«éçšããŠãããšã»ãŒå¿ é ãšãªã課é¡ã§ãããªããã人ããšã«åºæºãææ§ã ã£ãããæ©èœéçºã«ããããŠå¯Ÿå¿ãåŸæåŸæã«ãªã£ããâŠãšãäœããšã€ãã話ãããèããœãŒã¹ã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ã«é¢ããã»ãã·ã§ã³ã§ããã åãç¶æ ã®ãœãŒã¹ã³ãŒãã倿°ã®ãšã³ãžãã¢ããªãã¡ã¯ã¿ããçµæãæ¯èŒããããšã§ããè¯ããªãã¡ã¯ã¿ãªã³ã°ã®ããã®èãæ¹ããšã¯äœãïŒã暡玢ããå 容ã§ãã ãã¥ãŒãšããžãã¯ã®åå²ããã£ããè¡ãããšããã®ã¯ PR ã¬ãã¥ãŒã§ãšã³ãžãã¢ãå£ãé žã£ã±ãããŠããèšãããããšã§ã¯ãããŸããããããžãã¯ã®äžã§ããã¢ããªã®ä»æ§ã«äŸåãããã®ãšããã§ãªãæ®éçãªãã®ã¯åé¢ãã¹ãããšããã¢ã€ãã¢ã¯å人çã«ã¯çŒããé±ãèœã¡ããã®ã§ããã ãŸããããã説æãããªããŒã·ã®å ·äœäŸïŒã察æŠçžæã人éã AI ããã¯ã¢ããªä»æ§ã«äŸåããããžãã¯ããããã«ç³ã眮ããããã¯æ®éçãªããžãã¯ïŒãªããŒã·ã®ã«ãŒã«ãã®ãã®ïŒãéåžžã«ããããããã£ãã§ãã ãã®ã»ããReact / Redux ã§ããã³ããšã³ãéçºãè¡ã£ãŠãã人ã«ã¯ã銎æã¿ã® Action / Reducer ã䜿ã£ãåäžæ¹åã®ããŒã¿ãããŒã®å°å ¥ãªã©ã玹ä»ãããŠããŸãã æ°èŠæ©èœéçºããã¢ãžã¥ãŒã«åå²ãå§ããŠã¿ã speakerdeck.com äžã€ã®ã¢ããªãé·æééçšãããŠãããªãã§ãè€æ°ã®æ©èœãçµ±åãããã¹ãŒããŒã¢ããªã«ãªãããšããããŸãããããªã£ãå ŽåããœãŒã¹ã³ãŒããè¥å€§å â ãã«ãã»ãã¹ããé·å€§åããšãªã£ãŠã¡ã³ããã³ã¹æ§ãäœäžããããã察çãšããŠã³ãŒããåå²ããŠãã¹ãããã«ãã®åäœãå°ããããå¿ èŠããããŸãã ãããªãã¢ããªå šäœãã¢ãžã¥ãŒã«ã«åå²ããã®ã¯æéãããããããæ¬ã»ãã·ã§ã³ã§ã¯ãŸãç¬¬äžæ®µéãšããŠæ°èŠã«éçºããæ©èœãå¥ã¢ãžã¥ãŒã«ãšããŠå®è£ ãããã®æåŸãç¥èŠã«ã€ããŠè§ŠããããŠããŸããã ãåå²ããã¢ãžã¥ãŒã«åŽã§ã®ãµãŒãããŒãã£è£œãã¬ãŒã ã¯ãŒã¯ã®ãªã³ã¯æ¹æ³ïŒâ»ãªã³ã¯ãæ£ããè¡ããªããšããã«ãããŠåäœã¯ããã®ã«ã¢ãŒã«ã€ãã«å€±æããŠãªãªãŒã¹ã§ããªããªãïŒããªã©ã¯ãä»åŸã®éçºã«ã¢ãžã¥ãŒã«åå²ãåãå ¥ããŠããéã«åèã«ãªãããã§ãã Swift ã§å§ããéçè§£æ speakerdeck.com Swift ãœãŒã¹ã³ãŒãããã®æ§ææšã®çæãè§£æãè¡ãã©ã€ãã©ãª SwiftSyntax ã®ç޹ä»ãšããããçšãããœãŒã¹ã³ãŒãéè€æ€åºæ©èœã®å®è£ ã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã æ®æ®µ Xcode ãå§ããšãã IDE ã§éçºããŠãããšãã³ãŒãéè€ãäžèŠãªããŒã«ã«å€æ°ãåã Nullable ã®äžäžèŽã«å€æ°ãªãã¡ã¯ã¿ãªã³ã°âŠçã ã®äŸ¿å©ãªæ©èœãæ°è»œã«äœ¿ããŠããŸããŸããããã®è£ã®åäœãæ¹ããŠäžã€ãã€å ·äœçã«è¿œã£ãŠãããšããã®ããããã¿ãèº«ã«æã¿ãŸãâŠã éçè§£æãã®ãã®ã¯ Swift ã«éããæ§ã ãªèšèªã®ãœãŒã¹ã³ãŒãã«å¯ŸããŠé©çšã§ãããããã¯ã§ã¯ããã®ã§ãããæ®æ®µäœæ°ãªã䜿ã£ãŠããŸã IDE ã®æ©èœã«ã€ããŠèããããæ©äŒã«ãªã£ãããã玹ä»ãããŠããã ããŸããã ãŸãšã ã¡ããã©æ¥åã§ã iOS ã¢ããªéçºãæ åœããŠããããšããããè峿·±ãç¥èŠãåŸãããããçµéšãšãªããŸããããŸããäºåé²ç»åœ¢åŒã«ãªã£ãããšã§çºè¡šã®æ§æãããç·ŽãããçµæãšããŠèããããïŒçæ§ããªãæ°ãã€ããŠãã£ããçºå£°ãããŠããŸããïŒãåæ§ã®ããçºè¡šãå€ãã£ãããã«æããŸãã ä»åãåã®ãªã³ã©ã€ã³ã§ã®éå¬ãšããããšã§ãéå¶å§å¡äŒã®çæ§ããããããšèŠåŽãããŠããã£ãããããã§ããããã ããã®ç²æãã£ãŠãåœæ¥ã®é²è¡ã¯ã¹ã ãŒãºã§ãäŒå Žã¯ãšãŠãçãäžãã£ãŠããŸãããé¢ä¿è ã®çæ§ãæ¬åœã«ãç²ãæ§ã§ããã æ å¢ãèžãŸããæ¥å¹ŽåºŠã®éå¬å¯åŠã»åœ¢åŒã¯æªå®ãšã®ããšã§ãããããªã³ã©ã€ã³ã»å¯Ÿé¢ã®ããããã®è¯ããåãå ¥ãã€ã€ãããå€ãã®äººãåå ã§ãã圢æ ã«ãªã£ãŠãããšãããªãšæããŸãã å ¬åŒ YouTube ãã£ã³ãã« ã§éå»ã®çºè¡šãèŠèŽã§ããŸãã®ã§ããèå³ã®ããæ¹ã¯ãã²ã©ããïŒä»å¹Žã®çºè¡šåãäžã¶æã»ã©ãããå ¬éããããšã®ããšã§ããïŒã ãŸãã¡ãã¬ãŒã§ã¯ iOS / Android ãã€ãã£ãã¢ããªéçºãšã³ãžãã¢ãåéããŠããŸããèå³ãããæ¹ããã²ãæ°è»œã«ã話ããŸããã! www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/02
<![CDATA[ iOSDC Japan 2020 ã«ã¡ãã¬ãŒãåè³ããŸãã ]]>
çæ§ããã«ã¡ã¯ãã€ã³ãã¥ããŒã·ã§ã³æ¬éšãšã³ãžãã¢ã®æ¿±äžã§ãã 9/19ã21 ã« iOSDC Japan 2020 ïŒä»¥äž iOSDCïŒãéå¬ãããŸããã å æ¥ã®èšäº ã®éããã¡ãã¬ãŒã¯ 2017 幎ãã iOSDC ã« åè³ ããŠãããŸãã ã¡ãã¬ãŒã§ã¯ãSwift ãå©çšããŠãªã³ã©ã€ã³èšºçïŒæè¬æå°ã¢ããªãCLINICSãiOS çã®éçºãããŠããŸãã CLINICS(ã¯ãªãã¯ã¹)ããªã³ã©ã€ã³èšºçã»æè¬æå°ã¢ã㪠5 åç®ãšãªãä»åã¯ãåã®ãªã³ã©ã€ã³éå¬ãšãªããäž»ã«ãã³ãã³çæŸéãDiscord äžã§çºè¡šã»ã³ãã¥ãã±ãŒã·ã§ã³ãè¡ãããŸãããç§ã iOS ç CLINICS ã®éçºã«æºãã£ãŠããçžã§ãä»åã¹ãã³ãµãŒæ ãšã㊠iOSDC ã«åå ãããŠããã ããŸããã®ã§ç޹ä»ãããŠããã ããŸãã ã€ãã³ãå šäœã«ã€ã㊠ãªã³ã©ã€ã³éå¬ãšãªã£ããããäŒå Žã®æ§åãäŒæ¥ããŒã¹ãªã©ãé°å²æ°ã®äŒããåçããå±ãã§ããªãã®ãæ®å¿µã§ãããçºè¡šã®äž»äŒå Žãšãªã£ããã³ãã³çæŸéã§ã¯ãçµå§ç©ãããªé°å²æ°ã§ããã€ã€ã掻çºã«ã³ã¡ã³ãããªããã倧ãã«çãäžãã£ãŠããŸããã åååæ§ãåæ¥ã¯ day 0 ãšããŠå€æ¹ããã2 æ¥ç®ä»¥éã¯æã倿¹ãŸã§ãæå€§ 5 ã€ã®ãã£ã³ãã«ã§äžŠè¡ããŠçºè¡šãè¡ãããŸãããã»ãã·ã§ã³ã«ã€ããŠã¯äºåã«é²ç»ãããã®ãæŸéããLT ã®ã¿ãªã¢ãŒãã«ãŠãªã¢ã«ã¿ã€ã çºè¡šãšãã圢åŒãšãªã£ãŠããŸããã 質çå¿çã«ã€ããŠã¯ãåçºè¡šã®çµäºçŽåŸã« Discord ãã£ã³ãã«ã«çºè¡šè ãåŸ æ©ããŠå¯Ÿå¿ããŠããŸãããåã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãã€ã³ãããã¯ã·ã§ã³åç»ãã¯ãããšããåæã§ç©æ¥µçãªãã£ãŒãããã¯ã»ã³ãã¥ãã±ãŒã·ã§ã³ã奚å±ãããŠããããã«æããŸãïŒãªããã€ã³ãããã¯ã·ã§ã³ã»ã¹ãã³ãµãŒç޹ä»ã®ååç»ã¯ãã¬ãŒã·ã§ã³ã声åªã®ç·æ¹æµçŸããã»äžç³çŽä¹ãããšããšãŠã豪è¯ã§ãããçæŸéäžã®ã³ã¡ã³ããã 18 幎ã®åŒç€Ÿããã° ãèŠãéãã¯æ¯å¹ŽæäŸã®ããã§ããããããã§ãïŒïŒã ã»ãã·ã§ã³ã«ã€ã㊠æšå¹Ž iOS13 ãšãšãã«çºè¡šããã SwiftUI ãžã®ç§»è¡ããã³ãŒãç§»è¡ã»ã¢ãžã¥ãŒã«åå²çããããžã§ã¯ãã®æé©åã«ã€ããŠã®ãããã¯ãå€ãã£ãããã«æããŸãã SwiftUI ã¯ãåŸæ¥ Storyboard ã§èšèšããŠãã UI ãã³ãŒãããŒã¹ã§èšè¿°ã§ããç»æçãªãã¬ãŒã ã¯ãŒã¯ã§ãããSwiftUI ã䜿ã£ãã¢ããªã¯ iOS13 æªæºã®ç«¯æ«ã§ã¯å©çšã§ããªããªã£ãŠããŸãããšããããã¢ããªã®å ¬é察象ãåºãã«ãã£ãŠããããå Žåã¯ãªããªãä¹ãæãã¥ããå°è±¡ã§ããã2020 幎 6 æçŸåšã§ iOS13 ã®ã·ã§ã¢ã 9 å²ä»¥äžãšãªã£ãããšã§ãã¡ããã© iOSDC ã§ã®çºè¡šãããã¯ã決ããããã«å°å ¥äœæ¥ãè¡ã£ãïŒãã€èŠåŽããïŒãšããã±ãŒã¹ãå€ãã£ãã®ããªããšæããŸãã 以äžãèŠèŽããã»ãã·ã§ã³ã®ãã¡æ°ã«ãªã£ããã®ãããã€ãã玹ä»ããããŸãã ãªãŒãã³ãœãŒã¹ã® AltSwiftUI ã®çºè¡š fortee.jp 楜倩ã®ãšã³ãžãã¢ã®æ¹ã«ãããSwiftUI ã®æäŸãããã€ãã£ãã³ã³ããŒãã³ãã«å¯Ÿå¿ãã€ã€ãiOS11 以äžã§å©çšå¯èœãªãªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ AltSwiftUI ïŒ å ¬åŒ Doc ïŒã®éçºã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã iOS12 以äžã®å¯Ÿå¿ãåããã« SwiftUI ãžã®ä¹ãæããé²ããããïŒãã€æ¬å®¶ãšéã£ãŠãªãŒãã³ãœãŒã¹ã§ããïŒäŸ¿å©ããããã§ãããå¥éãã¬ãŒã ã¯ãŒã¯ãåºæ¥äžãã£ãŠããŸããããã«ãSwiftUI ãžã®ç§»è¡å¯Ÿå¿ãžã®èŠåŽããã®ã°ããå 容ã§ããããŸããïŒã¹ãã¢ã«ããæ¥œå€©æäŸã® iOS ã¢ããªã®æ°ãèãããšä¹ãæãã³ã¹ãã倧å€ããâŠïŒã ããããèªååã§ããŸããã: note ãæ¯ããã¯ãŒã¯ãããŒå€§å š speakerdeck.com æ¹ä¿®èŠæãäžãã£ãŠãããå®éã«æ¹ä¿®ãè¡ã£ãŠã¢ããªããªãªãŒã¹ãããŸã§ã®äœæ¥ãã§ããéãèªååããããšããã»ãã·ã§ã³ã§ããCLINICS ã§ãããèšŒææžã®æå¹æé確èªãããã·ã¥ããã®ãã¹ããããŒãžããã®ãªãªãŒã¹æºåã㯠Bitrise ã®ããªã¬ãå©çšããŠèªååããŠããŸãã äžèšã®ãããªãGitHub äžã§ã®ã¢ã¯ã·ã§ã³ïŒããã·ã¥ãããŒãžãªã©ïŒãããªã¬ãšããèªååã¯ããèã話ã§ã¯ããã®ã§ãããSlack ã®ãã¹ãã«ç¹å®ã®ã¹ã¿ã³ãã€ãããš Issue åãã¯ã¡ãã£ãšç®æ°ãããŠé¢çœããªãšæããŸããïŒæ°ãã€ããªããšè¡šèšæºãã§åããã㪠Issue ãä¹±ç«ãããã§ããïŒã Issue ããã¡ããšç®¡çããŠãããªããšãã©ãã«ã®èµ·ããããéšåã§ãããã起祚è ãšå®è£ è ã®éã§ããŒã«ãæµ®ããŠããŸã£ããããããžã§ã¯ãã«çŽã¥ããŠããªãã£ãããã«å¯Ÿå¿ããæŽ©ããŠããŸã£ããâŠã ãŸãããã®ã¹ã©ã€ãã§ããçµå§ææžãã®æ¿çµµããããããŠããããã£ãæå³ã§ãã³ã¡ã³ãæ¬ãçãäžãã£ãŠããã®ãå°è±¡çã§ããã 100 人ã§ã¢ããªããªãã¡ã¯ã¿ãªã³ã°ããŠèŠããŠãããæåŒ·ã® iOS ã¢ããªèšèšã«æ±ããããããš fortee.jp ã¢ããªãé·æã«éçšããŠãããšã»ãŒå¿ é ãšãªã課é¡ã§ãããªããã人ããšã«åºæºãææ§ã ã£ãããæ©èœéçºã«ããããŠå¯Ÿå¿ãåŸæåŸæã«ãªã£ããâŠãšãäœããšã€ãã話ãããèããœãŒã¹ã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ã«é¢ããã»ãã·ã§ã³ã§ããã åãç¶æ ã®ãœãŒã¹ã³ãŒãã倿°ã®ãšã³ãžãã¢ããªãã¡ã¯ã¿ããçµæãæ¯èŒããããšã§ããè¯ããªãã¡ã¯ã¿ãªã³ã°ã®ããã®èãæ¹ããšã¯äœãïŒã暡玢ããå 容ã§ãã ãã¥ãŒãšããžãã¯ã®åå²ããã£ããè¡ãããšããã®ã¯ PR ã¬ãã¥ãŒã§ãšã³ãžãã¢ãå£ãé žã£ã±ãããŠããèšãããããšã§ã¯ãããŸããããããžãã¯ã®äžã§ããã¢ããªã®ä»æ§ã«äŸåãããã®ãšããã§ãªãæ®éçãªãã®ã¯åé¢ãã¹ãããšããã¢ã€ãã¢ã¯å人çã«ã¯çŒããé±ãèœã¡ããã®ã§ããã ãŸããããã説æãããªããŒã·ã®å ·äœäŸïŒã察æŠçžæã人éã AI ããã¯ã¢ããªä»æ§ã«äŸåããããžãã¯ããããã«ç³ã眮ããããã¯æ®éçãªããžãã¯ïŒãªããŒã·ã®ã«ãŒã«ãã®ãã®ïŒãéåžžã«ããããããã£ãã§ãã ãã®ã»ããReact / Redux ã§ããã³ããšã³ãéçºãè¡ã£ãŠãã人ã«ã¯ã銎æã¿ã® Action / Reducer ã䜿ã£ãåäžæ¹åã®ããŒã¿ãããŒã®å°å ¥ãªã©ã玹ä»ãããŠããŸãã æ°èŠæ©èœéçºããã¢ãžã¥ãŒã«åå²ãå§ããŠã¿ã speakerdeck.com äžã€ã®ã¢ããªãé·æééçšãããŠãããªãã§ãè€æ°ã®æ©èœãçµ±åãããã¹ãŒããŒã¢ããªã«ãªãããšããããŸãããããªã£ãå ŽåããœãŒã¹ã³ãŒããè¥å€§å â ãã«ãã»ãã¹ããé·å€§åããšãªã£ãŠã¡ã³ããã³ã¹æ§ãäœäžããããã察çãšããŠã³ãŒããåå²ããŠãã¹ãããã«ãã®åäœãå°ããããå¿ èŠããããŸãã ãããªãã¢ããªå šäœãã¢ãžã¥ãŒã«ã«åå²ããã®ã¯æéãããããããæ¬ã»ãã·ã§ã³ã§ã¯ãŸãç¬¬äžæ®µéãšããŠæ°èŠã«éçºããæ©èœãå¥ã¢ãžã¥ãŒã«ãšããŠå®è£ ãããã®æåŸãç¥èŠã«ã€ããŠè§ŠããããŠããŸããã ãåå²ããã¢ãžã¥ãŒã«åŽã§ã®ãµãŒãããŒãã£è£œãã¬ãŒã ã¯ãŒã¯ã®ãªã³ã¯æ¹æ³ïŒâ»ãªã³ã¯ãæ£ããè¡ããªããšããã«ãããŠåäœã¯ããã®ã«ã¢ãŒã«ã€ãã«å€±æããŠãªãªãŒã¹ã§ããªããªãïŒããªã©ã¯ãä»åŸã®éçºã«ã¢ãžã¥ãŒã«åå²ãåãå ¥ããŠããéã«åèã«ãªãããã§ãã Swift ã§å§ããéçè§£æ speakerdeck.com Swift ãœãŒã¹ã³ãŒãããã®æ§ææšã®çæãè§£æãè¡ãã©ã€ãã©ãª SwiftSyntax ã®ç޹ä»ãšããããçšãããœãŒã¹ã³ãŒãéè€æ€åºæ©èœã®å®è£ ã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã æ®æ®µ Xcode ãå§ããšãã IDE ã§éçºããŠãããšãã³ãŒãéè€ãäžèŠãªããŒã«ã«å€æ°ãåã Nullable ã®äžäžèŽã«å€æ°ãªãã¡ã¯ã¿ãªã³ã°âŠçã ã®äŸ¿å©ãªæ©èœãæ°è»œã«äœ¿ããŠããŸããŸããããã®è£ã®åäœãæ¹ããŠäžã€ãã€å ·äœçã«è¿œã£ãŠãããšããã®ããããã¿ãèº«ã«æã¿ãŸãâŠã éçè§£æãã®ãã®ã¯ Swift ã«éããæ§ã ãªèšèªã®ãœãŒã¹ã³ãŒãã«å¯ŸããŠé©çšã§ãããããã¯ã§ã¯ããã®ã§ãããæ®æ®µäœæ°ãªã䜿ã£ãŠããŸã IDE ã®æ©èœã«ã€ããŠèããããæ©äŒã«ãªã£ãããã玹ä»ãããŠããã ããŸããã ãŸãšã ã¡ããã©æ¥åã§ã iOS ã¢ããªéçºãæ åœããŠããããšããããè峿·±ãç¥èŠãåŸãããããçµéšãšãªããŸããããŸããäºåé²ç»åœ¢åŒã«ãªã£ãããšã§çºè¡šã®æ§æãããç·ŽãããçµæãšããŠèããããïŒçæ§ããªãæ°ãã€ããŠãã£ããçºå£°ãããŠããŸããïŒãåæ§ã®ããçºè¡šãå€ãã£ãããã«æããŸãã ä»åãåã®ãªã³ã©ã€ã³ã§ã®éå¬ãšããããšã§ãéå¶å§å¡äŒã®çæ§ããããããšèŠåŽãããŠããã£ãããããã§ããããã ããã®ç²æãã£ãŠãåœæ¥ã®é²è¡ã¯ã¹ã ãŒãºã§ãäŒå Žã¯ãšãŠãçãäžãã£ãŠããŸãããé¢ä¿è ã®çæ§ãæ¬åœã«ãç²ãæ§ã§ããã æ å¢ãèžãŸããæ¥å¹ŽåºŠã®éå¬å¯åŠã»åœ¢åŒã¯æªå®ãšã®ããšã§ãããããªã³ã©ã€ã³ã»å¯Ÿé¢ã®ããããã®è¯ããåãå ¥ãã€ã€ãããå€ãã®äººãåå ã§ãã圢æ ã«ãªã£ãŠãããšãããªãšæããŸãã å ¬åŒ YouTube ãã£ã³ãã« ã§éå»ã®çºè¡šãèŠèŽã§ããŸãã®ã§ããèå³ã®ããæ¹ã¯ãã²ã©ããïŒä»å¹Žã®çºè¡šåãäžã¶æã»ã©ãããå ¬éããããšã®ããšã§ããïŒã ãŸãã¡ãã¬ãŒã§ã¯ iOS / Android ãã€ãã£ãã¢ããªéçºãšã³ãžãã¢ãåéããŠããŸããèå³ãããæ¹ããã²ãæ°è»œã«ã話ããŸããã! www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/02
<![CDATA[ iOSDC Japan 2020 ã«ã¡ãã¬ãŒãåè³ããŸãã ]]>
çæ§ããã«ã¡ã¯ãã€ã³ãã¥ããŒã·ã§ã³æ¬éšãšã³ãžãã¢ã®æ¿±äžã§ãã 9/19ã21 ã« iOSDC Japan 2020 ïŒä»¥äž iOSDCïŒãéå¬ãããŸããã å æ¥ã®èšäº ã®éããã¡ãã¬ãŒã¯ 2017 幎ãã iOSDC ã« åè³ ããŠãããŸãã ã¡ãã¬ãŒã§ã¯ãSwift ãå©çšããŠãªã³ã©ã€ã³èšºçïŒæè¬æå°ã¢ããªãCLINICSãiOS çã®éçºãããŠããŸãã CLINICS(ã¯ãªãã¯ã¹)ããªã³ã©ã€ã³èšºçã»æè¬æå°ã¢ã㪠5 åç®ãšãªãä»åã¯ãåã®ãªã³ã©ã€ã³éå¬ãšãªããäž»ã«ãã³ãã³çæŸéãDiscord äžã§çºè¡šã»ã³ãã¥ãã±ãŒã·ã§ã³ãè¡ãããŸãããç§ã iOS ç CLINICS ã®éçºã«æºãã£ãŠããçžã§ãä»åã¹ãã³ãµãŒæ ãšã㊠iOSDC ã«åå ãããŠããã ããŸããã®ã§ç޹ä»ãããŠããã ããŸãã ã€ãã³ãå šäœã«ã€ã㊠ãªã³ã©ã€ã³éå¬ãšãªã£ããããäŒå Žã®æ§åãäŒæ¥ããŒã¹ãªã©ãé°å²æ°ã®äŒããåçããå±ãã§ããªãã®ãæ®å¿µã§ãããçºè¡šã®äž»äŒå Žãšãªã£ããã³ãã³çæŸéã§ã¯ãçµå§ç©ãããªé°å²æ°ã§ããã€ã€ã掻çºã«ã³ã¡ã³ãããªããã倧ãã«çãäžãã£ãŠããŸããã åååæ§ãåæ¥ã¯ day 0 ãšããŠå€æ¹ããã2 æ¥ç®ä»¥éã¯æã倿¹ãŸã§ãæå€§ 5 ã€ã®ãã£ã³ãã«ã§äžŠè¡ããŠçºè¡šãè¡ãããŸãããã»ãã·ã§ã³ã«ã€ããŠã¯äºåã«é²ç»ãããã®ãæŸéããLT ã®ã¿ãªã¢ãŒãã«ãŠãªã¢ã«ã¿ã€ã çºè¡šãšãã圢åŒãšãªã£ãŠããŸããã 質çå¿çã«ã€ããŠã¯ãåçºè¡šã®çµäºçŽåŸã« Discord ãã£ã³ãã«ã«çºè¡šè ãåŸ æ©ããŠå¯Ÿå¿ããŠããŸãããåã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãã€ã³ãããã¯ã·ã§ã³åç»ãã¯ãããšããåæã§ç©æ¥µçãªãã£ãŒãããã¯ã»ã³ãã¥ãã±ãŒã·ã§ã³ã奚å±ãããŠããããã«æããŸãïŒãªããã€ã³ãããã¯ã·ã§ã³ã»ã¹ãã³ãµãŒç޹ä»ã®ååç»ã¯ãã¬ãŒã·ã§ã³ã声åªã®ç·æ¹æµçŸããã»äžç³çŽä¹ãããšããšãŠã豪è¯ã§ãããçæŸéäžã®ã³ã¡ã³ããã 18 幎ã®åŒç€Ÿããã° ãèŠãéãã¯æ¯å¹ŽæäŸã®ããã§ããããããã§ãïŒïŒã ã»ãã·ã§ã³ã«ã€ã㊠æšå¹Ž iOS13 ãšãšãã«çºè¡šããã SwiftUI ãžã®ç§»è¡ããã³ãŒãç§»è¡ã»ã¢ãžã¥ãŒã«åå²çããããžã§ã¯ãã®æé©åã«ã€ããŠã®ãããã¯ãå€ãã£ãããã«æããŸãã SwiftUI ã¯ãåŸæ¥ Storyboard ã§èšèšããŠãã UI ãã³ãŒãããŒã¹ã§èšè¿°ã§ããç»æçãªãã¬ãŒã ã¯ãŒã¯ã§ãããSwiftUI ã䜿ã£ãã¢ããªã¯ iOS13 æªæºã®ç«¯æ«ã§ã¯å©çšã§ããªããªã£ãŠããŸãããšããããã¢ããªã®å ¬é察象ãåºãã«ãã£ãŠããããå Žåã¯ãªããªãä¹ãæãã¥ããå°è±¡ã§ããã2020 幎 6 æçŸåšã§ iOS13 ã®ã·ã§ã¢ã 9 å²ä»¥äžãšãªã£ãããšã§ãã¡ããã© iOSDC ã§ã®çºè¡šãããã¯ã決ããããã«å°å ¥äœæ¥ãè¡ã£ãïŒãã€èŠåŽããïŒãšããã±ãŒã¹ãå€ãã£ãã®ããªããšæããŸãã 以äžãèŠèŽããã»ãã·ã§ã³ã®ãã¡æ°ã«ãªã£ããã®ãããã€ãã玹ä»ããããŸãã ãªãŒãã³ãœãŒã¹ã® AltSwiftUI ã®çºè¡š fortee.jp 楜倩ã®ãšã³ãžãã¢ã®æ¹ã«ãããSwiftUI ã®æäŸãããã€ãã£ãã³ã³ããŒãã³ãã«å¯Ÿå¿ãã€ã€ãiOS11 以äžã§å©çšå¯èœãªãªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ AltSwiftUI ïŒ å ¬åŒ Doc ïŒã®éçºã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã iOS12 以äžã®å¯Ÿå¿ãåããã« SwiftUI ãžã®ä¹ãæããé²ããããïŒãã€æ¬å®¶ãšéã£ãŠãªãŒãã³ãœãŒã¹ã§ããïŒäŸ¿å©ããããã§ãããå¥éãã¬ãŒã ã¯ãŒã¯ãåºæ¥äžãã£ãŠããŸããããã«ãSwiftUI ãžã®ç§»è¡å¯Ÿå¿ãžã®èŠåŽããã®ã°ããå 容ã§ããããŸããïŒã¹ãã¢ã«ããæ¥œå€©æäŸã® iOS ã¢ããªã®æ°ãèãããšä¹ãæãã³ã¹ãã倧å€ããâŠïŒã ããããèªååã§ããŸããã: note ãæ¯ããã¯ãŒã¯ãããŒå€§å š speakerdeck.com æ¹ä¿®èŠæãäžãã£ãŠãããå®éã«æ¹ä¿®ãè¡ã£ãŠã¢ããªããªãªãŒã¹ãããŸã§ã®äœæ¥ãã§ããéãèªååããããšããã»ãã·ã§ã³ã§ããCLINICS ã§ãããèšŒææžã®æå¹æé確èªãããã·ã¥ããã®ãã¹ããããŒãžããã®ãªãªãŒã¹æºåã㯠Bitrise ã®ããªã¬ãå©çšããŠèªååããŠããŸãã äžèšã®ãããªãGitHub äžã§ã®ã¢ã¯ã·ã§ã³ïŒããã·ã¥ãããŒãžãªã©ïŒãããªã¬ãšããèªååã¯ããèã話ã§ã¯ããã®ã§ãããSlack ã®ãã¹ãã«ç¹å®ã®ã¹ã¿ã³ãã€ãããš Issue åãã¯ã¡ãã£ãšç®æ°ãããŠé¢çœããªãšæããŸããïŒæ°ãã€ããªããšè¡šèšæºãã§åããã㪠Issue ãä¹±ç«ãããã§ããïŒã Issue ããã¡ããšç®¡çããŠãããªããšãã©ãã«ã®èµ·ããããéšåã§ãããã起祚è ãšå®è£ è ã®éã§ããŒã«ãæµ®ããŠããŸã£ããããããžã§ã¯ãã«çŽã¥ããŠããªãã£ãããã«å¯Ÿå¿ããæŽ©ããŠããŸã£ããâŠã ãŸãããã®ã¹ã©ã€ãã§ããçµå§ææžãã®æ¿çµµããããããŠããããã£ãæå³ã§ãã³ã¡ã³ãæ¬ãçãäžãã£ãŠããã®ãå°è±¡çã§ããã 100 人ã§ã¢ããªããªãã¡ã¯ã¿ãªã³ã°ããŠèŠããŠãããæåŒ·ã® iOS ã¢ããªèšèšã«æ±ããããããš fortee.jp ã¢ããªãé·æã«éçšããŠãããšã»ãŒå¿ é ãšãªã課é¡ã§ãããªããã人ããšã«åºæºãææ§ã ã£ãããæ©èœéçºã«ããããŠå¯Ÿå¿ãåŸæåŸæã«ãªã£ããâŠãšãäœããšã€ãã話ãããèããœãŒã¹ã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ã«é¢ããã»ãã·ã§ã³ã§ããã åãç¶æ ã®ãœãŒã¹ã³ãŒãã倿°ã®ãšã³ãžãã¢ããªãã¡ã¯ã¿ããçµæãæ¯èŒããããšã§ããè¯ããªãã¡ã¯ã¿ãªã³ã°ã®ããã®èãæ¹ããšã¯äœãïŒã暡玢ããå 容ã§ãã ãã¥ãŒãšããžãã¯ã®åå²ããã£ããè¡ãããšããã®ã¯ PR ã¬ãã¥ãŒã§ãšã³ãžãã¢ãå£ãé žã£ã±ãããŠããèšãããããšã§ã¯ãããŸããããããžãã¯ã®äžã§ããã¢ããªã®ä»æ§ã«äŸåãããã®ãšããã§ãªãæ®éçãªãã®ã¯åé¢ãã¹ãããšããã¢ã€ãã¢ã¯å人çã«ã¯çŒããé±ãèœã¡ããã®ã§ããã ãŸããããã説æãããªããŒã·ã®å ·äœäŸïŒã察æŠçžæã人éã AI ããã¯ã¢ããªä»æ§ã«äŸåããããžãã¯ããããã«ç³ã眮ããããã¯æ®éçãªããžãã¯ïŒãªããŒã·ã®ã«ãŒã«ãã®ãã®ïŒãéåžžã«ããããããã£ãã§ãã ãã®ã»ããReact / Redux ã§ããã³ããšã³ãéçºãè¡ã£ãŠãã人ã«ã¯ã銎æã¿ã® Action / Reducer ã䜿ã£ãåäžæ¹åã®ããŒã¿ãããŒã®å°å ¥ãªã©ã玹ä»ãããŠããŸãã æ°èŠæ©èœéçºããã¢ãžã¥ãŒã«åå²ãå§ããŠã¿ã speakerdeck.com äžã€ã®ã¢ããªãé·æééçšãããŠãããªãã§ãè€æ°ã®æ©èœãçµ±åãããã¹ãŒããŒã¢ããªã«ãªãããšããããŸãããããªã£ãå ŽåããœãŒã¹ã³ãŒããè¥å€§å â ãã«ãã»ãã¹ããé·å€§åããšãªã£ãŠã¡ã³ããã³ã¹æ§ãäœäžããããã察çãšããŠã³ãŒããåå²ããŠãã¹ãããã«ãã®åäœãå°ããããå¿ èŠããããŸãã ãããªãã¢ããªå šäœãã¢ãžã¥ãŒã«ã«åå²ããã®ã¯æéãããããããæ¬ã»ãã·ã§ã³ã§ã¯ãŸãç¬¬äžæ®µéãšããŠæ°èŠã«éçºããæ©èœãå¥ã¢ãžã¥ãŒã«ãšããŠå®è£ ãããã®æåŸãç¥èŠã«ã€ããŠè§ŠããããŠããŸããã ãåå²ããã¢ãžã¥ãŒã«åŽã§ã®ãµãŒãããŒãã£è£œãã¬ãŒã ã¯ãŒã¯ã®ãªã³ã¯æ¹æ³ïŒâ»ãªã³ã¯ãæ£ããè¡ããªããšããã«ãããŠåäœã¯ããã®ã«ã¢ãŒã«ã€ãã«å€±æããŠãªãªãŒã¹ã§ããªããªãïŒããªã©ã¯ãä»åŸã®éçºã«ã¢ãžã¥ãŒã«åå²ãåãå ¥ããŠããéã«åèã«ãªãããã§ãã Swift ã§å§ããéçè§£æ speakerdeck.com Swift ãœãŒã¹ã³ãŒãããã®æ§ææšã®çæãè§£æãè¡ãã©ã€ãã©ãª SwiftSyntax ã®ç޹ä»ãšããããçšãããœãŒã¹ã³ãŒãéè€æ€åºæ©èœã®å®è£ ã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã æ®æ®µ Xcode ãå§ããšãã IDE ã§éçºããŠãããšãã³ãŒãéè€ãäžèŠãªããŒã«ã«å€æ°ãåã Nullable ã®äžäžèŽã«å€æ°ãªãã¡ã¯ã¿ãªã³ã°âŠçã ã®äŸ¿å©ãªæ©èœãæ°è»œã«äœ¿ããŠããŸããŸããããã®è£ã®åäœãæ¹ããŠäžã€ãã€å ·äœçã«è¿œã£ãŠãããšããã®ããããã¿ãèº«ã«æã¿ãŸãâŠã éçè§£æãã®ãã®ã¯ Swift ã«éããæ§ã ãªèšèªã®ãœãŒã¹ã³ãŒãã«å¯ŸããŠé©çšã§ãããããã¯ã§ã¯ããã®ã§ãããæ®æ®µäœæ°ãªã䜿ã£ãŠããŸã IDE ã®æ©èœã«ã€ããŠèããããæ©äŒã«ãªã£ãããã玹ä»ãããŠããã ããŸããã ãŸãšã ã¡ããã©æ¥åã§ã iOS ã¢ããªéçºãæ åœããŠããããšããããè峿·±ãç¥èŠãåŸãããããçµéšãšãªããŸããããŸããäºåé²ç»åœ¢åŒã«ãªã£ãããšã§çºè¡šã®æ§æãããç·ŽãããçµæãšããŠèããããïŒçæ§ããªãæ°ãã€ããŠãã£ããçºå£°ãããŠããŸããïŒãåæ§ã®ããçºè¡šãå€ãã£ãããã«æããŸãã ä»åãåã®ãªã³ã©ã€ã³ã§ã®éå¬ãšããããšã§ãéå¶å§å¡äŒã®çæ§ããããããšèŠåŽãããŠããã£ãããããã§ããããã ããã®ç²æãã£ãŠãåœæ¥ã®é²è¡ã¯ã¹ã ãŒãºã§ãäŒå Žã¯ãšãŠãçãäžãã£ãŠããŸãããé¢ä¿è ã®çæ§ãæ¬åœã«ãç²ãæ§ã§ããã æ å¢ãèžãŸããæ¥å¹ŽåºŠã®éå¬å¯åŠã»åœ¢åŒã¯æªå®ãšã®ããšã§ãããããªã³ã©ã€ã³ã»å¯Ÿé¢ã®ããããã®è¯ããåãå ¥ãã€ã€ãããå€ãã®äººãåå ã§ãã圢æ ã«ãªã£ãŠãããšãããªãšæããŸãã å ¬åŒ YouTube ãã£ã³ãã« ã§éå»ã®çºè¡šãèŠèŽã§ããŸãã®ã§ããèå³ã®ããæ¹ã¯ãã²ã©ããïŒä»å¹Žã®çºè¡šåãäžã¶æã»ã©ãããå ¬éããããšã®ããšã§ããïŒã ãŸãã¡ãã¬ãŒã§ã¯ iOS / Android ãã€ãã£ãã¢ããªéçºãšã³ãžãã¢ãåéããŠããŸããèå³ãããæ¹ããã²ãæ°è»œã«ã話ããŸããã! www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/02
<![CDATA[ iOSDC Japan 2020 ã«ã¡ãã¬ãŒãåè³ããŸãã ]]>
çæ§ããã«ã¡ã¯ãã€ã³ãã¥ããŒã·ã§ã³æ¬éšãšã³ãžãã¢ã®æ¿±äžã§ãã 9/19ã21 ã« iOSDC Japan 2020 ïŒä»¥äž iOSDCïŒãéå¬ãããŸããã å æ¥ã®èšäº ã®éããã¡ãã¬ãŒã¯ 2017 幎ãã iOSDC ã« åè³ ããŠãããŸãã ã¡ãã¬ãŒã§ã¯ãSwift ãå©çšããŠãªã³ã©ã€ã³èšºçïŒæè¬æå°ã¢ããªãCLINICSãiOS çã®éçºãããŠããŸãã CLINICS(ã¯ãªãã¯ã¹)ããªã³ã©ã€ã³èšºçã»æè¬æå°ã¢ã㪠5 åç®ãšãªãä»åã¯ãåã®ãªã³ã©ã€ã³éå¬ãšãªããäž»ã«ãã³ãã³çæŸéãDiscord äžã§çºè¡šã»ã³ãã¥ãã±ãŒã·ã§ã³ãè¡ãããŸãããç§ã iOS ç CLINICS ã®éçºã«æºãã£ãŠããçžã§ãä»åã¹ãã³ãµãŒæ ãšã㊠iOSDC ã«åå ãããŠããã ããŸããã®ã§ç޹ä»ãããŠããã ããŸãã ã€ãã³ãå šäœã«ã€ã㊠ãªã³ã©ã€ã³éå¬ãšãªã£ããããäŒå Žã®æ§åãäŒæ¥ããŒã¹ãªã©ãé°å²æ°ã®äŒããåçããå±ãã§ããªãã®ãæ®å¿µã§ãããçºè¡šã®äž»äŒå Žãšãªã£ããã³ãã³çæŸéã§ã¯ãçµå§ç©ãããªé°å²æ°ã§ããã€ã€ã掻çºã«ã³ã¡ã³ãããªããã倧ãã«çãäžãã£ãŠããŸããã åååæ§ãåæ¥ã¯ day 0 ãšããŠå€æ¹ããã2 æ¥ç®ä»¥éã¯æã倿¹ãŸã§ãæå€§ 5 ã€ã®ãã£ã³ãã«ã§äžŠè¡ããŠçºè¡šãè¡ãããŸãããã»ãã·ã§ã³ã«ã€ããŠã¯äºåã«é²ç»ãããã®ãæŸéããLT ã®ã¿ãªã¢ãŒãã«ãŠãªã¢ã«ã¿ã€ã çºè¡šãšãã圢åŒãšãªã£ãŠããŸããã 質çå¿çã«ã€ããŠã¯ãåçºè¡šã®çµäºçŽåŸã« Discord ãã£ã³ãã«ã«çºè¡šè ãåŸ æ©ããŠå¯Ÿå¿ããŠããŸãããåã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãã€ã³ãããã¯ã·ã§ã³åç»ãã¯ãããšããåæã§ç©æ¥µçãªãã£ãŒãããã¯ã»ã³ãã¥ãã±ãŒã·ã§ã³ã奚å±ãããŠããããã«æããŸãïŒãªããã€ã³ãããã¯ã·ã§ã³ã»ã¹ãã³ãµãŒç޹ä»ã®ååç»ã¯ãã¬ãŒã·ã§ã³ã声åªã®ç·æ¹æµçŸããã»äžç³çŽä¹ãããšããšãŠã豪è¯ã§ãããçæŸéäžã®ã³ã¡ã³ããã 18 幎ã®åŒç€Ÿããã° ãèŠãéãã¯æ¯å¹ŽæäŸã®ããã§ããããããã§ãïŒïŒã ã»ãã·ã§ã³ã«ã€ã㊠æšå¹Ž iOS13 ãšãšãã«çºè¡šããã SwiftUI ãžã®ç§»è¡ããã³ãŒãç§»è¡ã»ã¢ãžã¥ãŒã«åå²çããããžã§ã¯ãã®æé©åã«ã€ããŠã®ãããã¯ãå€ãã£ãããã«æããŸãã SwiftUI ã¯ãåŸæ¥ Storyboard ã§èšèšããŠãã UI ãã³ãŒãããŒã¹ã§èšè¿°ã§ããç»æçãªãã¬ãŒã ã¯ãŒã¯ã§ãããSwiftUI ã䜿ã£ãã¢ããªã¯ iOS13 æªæºã®ç«¯æ«ã§ã¯å©çšã§ããªããªã£ãŠããŸãããšããããã¢ããªã®å ¬é察象ãåºãã«ãã£ãŠããããå Žåã¯ãªããªãä¹ãæãã¥ããå°è±¡ã§ããã2020 幎 6 æçŸåšã§ iOS13 ã®ã·ã§ã¢ã 9 å²ä»¥äžãšãªã£ãããšã§ãã¡ããã© iOSDC ã§ã®çºè¡šãããã¯ã決ããããã«å°å ¥äœæ¥ãè¡ã£ãïŒãã€èŠåŽããïŒãšããã±ãŒã¹ãå€ãã£ãã®ããªããšæããŸãã 以äžãèŠèŽããã»ãã·ã§ã³ã®ãã¡æ°ã«ãªã£ããã®ãããã€ãã玹ä»ããããŸãã ãªãŒãã³ãœãŒã¹ã® AltSwiftUI ã®çºè¡š fortee.jp 楜倩ã®ãšã³ãžãã¢ã®æ¹ã«ãããSwiftUI ã®æäŸãããã€ãã£ãã³ã³ããŒãã³ãã«å¯Ÿå¿ãã€ã€ãiOS11 以äžã§å©çšå¯èœãªãªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ AltSwiftUI ïŒ å ¬åŒ Doc ïŒã®éçºã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã iOS12 以äžã®å¯Ÿå¿ãåããã« SwiftUI ãžã®ä¹ãæããé²ããããïŒãã€æ¬å®¶ãšéã£ãŠãªãŒãã³ãœãŒã¹ã§ããïŒäŸ¿å©ããããã§ãããå¥éãã¬ãŒã ã¯ãŒã¯ãåºæ¥äžãã£ãŠããŸããããã«ãSwiftUI ãžã®ç§»è¡å¯Ÿå¿ãžã®èŠåŽããã®ã°ããå 容ã§ããããŸããïŒã¹ãã¢ã«ããæ¥œå€©æäŸã® iOS ã¢ããªã®æ°ãèãããšä¹ãæãã³ã¹ãã倧å€ããâŠïŒã ããããèªååã§ããŸããã: note ãæ¯ããã¯ãŒã¯ãããŒå€§å š speakerdeck.com æ¹ä¿®èŠæãäžãã£ãŠãããå®éã«æ¹ä¿®ãè¡ã£ãŠã¢ããªããªãªãŒã¹ãããŸã§ã®äœæ¥ãã§ããéãèªååããããšããã»ãã·ã§ã³ã§ããCLINICS ã§ãããèšŒææžã®æå¹æé確èªãããã·ã¥ããã®ãã¹ããããŒãžããã®ãªãªãŒã¹æºåã㯠Bitrise ã®ããªã¬ãå©çšããŠèªååããŠããŸãã äžèšã®ãããªãGitHub äžã§ã®ã¢ã¯ã·ã§ã³ïŒããã·ã¥ãããŒãžãªã©ïŒãããªã¬ãšããèªååã¯ããèã話ã§ã¯ããã®ã§ãããSlack ã®ãã¹ãã«ç¹å®ã®ã¹ã¿ã³ãã€ãããš Issue åãã¯ã¡ãã£ãšç®æ°ãããŠé¢çœããªãšæããŸããïŒæ°ãã€ããªããšè¡šèšæºãã§åããã㪠Issue ãä¹±ç«ãããã§ããïŒã Issue ããã¡ããšç®¡çããŠãããªããšãã©ãã«ã®èµ·ããããéšåã§ãããã起祚è ãšå®è£ è ã®éã§ããŒã«ãæµ®ããŠããŸã£ããããããžã§ã¯ãã«çŽã¥ããŠããªãã£ãããã«å¯Ÿå¿ããæŽ©ããŠããŸã£ããâŠã ãŸãããã®ã¹ã©ã€ãã§ããçµå§ææžãã®æ¿çµµããããããŠããããã£ãæå³ã§ãã³ã¡ã³ãæ¬ãçãäžãã£ãŠããã®ãå°è±¡çã§ããã 100 人ã§ã¢ããªããªãã¡ã¯ã¿ãªã³ã°ããŠèŠããŠãããæåŒ·ã® iOS ã¢ããªèšèšã«æ±ããããããš fortee.jp ã¢ããªãé·æã«éçšããŠãããšã»ãŒå¿ é ãšãªã課é¡ã§ãããªããã人ããšã«åºæºãææ§ã ã£ãããæ©èœéçºã«ããããŠå¯Ÿå¿ãåŸæåŸæã«ãªã£ããâŠãšãäœããšã€ãã話ãããèããœãŒã¹ã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ã«é¢ããã»ãã·ã§ã³ã§ããã åãç¶æ ã®ãœãŒã¹ã³ãŒãã倿°ã®ãšã³ãžãã¢ããªãã¡ã¯ã¿ããçµæãæ¯èŒããããšã§ããè¯ããªãã¡ã¯ã¿ãªã³ã°ã®ããã®èãæ¹ããšã¯äœãïŒã暡玢ããå 容ã§ãã ãã¥ãŒãšããžãã¯ã®åå²ããã£ããè¡ãããšããã®ã¯ PR ã¬ãã¥ãŒã§ãšã³ãžãã¢ãå£ãé žã£ã±ãããŠããèšãããããšã§ã¯ãããŸããããããžãã¯ã®äžã§ããã¢ããªã®ä»æ§ã«äŸåãããã®ãšããã§ãªãæ®éçãªãã®ã¯åé¢ãã¹ãããšããã¢ã€ãã¢ã¯å人çã«ã¯çŒããé±ãèœã¡ããã®ã§ããã ãŸããããã説æãããªããŒã·ã®å ·äœäŸïŒã察æŠçžæã人éã AI ããã¯ã¢ããªä»æ§ã«äŸåããããžãã¯ããããã«ç³ã眮ããããã¯æ®éçãªããžãã¯ïŒãªããŒã·ã®ã«ãŒã«ãã®ãã®ïŒãéåžžã«ããããããã£ãã§ãã ãã®ã»ããReact / Redux ã§ããã³ããšã³ãéçºãè¡ã£ãŠãã人ã«ã¯ã銎æã¿ã® Action / Reducer ã䜿ã£ãåäžæ¹åã®ããŒã¿ãããŒã®å°å ¥ãªã©ã玹ä»ãããŠããŸãã æ°èŠæ©èœéçºããã¢ãžã¥ãŒã«åå²ãå§ããŠã¿ã speakerdeck.com äžã€ã®ã¢ããªãé·æééçšãããŠãããªãã§ãè€æ°ã®æ©èœãçµ±åãããã¹ãŒããŒã¢ããªã«ãªãããšããããŸãããããªã£ãå ŽåããœãŒã¹ã³ãŒããè¥å€§å â ãã«ãã»ãã¹ããé·å€§åããšãªã£ãŠã¡ã³ããã³ã¹æ§ãäœäžããããã察çãšããŠã³ãŒããåå²ããŠãã¹ãããã«ãã®åäœãå°ããããå¿ èŠããããŸãã ãããªãã¢ããªå šäœãã¢ãžã¥ãŒã«ã«åå²ããã®ã¯æéãããããããæ¬ã»ãã·ã§ã³ã§ã¯ãŸãç¬¬äžæ®µéãšããŠæ°èŠã«éçºããæ©èœãå¥ã¢ãžã¥ãŒã«ãšããŠå®è£ ãããã®æåŸãç¥èŠã«ã€ããŠè§ŠããããŠããŸããã ãåå²ããã¢ãžã¥ãŒã«åŽã§ã®ãµãŒãããŒãã£è£œãã¬ãŒã ã¯ãŒã¯ã®ãªã³ã¯æ¹æ³ïŒâ»ãªã³ã¯ãæ£ããè¡ããªããšããã«ãããŠåäœã¯ããã®ã«ã¢ãŒã«ã€ãã«å€±æããŠãªãªãŒã¹ã§ããªããªãïŒããªã©ã¯ãä»åŸã®éçºã«ã¢ãžã¥ãŒã«åå²ãåãå ¥ããŠããéã«åèã«ãªãããã§ãã Swift ã§å§ããéçè§£æ speakerdeck.com Swift ãœãŒã¹ã³ãŒãããã®æ§ææšã®çæãè§£æãè¡ãã©ã€ãã©ãª SwiftSyntax ã®ç޹ä»ãšããããçšãããœãŒã¹ã³ãŒãéè€æ€åºæ©èœã®å®è£ ã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã æ®æ®µ Xcode ãå§ããšãã IDE ã§éçºããŠãããšãã³ãŒãéè€ãäžèŠãªããŒã«ã«å€æ°ãåã Nullable ã®äžäžèŽã«å€æ°ãªãã¡ã¯ã¿ãªã³ã°âŠçã ã®äŸ¿å©ãªæ©èœãæ°è»œã«äœ¿ããŠããŸããŸããããã®è£ã®åäœãæ¹ããŠäžã€ãã€å ·äœçã«è¿œã£ãŠãããšããã®ããããã¿ãèº«ã«æã¿ãŸãâŠã éçè§£æãã®ãã®ã¯ Swift ã«éããæ§ã ãªèšèªã®ãœãŒã¹ã³ãŒãã«å¯ŸããŠé©çšã§ãããããã¯ã§ã¯ããã®ã§ãããæ®æ®µäœæ°ãªã䜿ã£ãŠããŸã IDE ã®æ©èœã«ã€ããŠèããããæ©äŒã«ãªã£ãããã玹ä»ãããŠããã ããŸããã ãŸãšã ã¡ããã©æ¥åã§ã iOS ã¢ããªéçºãæ åœããŠããããšããããè峿·±ãç¥èŠãåŸãããããçµéšãšãªããŸããããŸããäºåé²ç»åœ¢åŒã«ãªã£ãããšã§çºè¡šã®æ§æãããç·ŽãããçµæãšããŠèããããïŒçæ§ããªãæ°ãã€ããŠãã£ããçºå£°ãããŠããŸããïŒãåæ§ã®ããçºè¡šãå€ãã£ãããã«æããŸãã ä»åãåã®ãªã³ã©ã€ã³ã§ã®éå¬ãšããããšã§ãéå¶å§å¡äŒã®çæ§ããããããšèŠåŽãããŠããã£ãããããã§ããããã ããã®ç²æãã£ãŠãåœæ¥ã®é²è¡ã¯ã¹ã ãŒãºã§ãäŒå Žã¯ãšãŠãçãäžãã£ãŠããŸãããé¢ä¿è ã®çæ§ãæ¬åœã«ãç²ãæ§ã§ããã æ å¢ãèžãŸããæ¥å¹ŽåºŠã®éå¬å¯åŠã»åœ¢åŒã¯æªå®ãšã®ããšã§ãããããªã³ã©ã€ã³ã»å¯Ÿé¢ã®ããããã®è¯ããåãå ¥ãã€ã€ãããå€ãã®äººãåå ã§ãã圢æ ã«ãªã£ãŠãããšãããªãšæããŸãã å ¬åŒ YouTube ãã£ã³ãã« ã§éå»ã®çºè¡šãèŠèŽã§ããŸãã®ã§ããèå³ã®ããæ¹ã¯ãã²ã©ããïŒä»å¹Žã®çºè¡šåãäžã¶æã»ã©ãããå ¬éããããšã®ããšã§ããïŒã ãŸãã¡ãã¬ãŒã§ã¯ iOS / Android ãã€ãã£ãã¢ããªéçºãšã³ãžãã¢ãåéããŠããŸããèå³ãããæ¹ããã²ãæ°è»œã«ã話ããŸããã! www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/02
<![CDATA[ iOSDC Japan 2020 ã«ã¡ãã¬ãŒãåè³ããŸãã ]]>
çæ§ããã«ã¡ã¯ãã€ã³ãã¥ããŒã·ã§ã³æ¬éšãšã³ãžãã¢ã®æ¿±äžã§ãã 9/19ã21 ã« iOSDC Japan 2020 ïŒä»¥äž iOSDCïŒãéå¬ãããŸããã å æ¥ã®èšäº ã®éããã¡ãã¬ãŒã¯ 2017 幎ãã iOSDC ã« åè³ ããŠãããŸãã ã¡ãã¬ãŒã§ã¯ãSwift ãå©çšããŠãªã³ã©ã€ã³èšºçïŒæè¬æå°ã¢ããªãCLINICSãiOS çã®éçºãããŠããŸãã CLINICS(ã¯ãªãã¯ã¹)ããªã³ã©ã€ã³èšºçã»æè¬æå°ã¢ã㪠5 åç®ãšãªãä»åã¯ãåã®ãªã³ã©ã€ã³éå¬ãšãªããäž»ã«ãã³ãã³çæŸéãDiscord äžã§çºè¡šã»ã³ãã¥ãã±ãŒã·ã§ã³ãè¡ãããŸãããç§ã iOS ç CLINICS ã®éçºã«æºãã£ãŠããçžã§ãä»åã¹ãã³ãµãŒæ ãšã㊠iOSDC ã«åå ãããŠããã ããŸããã®ã§ç޹ä»ãããŠããã ããŸãã ã€ãã³ãå šäœã«ã€ã㊠ãªã³ã©ã€ã³éå¬ãšãªã£ããããäŒå Žã®æ§åãäŒæ¥ããŒã¹ãªã©ãé°å²æ°ã®äŒããåçããå±ãã§ããªãã®ãæ®å¿µã§ãããçºè¡šã®äž»äŒå Žãšãªã£ããã³ãã³çæŸéã§ã¯ãçµå§ç©ãããªé°å²æ°ã§ããã€ã€ã掻çºã«ã³ã¡ã³ãããªããã倧ãã«çãäžãã£ãŠããŸããã åååæ§ãåæ¥ã¯ day 0 ãšããŠå€æ¹ããã2 æ¥ç®ä»¥éã¯æã倿¹ãŸã§ãæå€§ 5 ã€ã®ãã£ã³ãã«ã§äžŠè¡ããŠçºè¡šãè¡ãããŸãããã»ãã·ã§ã³ã«ã€ããŠã¯äºåã«é²ç»ãããã®ãæŸéããLT ã®ã¿ãªã¢ãŒãã«ãŠãªã¢ã«ã¿ã€ã çºè¡šãšãã圢åŒãšãªã£ãŠããŸããã 質çå¿çã«ã€ããŠã¯ãåçºè¡šã®çµäºçŽåŸã« Discord ãã£ã³ãã«ã«çºè¡šè ãåŸ æ©ããŠå¯Ÿå¿ããŠããŸãããåã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãã€ã³ãããã¯ã·ã§ã³åç»ãã¯ãããšããåæã§ç©æ¥µçãªãã£ãŒãããã¯ã»ã³ãã¥ãã±ãŒã·ã§ã³ã奚å±ãããŠããããã«æããŸãïŒãªããã€ã³ãããã¯ã·ã§ã³ã»ã¹ãã³ãµãŒç޹ä»ã®ååç»ã¯ãã¬ãŒã·ã§ã³ã声åªã®ç·æ¹æµçŸããã»äžç³çŽä¹ãããšããšãŠã豪è¯ã§ãããçæŸéäžã®ã³ã¡ã³ããã 18 幎ã®åŒç€Ÿããã° ãèŠãéãã¯æ¯å¹ŽæäŸã®ããã§ããããããã§ãïŒïŒã ã»ãã·ã§ã³ã«ã€ã㊠æšå¹Ž iOS13 ãšãšãã«çºè¡šããã SwiftUI ãžã®ç§»è¡ããã³ãŒãç§»è¡ã»ã¢ãžã¥ãŒã«åå²çããããžã§ã¯ãã®æé©åã«ã€ããŠã®ãããã¯ãå€ãã£ãããã«æããŸãã SwiftUI ã¯ãåŸæ¥ Storyboard ã§èšèšããŠãã UI ãã³ãŒãããŒã¹ã§èšè¿°ã§ããç»æçãªãã¬ãŒã ã¯ãŒã¯ã§ãããSwiftUI ã䜿ã£ãã¢ããªã¯ iOS13 æªæºã®ç«¯æ«ã§ã¯å©çšã§ããªããªã£ãŠããŸãããšããããã¢ããªã®å ¬é察象ãåºãã«ãã£ãŠããããå Žåã¯ãªããªãä¹ãæãã¥ããå°è±¡ã§ããã2020 幎 6 æçŸåšã§ iOS13 ã®ã·ã§ã¢ã 9 å²ä»¥äžãšãªã£ãããšã§ãã¡ããã© iOSDC ã§ã®çºè¡šãããã¯ã決ããããã«å°å ¥äœæ¥ãè¡ã£ãïŒãã€èŠåŽããïŒãšããã±ãŒã¹ãå€ãã£ãã®ããªããšæããŸãã 以äžãèŠèŽããã»ãã·ã§ã³ã®ãã¡æ°ã«ãªã£ããã®ãããã€ãã玹ä»ããããŸãã ãªãŒãã³ãœãŒã¹ã® AltSwiftUI ã®çºè¡š fortee.jp 楜倩ã®ãšã³ãžãã¢ã®æ¹ã«ãããSwiftUI ã®æäŸãããã€ãã£ãã³ã³ããŒãã³ãã«å¯Ÿå¿ãã€ã€ãiOS11 以äžã§å©çšå¯èœãªãªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ AltSwiftUI ïŒ å ¬åŒ Doc ïŒã®éçºã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã iOS12 以äžã®å¯Ÿå¿ãåããã« SwiftUI ãžã®ä¹ãæããé²ããããïŒãã€æ¬å®¶ãšéã£ãŠãªãŒãã³ãœãŒã¹ã§ããïŒäŸ¿å©ããããã§ãããå¥éãã¬ãŒã ã¯ãŒã¯ãåºæ¥äžãã£ãŠããŸããããã«ãSwiftUI ãžã®ç§»è¡å¯Ÿå¿ãžã®èŠåŽããã®ã°ããå 容ã§ããããŸããïŒã¹ãã¢ã«ããæ¥œå€©æäŸã® iOS ã¢ããªã®æ°ãèãããšä¹ãæãã³ã¹ãã倧å€ããâŠïŒã ããããèªååã§ããŸããã: note ãæ¯ããã¯ãŒã¯ãããŒå€§å š speakerdeck.com æ¹ä¿®èŠæãäžãã£ãŠãããå®éã«æ¹ä¿®ãè¡ã£ãŠã¢ããªããªãªãŒã¹ãããŸã§ã®äœæ¥ãã§ããéãèªååããããšããã»ãã·ã§ã³ã§ããCLINICS ã§ãããèšŒææžã®æå¹æé確èªãããã·ã¥ããã®ãã¹ããããŒãžããã®ãªãªãŒã¹æºåã㯠Bitrise ã®ããªã¬ãå©çšããŠèªååããŠããŸãã äžèšã®ãããªãGitHub äžã§ã®ã¢ã¯ã·ã§ã³ïŒããã·ã¥ãããŒãžãªã©ïŒãããªã¬ãšããèªååã¯ããèã話ã§ã¯ããã®ã§ãããSlack ã®ãã¹ãã«ç¹å®ã®ã¹ã¿ã³ãã€ãããš Issue åãã¯ã¡ãã£ãšç®æ°ãããŠé¢çœããªãšæããŸããïŒæ°ãã€ããªããšè¡šèšæºãã§åããã㪠Issue ãä¹±ç«ãããã§ããïŒã Issue ããã¡ããšç®¡çããŠãããªããšãã©ãã«ã®èµ·ããããéšåã§ãããã起祚è ãšå®è£ è ã®éã§ããŒã«ãæµ®ããŠããŸã£ããããããžã§ã¯ãã«çŽã¥ããŠããªãã£ãããã«å¯Ÿå¿ããæŽ©ããŠããŸã£ããâŠã ãŸãããã®ã¹ã©ã€ãã§ããçµå§ææžãã®æ¿çµµããããããŠããããã£ãæå³ã§ãã³ã¡ã³ãæ¬ãçãäžãã£ãŠããã®ãå°è±¡çã§ããã 100 人ã§ã¢ããªããªãã¡ã¯ã¿ãªã³ã°ããŠèŠããŠãããæåŒ·ã® iOS ã¢ããªèšèšã«æ±ããããããš fortee.jp ã¢ããªãé·æã«éçšããŠãããšã»ãŒå¿ é ãšãªã課é¡ã§ãããªããã人ããšã«åºæºãææ§ã ã£ãããæ©èœéçºã«ããããŠå¯Ÿå¿ãåŸæåŸæã«ãªã£ããâŠãšãäœããšã€ãã話ãããèããœãŒã¹ã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ã«é¢ããã»ãã·ã§ã³ã§ããã åãç¶æ ã®ãœãŒã¹ã³ãŒãã倿°ã®ãšã³ãžãã¢ããªãã¡ã¯ã¿ããçµæãæ¯èŒããããšã§ããè¯ããªãã¡ã¯ã¿ãªã³ã°ã®ããã®èãæ¹ããšã¯äœãïŒã暡玢ããå 容ã§ãã ãã¥ãŒãšããžãã¯ã®åå²ããã£ããè¡ãããšããã®ã¯ PR ã¬ãã¥ãŒã§ãšã³ãžãã¢ãå£ãé žã£ã±ãããŠããèšãããããšã§ã¯ãããŸããããããžãã¯ã®äžã§ããã¢ããªã®ä»æ§ã«äŸåãããã®ãšããã§ãªãæ®éçãªãã®ã¯åé¢ãã¹ãããšããã¢ã€ãã¢ã¯å人çã«ã¯çŒããé±ãèœã¡ããã®ã§ããã ãŸããããã説æãããªããŒã·ã®å ·äœäŸïŒã察æŠçžæã人éã AI ããã¯ã¢ããªä»æ§ã«äŸåããããžãã¯ããããã«ç³ã眮ããããã¯æ®éçãªããžãã¯ïŒãªããŒã·ã®ã«ãŒã«ãã®ãã®ïŒãéåžžã«ããããããã£ãã§ãã ãã®ã»ããReact / Redux ã§ããã³ããšã³ãéçºãè¡ã£ãŠãã人ã«ã¯ã銎æã¿ã® Action / Reducer ã䜿ã£ãåäžæ¹åã®ããŒã¿ãããŒã®å°å ¥ãªã©ã玹ä»ãããŠããŸãã æ°èŠæ©èœéçºããã¢ãžã¥ãŒã«åå²ãå§ããŠã¿ã speakerdeck.com äžã€ã®ã¢ããªãé·æééçšãããŠãããªãã§ãè€æ°ã®æ©èœãçµ±åãããã¹ãŒããŒã¢ããªã«ãªãããšããããŸãããããªã£ãå ŽåããœãŒã¹ã³ãŒããè¥å€§å â ãã«ãã»ãã¹ããé·å€§åããšãªã£ãŠã¡ã³ããã³ã¹æ§ãäœäžããããã察çãšããŠã³ãŒããåå²ããŠãã¹ãããã«ãã®åäœãå°ããããå¿ èŠããããŸãã ãããªãã¢ããªå šäœãã¢ãžã¥ãŒã«ã«åå²ããã®ã¯æéãããããããæ¬ã»ãã·ã§ã³ã§ã¯ãŸãç¬¬äžæ®µéãšããŠæ°èŠã«éçºããæ©èœãå¥ã¢ãžã¥ãŒã«ãšããŠå®è£ ãããã®æåŸãç¥èŠã«ã€ããŠè§ŠããããŠããŸããã ãåå²ããã¢ãžã¥ãŒã«åŽã§ã®ãµãŒãããŒãã£è£œãã¬ãŒã ã¯ãŒã¯ã®ãªã³ã¯æ¹æ³ïŒâ»ãªã³ã¯ãæ£ããè¡ããªããšããã«ãããŠåäœã¯ããã®ã«ã¢ãŒã«ã€ãã«å€±æããŠãªãªãŒã¹ã§ããªããªãïŒããªã©ã¯ãä»åŸã®éçºã«ã¢ãžã¥ãŒã«åå²ãåãå ¥ããŠããéã«åèã«ãªãããã§ãã Swift ã§å§ããéçè§£æ speakerdeck.com Swift ãœãŒã¹ã³ãŒãããã®æ§ææšã®çæãè§£æãè¡ãã©ã€ãã©ãª SwiftSyntax ã®ç޹ä»ãšããããçšãããœãŒã¹ã³ãŒãéè€æ€åºæ©èœã®å®è£ ã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã æ®æ®µ Xcode ãå§ããšãã IDE ã§éçºããŠãããšãã³ãŒãéè€ãäžèŠãªããŒã«ã«å€æ°ãåã Nullable ã®äžäžèŽã«å€æ°ãªãã¡ã¯ã¿ãªã³ã°âŠçã ã®äŸ¿å©ãªæ©èœãæ°è»œã«äœ¿ããŠããŸããŸããããã®è£ã®åäœãæ¹ããŠäžã€ãã€å ·äœçã«è¿œã£ãŠãããšããã®ããããã¿ãèº«ã«æã¿ãŸãâŠã éçè§£æãã®ãã®ã¯ Swift ã«éããæ§ã ãªèšèªã®ãœãŒã¹ã³ãŒãã«å¯ŸããŠé©çšã§ãããããã¯ã§ã¯ããã®ã§ãããæ®æ®µäœæ°ãªã䜿ã£ãŠããŸã IDE ã®æ©èœã«ã€ããŠèããããæ©äŒã«ãªã£ãããã玹ä»ãããŠããã ããŸããã ãŸãšã ã¡ããã©æ¥åã§ã iOS ã¢ããªéçºãæ åœããŠããããšããããè峿·±ãç¥èŠãåŸãããããçµéšãšãªããŸããããŸããäºåé²ç»åœ¢åŒã«ãªã£ãããšã§çºè¡šã®æ§æãããç·ŽãããçµæãšããŠèããããïŒçæ§ããªãæ°ãã€ããŠãã£ããçºå£°ãããŠããŸããïŒãåæ§ã®ããçºè¡šãå€ãã£ãããã«æããŸãã ä»åãåã®ãªã³ã©ã€ã³ã§ã®éå¬ãšããããšã§ãéå¶å§å¡äŒã®çæ§ããããããšèŠåŽãããŠããã£ãããããã§ããããã ããã®ç²æãã£ãŠãåœæ¥ã®é²è¡ã¯ã¹ã ãŒãºã§ãäŒå Žã¯ãšãŠãçãäžãã£ãŠããŸãããé¢ä¿è ã®çæ§ãæ¬åœã«ãç²ãæ§ã§ããã æ å¢ãèžãŸããæ¥å¹ŽåºŠã®éå¬å¯åŠã»åœ¢åŒã¯æªå®ãšã®ããšã§ãããããªã³ã©ã€ã³ã»å¯Ÿé¢ã®ããããã®è¯ããåãå ¥ãã€ã€ãããå€ãã®äººãåå ã§ãã圢æ ã«ãªã£ãŠãããšãããªãšæããŸãã å ¬åŒ YouTube ãã£ã³ãã« ã§éå»ã®çºè¡šãèŠèŽã§ããŸãã®ã§ããèå³ã®ããæ¹ã¯ãã²ã©ããïŒä»å¹Žã®çºè¡šåãäžã¶æã»ã©ãããå ¬éããããšã®ããšã§ããïŒã ãŸãã¡ãã¬ãŒã§ã¯ iOS / Android ãã€ãã£ãã¢ããªéçºãšã³ãžãã¢ãåéããŠããŸããèå³ãããæ¹ããã²ãæ°è»œã«ã話ããŸããã! www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/10/02
<![CDATA[ iOSDC Japan 2020 ã«ã¡ãã¬ãŒãåè³ããŸãã ]]>
çæ§ããã«ã¡ã¯ãã€ã³ãã¥ããŒã·ã§ã³æ¬éšãšã³ãžãã¢ã®æ¿±äžã§ãã 9/19ã21 ã« iOSDC Japan 2020 ïŒä»¥äž iOSDCïŒãéå¬ãããŸããã å æ¥ã®èšäº ã®éããã¡ãã¬ãŒã¯ 2017 幎ãã iOSDC ã« åè³ ããŠãããŸãã ã¡ãã¬ãŒã§ã¯ãSwift ãå©çšããŠãªã³ã©ã€ã³èšºçïŒæè¬æå°ã¢ããªãCLINICSãiOS çã®éçºãããŠããŸãã CLINICS(ã¯ãªãã¯ã¹)ããªã³ã©ã€ã³èšºçã»æè¬æå°ã¢ã㪠5 åç®ãšãªãä»åã¯ãåã®ãªã³ã©ã€ã³éå¬ãšãªããäž»ã«ãã³ãã³çæŸéãDiscord äžã§çºè¡šã»ã³ãã¥ãã±ãŒã·ã§ã³ãè¡ãããŸãããç§ã iOS ç CLINICS ã®éçºã«æºãã£ãŠããçžã§ãä»åã¹ãã³ãµãŒæ ãšã㊠iOSDC ã«åå ãããŠããã ããŸããã®ã§ç޹ä»ãããŠããã ããŸãã ã€ãã³ãå šäœã«ã€ã㊠ãªã³ã©ã€ã³éå¬ãšãªã£ããããäŒå Žã®æ§åãäŒæ¥ããŒã¹ãªã©ãé°å²æ°ã®äŒããåçããå±ãã§ããªãã®ãæ®å¿µã§ãããçºè¡šã®äž»äŒå Žãšãªã£ããã³ãã³çæŸéã§ã¯ãçµå§ç©ãããªé°å²æ°ã§ããã€ã€ã掻çºã«ã³ã¡ã³ãããªããã倧ãã«çãäžãã£ãŠããŸããã åååæ§ãåæ¥ã¯ day 0 ãšããŠå€æ¹ããã2 æ¥ç®ä»¥éã¯æã倿¹ãŸã§ãæå€§ 5 ã€ã®ãã£ã³ãã«ã§äžŠè¡ããŠçºè¡šãè¡ãããŸãããã»ãã·ã§ã³ã«ã€ããŠã¯äºåã«é²ç»ãããã®ãæŸéããLT ã®ã¿ãªã¢ãŒãã«ãŠãªã¢ã«ã¿ã€ã çºè¡šãšãã圢åŒãšãªã£ãŠããŸããã 質çå¿çã«ã€ããŠã¯ãåçºè¡šã®çµäºçŽåŸã« Discord ãã£ã³ãã«ã«çºè¡šè ãåŸ æ©ããŠå¯Ÿå¿ããŠããŸãããåã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãã€ã³ãããã¯ã·ã§ã³åç»ãã¯ãããšããåæã§ç©æ¥µçãªãã£ãŒãããã¯ã»ã³ãã¥ãã±ãŒã·ã§ã³ã奚å±ãããŠããããã«æããŸãïŒãªããã€ã³ãããã¯ã·ã§ã³ã»ã¹ãã³ãµãŒç޹ä»ã®ååç»ã¯ãã¬ãŒã·ã§ã³ã声åªã®ç·æ¹æµçŸããã»äžç³çŽä¹ãããšããšãŠã豪è¯ã§ãããçæŸéäžã®ã³ã¡ã³ããã 18 幎ã®åŒç€Ÿããã° ãèŠãéãã¯æ¯å¹ŽæäŸã®ããã§ããããããã§ãïŒïŒã ã»ãã·ã§ã³ã«ã€ã㊠æšå¹Ž iOS13 ãšãšãã«çºè¡šããã SwiftUI ãžã®ç§»è¡ããã³ãŒãç§»è¡ã»ã¢ãžã¥ãŒã«åå²çããããžã§ã¯ãã®æé©åã«ã€ããŠã®ãããã¯ãå€ãã£ãããã«æããŸãã SwiftUI ã¯ãåŸæ¥ Storyboard ã§èšèšããŠãã UI ãã³ãŒãããŒã¹ã§èšè¿°ã§ããç»æçãªãã¬ãŒã ã¯ãŒã¯ã§ãããSwiftUI ã䜿ã£ãã¢ããªã¯ iOS13 æªæºã®ç«¯æ«ã§ã¯å©çšã§ããªããªã£ãŠããŸãããšããããã¢ããªã®å ¬é察象ãåºãã«ãã£ãŠããããå Žåã¯ãªããªãä¹ãæãã¥ããå°è±¡ã§ããã2020 幎 6 æçŸåšã§ iOS13 ã®ã·ã§ã¢ã 9 å²ä»¥äžãšãªã£ãããšã§ãã¡ããã© iOSDC ã§ã®çºè¡šãããã¯ã決ããããã«å°å ¥äœæ¥ãè¡ã£ãïŒãã€èŠåŽããïŒãšããã±ãŒã¹ãå€ãã£ãã®ããªããšæããŸãã 以äžãèŠèŽããã»ãã·ã§ã³ã®ãã¡æ°ã«ãªã£ããã®ãããã€ãã玹ä»ããããŸãã ãªãŒãã³ãœãŒã¹ã® AltSwiftUI ã®çºè¡š fortee.jp 楜倩ã®ãšã³ãžãã¢ã®æ¹ã«ãããSwiftUI ã®æäŸãããã€ãã£ãã³ã³ããŒãã³ãã«å¯Ÿå¿ãã€ã€ãiOS11 以äžã§å©çšå¯èœãªãªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ AltSwiftUI ïŒ å ¬åŒ Doc ïŒã®éçºã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã iOS12 以äžã®å¯Ÿå¿ãåããã« SwiftUI ãžã®ä¹ãæããé²ããããïŒãã€æ¬å®¶ãšéã£ãŠãªãŒãã³ãœãŒã¹ã§ããïŒäŸ¿å©ããããã§ãããå¥éãã¬ãŒã ã¯ãŒã¯ãåºæ¥äžãã£ãŠããŸããããã«ãSwiftUI ãžã®ç§»è¡å¯Ÿå¿ãžã®èŠåŽããã®ã°ããå 容ã§ããããŸããïŒã¹ãã¢ã«ããæ¥œå€©æäŸã® iOS ã¢ããªã®æ°ãèãããšä¹ãæãã³ã¹ãã倧å€ããâŠïŒã ããããèªååã§ããŸããã: note ãæ¯ããã¯ãŒã¯ãããŒå€§å š speakerdeck.com æ¹ä¿®èŠæãäžãã£ãŠãããå®éã«æ¹ä¿®ãè¡ã£ãŠã¢ããªããªãªãŒã¹ãããŸã§ã®äœæ¥ãã§ããéãèªååããããšããã»ãã·ã§ã³ã§ããCLINICS ã§ãããèšŒææžã®æå¹æé確èªãããã·ã¥ããã®ãã¹ããããŒãžããã®ãªãªãŒã¹æºåã㯠Bitrise ã®ããªã¬ãå©çšããŠèªååããŠããŸãã äžèšã®ãããªãGitHub äžã§ã®ã¢ã¯ã·ã§ã³ïŒããã·ã¥ãããŒãžãªã©ïŒãããªã¬ãšããèªååã¯ããèã話ã§ã¯ããã®ã§ãããSlack ã®ãã¹ãã«ç¹å®ã®ã¹ã¿ã³ãã€ãããš Issue åãã¯ã¡ãã£ãšç®æ°ãããŠé¢çœããªãšæããŸããïŒæ°ãã€ããªããšè¡šèšæºãã§åããã㪠Issue ãä¹±ç«ãããã§ããïŒã Issue ããã¡ããšç®¡çããŠãããªããšãã©ãã«ã®èµ·ããããéšåã§ãããã起祚è ãšå®è£ è ã®éã§ããŒã«ãæµ®ããŠããŸã£ããããããžã§ã¯ãã«çŽã¥ããŠããªãã£ãããã«å¯Ÿå¿ããæŽ©ããŠããŸã£ããâŠã ãŸãããã®ã¹ã©ã€ãã§ããçµå§ææžãã®æ¿çµµããããããŠããããã£ãæå³ã§ãã³ã¡ã³ãæ¬ãçãäžãã£ãŠããã®ãå°è±¡çã§ããã 100 人ã§ã¢ããªããªãã¡ã¯ã¿ãªã³ã°ããŠèŠããŠãããæåŒ·ã® iOS ã¢ããªèšèšã«æ±ããããããš fortee.jp ã¢ããªãé·æã«éçšããŠãããšã»ãŒå¿ é ãšãªã課é¡ã§ãããªããã人ããšã«åºæºãææ§ã ã£ãããæ©èœéçºã«ããããŠå¯Ÿå¿ãåŸæåŸæã«ãªã£ããâŠãšãäœããšã€ãã話ãããèããœãŒã¹ã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ã«é¢ããã»ãã·ã§ã³ã§ããã åãç¶æ ã®ãœãŒã¹ã³ãŒãã倿°ã®ãšã³ãžãã¢ããªãã¡ã¯ã¿ããçµæãæ¯èŒããããšã§ããè¯ããªãã¡ã¯ã¿ãªã³ã°ã®ããã®èãæ¹ããšã¯äœãïŒã暡玢ããå 容ã§ãã ãã¥ãŒãšããžãã¯ã®åå²ããã£ããè¡ãããšããã®ã¯ PR ã¬ãã¥ãŒã§ãšã³ãžãã¢ãå£ãé žã£ã±ãããŠããèšãããããšã§ã¯ãããŸããããããžãã¯ã®äžã§ããã¢ããªã®ä»æ§ã«äŸåãããã®ãšããã§ãªãæ®éçãªãã®ã¯åé¢ãã¹ãããšããã¢ã€ãã¢ã¯å人çã«ã¯çŒããé±ãèœã¡ããã®ã§ããã ãŸããããã説æãããªããŒã·ã®å ·äœäŸïŒã察æŠçžæã人éã AI ããã¯ã¢ããªä»æ§ã«äŸåããããžãã¯ããããã«ç³ã眮ããããã¯æ®éçãªããžãã¯ïŒãªããŒã·ã®ã«ãŒã«ãã®ãã®ïŒãéåžžã«ããããããã£ãã§ãã ãã®ã»ããReact / Redux ã§ããã³ããšã³ãéçºãè¡ã£ãŠãã人ã«ã¯ã銎æã¿ã® Action / Reducer ã䜿ã£ãåäžæ¹åã®ããŒã¿ãããŒã®å°å ¥ãªã©ã玹ä»ãããŠããŸãã æ°èŠæ©èœéçºããã¢ãžã¥ãŒã«åå²ãå§ããŠã¿ã speakerdeck.com äžã€ã®ã¢ããªãé·æééçšãããŠãããªãã§ãè€æ°ã®æ©èœãçµ±åãããã¹ãŒããŒã¢ããªã«ãªãããšããããŸãããããªã£ãå ŽåããœãŒã¹ã³ãŒããè¥å€§å â ãã«ãã»ãã¹ããé·å€§åããšãªã£ãŠã¡ã³ããã³ã¹æ§ãäœäžããããã察çãšããŠã³ãŒããåå²ããŠãã¹ãããã«ãã®åäœãå°ããããå¿ èŠããããŸãã ãããªãã¢ããªå šäœãã¢ãžã¥ãŒã«ã«åå²ããã®ã¯æéãããããããæ¬ã»ãã·ã§ã³ã§ã¯ãŸãç¬¬äžæ®µéãšããŠæ°èŠã«éçºããæ©èœãå¥ã¢ãžã¥ãŒã«ãšããŠå®è£ ãããã®æåŸãç¥èŠã«ã€ããŠè§ŠããããŠããŸããã ãåå²ããã¢ãžã¥ãŒã«åŽã§ã®ãµãŒãããŒãã£è£œãã¬ãŒã ã¯ãŒã¯ã®ãªã³ã¯æ¹æ³ïŒâ»ãªã³ã¯ãæ£ããè¡ããªããšããã«ãããŠåäœã¯ããã®ã«ã¢ãŒã«ã€ãã«å€±æããŠãªãªãŒã¹ã§ããªããªãïŒããªã©ã¯ãä»åŸã®éçºã«ã¢ãžã¥ãŒã«åå²ãåãå ¥ããŠããéã«åèã«ãªãããã§ãã Swift ã§å§ããéçè§£æ speakerdeck.com Swift ãœãŒã¹ã³ãŒãããã®æ§ææšã®çæãè§£æãè¡ãã©ã€ãã©ãª SwiftSyntax ã®ç޹ä»ãšããããçšãããœãŒã¹ã³ãŒãéè€æ€åºæ©èœã®å®è£ ã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã æ®æ®µ Xcode ãå§ããšãã IDE ã§éçºããŠãããšãã³ãŒãéè€ãäžèŠãªããŒã«ã«å€æ°ãåã Nullable ã®äžäžèŽã«å€æ°ãªãã¡ã¯ã¿ãªã³ã°âŠçã ã®äŸ¿å©ãªæ©èœãæ°è»œã«äœ¿ããŠããŸããŸããããã®è£ã®åäœãæ¹ããŠäžã€ãã€å ·äœçã«è¿œã£ãŠãããšããã®ããããã¿ãèº«ã«æã¿ãŸãâŠã éçè§£æãã®ãã®ã¯ Swift ã«éããæ§ã ãªèšèªã®ãœãŒã¹ã³ãŒãã«å¯ŸããŠé©çšã§ãããããã¯ã§ã¯ããã®ã§ãããæ®æ®µäœæ°ãªã䜿ã£ãŠããŸã IDE ã®æ©èœã«ã€ããŠèããããæ©äŒã«ãªã£ãããã玹ä»ãããŠããã ããŸããã ãŸãšã ã¡ããã©æ¥åã§ã iOS ã¢ããªéçºãæ åœããŠããããšããããè峿·±ãç¥èŠãåŸãããããçµéšãšãªããŸããããŸããäºåé²ç»åœ¢åŒã«ãªã£ãããšã§çºè¡šã®æ§æãããç·ŽãããçµæãšããŠèããããïŒçæ§ããªãæ°ãã€ããŠãã£ããçºå£°ãããŠããŸããïŒãåæ§ã®ããçºè¡šãå€ãã£ãããã«æããŸãã ä»åãåã®ãªã³ã©ã€ã³ã§ã®éå¬ãšããããšã§ãéå¶å§å¡äŒã®çæ§ããããããšèŠåŽãããŠããã£ãããããã§ããããã ããã®ç²æãã£ãŠãåœæ¥ã®é²è¡ã¯ã¹ã ãŒãºã§ãäŒå Žã¯ãšãŠãçãäžãã£ãŠããŸãããé¢ä¿è ã®çæ§ãæ¬åœã«ãç²ãæ§ã§ããã æ å¢ãèžãŸããæ¥å¹ŽåºŠã®éå¬å¯åŠã»åœ¢åŒã¯æªå®ãšã®ããšã§ãããããªã³ã©ã€ã³ã»å¯Ÿé¢ã®ããããã®è¯ããåãå ¥ãã€ã€ãããå€ãã®äººãåå ã§ãã圢æ ã«ãªã£ãŠãããšãããªãšæããŸãã å ¬åŒ YouTube ãã£ã³ãã« ã§éå»ã®çºè¡šãèŠèŽã§ããŸãã®ã§ããèå³ã®ããæ¹ã¯ãã²ã©ããïŒä»å¹Žã®çºè¡šåãäžã¶æã»ã©ãããå ¬éããããšã®ããšã§ããïŒã ãŸãã¡ãã¬ãŒã§ã¯ iOS / Android ãã€ãã£ãã¢ããªéçºãšã³ãžãã¢ãåéããŠããŸããèå³ãããæ¹ããã²ãæ°è»œã«ã話ããŸããã! www.medley.jp
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
1
More pages
26
27
28
29
30
More pages
69
ã³ã³ãã³ã
ããã
ã€ãã³ã
ããã°
ã°ã«ãŒãã«é¢ãããåãåãã