ãžã§ãã¡ãã¬ãŒã®éçºéçšãæ
åœããŠãã æ°å±
ã§ãã ã¡ãã¬ãŒã§ã¯éçºæ¬éšã®ã¡ã³ããŒã®æè¡ååºäžãã課é¡è§£æ±ºãç®çãšããçæãããžã§ã¯ãïŒã¿ã¹ã¯ãã©ãŒã¹ãšåŒãã§ããŸãïŒã宿œããŠããŸãããã®åãçµã¿ã®äžç°ãšããŠã6ã8 æã¯ã»ãã¥ãªãã£ç¥èã®åºäžããç®æãããã»ãã¥ãªãã£ã¿ã¹ã¯ãã©ãŒã¹ãã宿œããŸãããä»åã¯ããã®åãçµã¿å
容ã玹ä»ããŸãã èæ¯ çŸåšãã¡ãã¬ãŒã®éçºæ¬éšã«ã¯çŽ 20 åã®ãšã³ãžãã¢ãåšç±ããŠãããããããå€çš®å€æ§ãªéçºçµéšãã¹ãã«ã»ãããæã£ããšã³ãžãã¢ãéãŸã£ãŠããŸãã ãããŠãåè·ã§ã¯ããã³ããšã³ãå°éã§ãã£ãŠãããšã³ãžãã¢ããµãŒããŒãµã€ãã®éçºãè¡ã£ããããŸããã®éã®ã±ãŒã¹ããã£ãããšãåèªã®å°éé åã«ãšããããªãã¹ã¿ã€ã«ã§ã®éçºãè¡ãããšãå€ã
ãããŸãã èª²é¡ ãããã£ãèæ¯ã®äžããšã³ãžãã¢ãå¢ããŠããã«ã€ããšã³ãžãã¢éã®ã¹ãã«ã»ããã«å·®ãçãŸããã°ãã€ããèŠãããããã«ããªã£ãŠããŸããä»åŸãæŽã«çµç¹ãæ¡å€§ããŠããã®ã«äŒŽãããããããšã³ãžãã¢éã®ã¹ãã«ã»ããã®å·®ã倧ãããªã£ãŠããããšãæžå¿µãããŸãã ãŸããã¡ãã¬ãŒã¯å»çãã«ã¹ã±ã¢åéã«åããŠãµãŒãã¹æäŸãè¡ã£ãŠãããå€ãã®å人æ
å ±ãæ±ã£ãŠããããšã¯ãã¡ãããå»çã»ä»è·ãšããé åã®æ§è³ªäžãã»ãã¥ãªãã£ã«ã¯éåžžã«æ°ãã€ããå¿
èŠããããŸããããŒã¿ããŒã¹ã«å
¥ããŠä¿å®ã»éçšããŠããå人æ
å ±ãªã©ã®åãæ±ãããã·ã¹ãã æ¹åãæ°æ©èœéçºãªã©ãè¡ããšãã«ã¯å¿
ç¶çã«ã»ãã¥ãªãã£ã«ãé
æ
®ããŠéçºãé²ããå¿
èŠããããŸãã ãããŠèæ¯ã®ãšããã§ãè¿°ã¹ãããã«ãå
ã
ããã³ããšã³ãå°éã®ãšã³ãžãã¢ããµãŒããŒãµã€ãã®éçºã«é¢ããã±ãŒã¹ãããããããµãŒããŒãµã€ãéçºã®çµéšãæµ
ããšã³ãžãã¢ãäžã«ã¯ããŠããµãŒããŒãµã€ãã®ã»ãã¥ãªãã£ã«é¢ããŠèªä¿¡ããªãã£ãããå
·äœçãªå¯Ÿçæ¹æ³ãããã«åºãŠããªãããšããããšãã課é¡ããããŸããïŒåœç¶ã§ããå®éã®éçºã§ã¯ PR ãªã©ã§ã¬ãã¥ãŒããŠåé¡ãèµ·ããªãããã«å¯Ÿå¿ããŠããŸãïŒã ããã§ããããã£ãã¡ã³ããŒã®ã»ãã¥ãªãã£ç¥èã®åºäžããè¡ãããšã³ãžãã¢éã®ã¹ãã«ã»ããã®å·®ãçž®ããŠããããšãå¿
èŠã§ãããšèããŸããã åãçµã¿ äžè¿°ããéãã ã¹ãã«ã»ããã«ã°ãã€ããå·®ãèŠããã å»çãã«ã¹ã±ã¢åéã¯ç¹ã«ã»ãã¥ãªãã£ã«æ°ã䜿ãå¿
èŠããã ã»ãã¥ãªãã£ã«é¢ããŠèªä¿¡ããªããå
·äœçãªå¯Ÿçæ¹æ³ãããã«åºãŠããªãããšããã ãšãã£ãèª²é¡æããããŸãã¯ããã³ããšã³ãå°éã§ãã£ãŠããã¡ã³ããŒããµãŒããŒãµã€ãéçºã®çµéšãæµ
ãã¡ã³ããŒãã¡ã€ã³ã¿ãŒã²ãããšããŠãã»ãã¥ãªãã£ç¥èã®åºäžãããã£ãŠããããšã«ãã©ãŒã«ã¹ããŸããã ç®æšãšããŠã¯ããŠã§ãã¢ããªã±ãŒã·ã§ã³éçºã«ãããæäœéã®ã»ãã¥ãªãã£ç¥èãå¯Ÿçæ¹æ³ããã£ããåæŽçããããã«éçºã§äœ¿ã£ãŠãã Ruby on Rails äžã§ã©ã®ããã«å¯Ÿçããã¹ãããæŒããããšãããšãããç®æšã«ãããŸããã åœ¢åŒ åœ¢åŒãšããŠã¯ãåå è
ã«äºåã«ææã®å¯Ÿè±¡ç¯å²ãèªãã§ããŠããããéé±éå¬ã® TechLunchïŒç€Ÿå
å匷äŒïŒçµäºåŸã®çŽ 20 åãå©çšããŠãå
容ã®ç°¡åãªèª¬æãè£è¶³ã質çå¿çãè°è«ãªã©ãè¡ãå ŽïŒãã©ããŒäŒïŒãèšããŸããã ææ 以äžã䜿çšããŸããã ã¡ã€ã³ææïŒãIPA ã®å®å
šãªãŠã§ããµã€ãã®äœãæ¹ã www.ipa.go.jp ãµãææïŒãRails ã»ãã¥ãªãã£ã¬ã€ãã railsguides.jp ã¡ã€ã³ææã®ãIPA ã®å®å
šãªãŠã§ããµã€ãã®äœãæ¹ãã¯ãIPA ãå±åºãåããè匱æ§é¢é£æ
å ±ãåºã«ããŠäœãããŠãããã»ãã¥ãªãã£ãèæ
®ãããŠã§ããµã€ããäœãäžã§ã®æäœéã®ç¥èãæŽçã§ããã ãããšããããšã§æ¡çšããŸããã ãµãææã®ãRails ã»ãã¥ãªãã£ã¬ã€ããã¯ãRails ã§ã¯ã©ã®ããã«ã»ãã¥ãªãã£ã®åé¡ãåé¿ããŠããã®ããšãã£ãæ¹æ³ã解説ãããŠãããå®éã®éçºã®ãšãã«ã©ãããã°è¯ãã®ããšãã£ãããšãæŒãããããã ãããšããããšã§æ¡çšããŸããã å®éã®éå¬ã¹ã±ãžã¥ãŒã«ãšããã©ããŒäŒã®å¯Ÿè±¡ç¯å²ã¯ãã¡ãã åãçµã¿ãçµã㊠åãçµã¿ãçµããŠæããããšãšããŠã¯ä»¥äžã«ãªããŸãã æè¡çãªèŠ³ç¹ SQL ã€ã³ãžã§ã¯ã·ã§ã³ã XSSãCSRF ãªã©ã®ã¡ãžã£ãŒãªæ»æææ³ãåå è
éã§åæŽçã§ãã æè¡çã«äžå®ãªãšãããªã©ã¯ãããã¯ããã§ãããïŒããšããæãã§ç¢ºããåãããšãã§ãã åå è
ãåè·ã§ã®çµéšè«ãªã©ãã·ã§ã¢ããŠãããå Žé¢ããããç¥èŠã®å
±æãã§ãã ã»ãã¥ãªãã£ã«è©³ãããšã³ãžãã¢ã亀ããŠè©±ãããšã§ãéæã§å¹æçã«ããã³ããããã ããæ¿å¯ãªè°è«ãã§ãã ããã©ã³ãšã³ãžãã¢ããã¯ãææµè¡ã£ãæãµãŒãã¹ã®æã»ãã¥ãªãã£ç³»éå®³ã®æåäºäŸãªã©ãå
±æãããéå»ã®æŽå²ãç¥ãããšãã§ããå Žãšãªã£ã æè¡ä»¥å€ã®èŠ³ç¹ æ®æ®µã¯ããŒã æ¯ã«é»ã
ãšä»äºã«åãçµãã§ãããããŒã ãè·šãã§ããã²ãšã€ã®è©±é¡ïŒä»åã¯ã»ãã¥ãªãã£ïŒã«ã€ããŠã¿ããªãšäŒè©±ããæ©äŒã¯å°ãªãã®ã§ãç¥èã®åºäžãã¯ãã¡ããã®ããšãã³ãã¥ãã±ãŒã·ã§ã³ã®å ŽãšããŠãè¯ãã£ã ä»åã®ããã«è³ªçå¿çãè°è«ãã§ããå Žãèšããããšã«ãããä»ã®ã¡ã³ããŒã®çµéšãç¥èŠã广çã«å
±æããããšãã§ããææã®èªã¿åãããè¬çŸ©åœ¢åŒã§ã¯åŸãããªãç¥èãå
±æã§ããåãçµã¿ãšããŠã¯ããŸããã£ãããªããšæããŸãã ãŸãšã ãšããããšã§ãä»åã¯ã»ãã¥ãªãã£ã¿ã¹ã¯ãã©ãŒã¹ã«ã€ããŠã玹ä»ããŸããã ã»ãã¥ãªãã£ã®ç¥èã¯ã ããã²ãšããæŒãããŠããã°è¯ããšãããã®ã§ã¯ãªããéçºã«é¢ãããšã³ãžãã¢å
šå¡ãæäœéã¯æŒãããŠããå¿
èŠããããšæããŸãã çµç¹ã®æ¡å€§ãšå
±ã«ãæ¥ã
ã®ãããã¯ãã®éçšã»éçºã倧åã§ãããããããæ¯ãããšã³ãžãã¢ã®ç¥èã®åºäžããªã©ã®éçºä»¥å€ã®éšåããã倧åã«ãªã£ãŠããŸããããããã£ãåãçµã¿ãçµç¹åãé«ããŠããã®ã§ã¯ãªãããšæããŸãã ãç¥ãã ã¡ãã¬ãŒã§ã¯ãå»çä»è·ã®æ±äººãµã€ãã ãžã§ãã¡ãã¬ãŒ ããå»åž«ãã¡ãã€ãããªã³ã©ã€ã³å»çäºå
žã MEDLEY ããå£ã³ãã§æ¢ãã ä»è·æœèš ã®æ€çŽ¢ãµã€ãã ä»è·ã®ã»ãã ãããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ããªã©ã®ãããã¯ããæäŸããŠããŸãããããã®ãµãŒãã¹ã®æ¡å€§ãåããŠããã®æé·ãæ¯ãããšã³ãžãã¢ã»ãã¶ã€ããŒãåéããŠããŸãã www.medley.jp å»çãä»è·ãšã¯å
šãéãæ¥çã§çµéšãç©ãã§ãããšã³ãžãã¢ã»ãã¶ã€ããŒãå€ãã§ããããããã宿çãªå匷äŒãªã©ã§å¿
èŠç¥èãã€ã³ãããããªããéçºããŠããŸãã ã¡ãã¬ãŒã§äžç·ã«å»çäœéšãå€ãããããã¯ãäœãã«é¢ããããæ¹ã®ãé£çµ¡ãåŸ
ã¡ããŠãããŸãïŒ
ãžã§ãã¡ãã¬ãŒã®éçºéçšãæ
åœããŠãã æ°å±
ã§ãã ã¡ãã¬ãŒã§ã¯éçºæ¬éšã®ã¡ã³ããŒã®æè¡ååºäžãã課é¡è§£æ±ºãç®çãšããçæãããžã§ã¯ãïŒã¿ã¹ã¯ãã©ãŒã¹ãšåŒãã§ããŸãïŒã宿œããŠããŸãããã®åãçµã¿ã®äžç°ãšããŠã6ã8 æã¯ã»ãã¥ãªãã£ç¥èã®åºäžããç®æãããã»ãã¥ãªãã£ã¿ã¹ã¯ãã©ãŒã¹ãã宿œããŸãããä»åã¯ããã®åãçµã¿å
容ã玹ä»ããŸãã èæ¯ çŸåšãã¡ãã¬ãŒã®éçºæ¬éšã«ã¯çŽ 20 åã®ãšã³ãžãã¢ãåšç±ããŠãããããããå€çš®å€æ§ãªéçºçµéšãã¹ãã«ã»ãããæã£ããšã³ãžãã¢ãéãŸã£ãŠããŸãã ãããŠãåè·ã§ã¯ããã³ããšã³ãå°éã§ãã£ãŠãããšã³ãžãã¢ããµãŒããŒãµã€ãã®éçºãè¡ã£ããããŸããã®éã®ã±ãŒã¹ããã£ãããšãåèªã®å°éé åã«ãšããããªãã¹ã¿ã€ã«ã§ã®éçºãè¡ãããšãå€ã
ãããŸãã èª²é¡ ãããã£ãèæ¯ã®äžããšã³ãžãã¢ãå¢ããŠããã«ã€ããšã³ãžãã¢éã®ã¹ãã«ã»ããã«å·®ãçãŸããã°ãã€ããèŠãããããã«ããªã£ãŠããŸããä»åŸãæŽã«çµç¹ãæ¡å€§ããŠããã®ã«äŒŽãããããããšã³ãžãã¢éã®ã¹ãã«ã»ããã®å·®ã倧ãããªã£ãŠããããšãæžå¿µãããŸãã ãŸããã¡ãã¬ãŒã¯å»çãã«ã¹ã±ã¢åéã«åããŠãµãŒãã¹æäŸãè¡ã£ãŠãããå€ãã®å人æ
å ±ãæ±ã£ãŠããããšã¯ãã¡ãããå»çã»ä»è·ãšããé åã®æ§è³ªäžãã»ãã¥ãªãã£ã«ã¯éåžžã«æ°ãã€ããå¿
èŠããããŸããããŒã¿ããŒã¹ã«å
¥ããŠä¿å®ã»éçšããŠããå人æ
å ±ãªã©ã®åãæ±ãããã·ã¹ãã æ¹åãæ°æ©èœéçºãªã©ãè¡ããšãã«ã¯å¿
ç¶çã«ã»ãã¥ãªãã£ã«ãé
æ
®ããŠéçºãé²ããå¿
èŠããããŸãã ãããŠèæ¯ã®ãšããã§ãè¿°ã¹ãããã«ãå
ã
ããã³ããšã³ãå°éã®ãšã³ãžãã¢ããµãŒããŒãµã€ãã®éçºã«é¢ããã±ãŒã¹ãããããããµãŒããŒãµã€ãéçºã®çµéšãæµ
ããšã³ãžãã¢ãäžã«ã¯ããŠããµãŒããŒãµã€ãã®ã»ãã¥ãªãã£ã«é¢ããŠèªä¿¡ããªãã£ãããå
·äœçãªå¯Ÿçæ¹æ³ãããã«åºãŠããªãããšããããšãã課é¡ããããŸããïŒåœç¶ã§ããå®éã®éçºã§ã¯ PR ãªã©ã§ã¬ãã¥ãŒããŠåé¡ãèµ·ããªãããã«å¯Ÿå¿ããŠããŸãïŒã ããã§ããããã£ãã¡ã³ããŒã®ã»ãã¥ãªãã£ç¥èã®åºäžããè¡ãããšã³ãžãã¢éã®ã¹ãã«ã»ããã®å·®ãçž®ããŠããããšãå¿
èŠã§ãããšèããŸããã åãçµã¿ äžè¿°ããéãã ã¹ãã«ã»ããã«ã°ãã€ããå·®ãèŠããã å»çãã«ã¹ã±ã¢åéã¯ç¹ã«ã»ãã¥ãªãã£ã«æ°ã䜿ãå¿
èŠããã ã»ãã¥ãªãã£ã«é¢ããŠèªä¿¡ããªããå
·äœçãªå¯Ÿçæ¹æ³ãããã«åºãŠããªãããšããã ãšãã£ãèª²é¡æããããŸãã¯ããã³ããšã³ãå°éã§ãã£ãŠããã¡ã³ããŒããµãŒããŒãµã€ãéçºã®çµéšãæµ
ãã¡ã³ããŒãã¡ã€ã³ã¿ãŒã²ãããšããŠãã»ãã¥ãªãã£ç¥èã®åºäžãããã£ãŠããããšã«ãã©ãŒã«ã¹ããŸããã ç®æšãšããŠã¯ããŠã§ãã¢ããªã±ãŒã·ã§ã³éçºã«ãããæäœéã®ã»ãã¥ãªãã£ç¥èãå¯Ÿçæ¹æ³ããã£ããåæŽçããããã«éçºã§äœ¿ã£ãŠãã Ruby on Rails äžã§ã©ã®ããã«å¯Ÿçããã¹ãããæŒããããšãããšãããç®æšã«ãããŸããã åœ¢åŒ åœ¢åŒãšããŠã¯ãåå è
ã«äºåã«ææã®å¯Ÿè±¡ç¯å²ãèªãã§ããŠããããéé±éå¬ã® TechLunchïŒç€Ÿå
å匷äŒïŒçµäºåŸã®çŽ 20 åãå©çšããŠãå
容ã®ç°¡åãªèª¬æãè£è¶³ã質çå¿çãè°è«ãªã©ãè¡ãå ŽïŒãã©ããŒäŒïŒãèšããŸããã ææ 以äžã䜿çšããŸããã ã¡ã€ã³ææïŒãIPA ã®å®å
šãªãŠã§ããµã€ãã®äœãæ¹ã www.ipa.go.jp ãµãææïŒãRails ã»ãã¥ãªãã£ã¬ã€ãã railsguides.jp ã¡ã€ã³ææã®ãIPA ã®å®å
šãªãŠã§ããµã€ãã®äœãæ¹ãã¯ãIPA ãå±åºãåããè匱æ§é¢é£æ
å ±ãåºã«ããŠäœãããŠãããã»ãã¥ãªãã£ãèæ
®ãããŠã§ããµã€ããäœãäžã§ã®æäœéã®ç¥èãæŽçã§ããã ãããšããããšã§æ¡çšããŸããã ãµãææã®ãRails ã»ãã¥ãªãã£ã¬ã€ããã¯ãRails ã§ã¯ã©ã®ããã«ã»ãã¥ãªãã£ã®åé¡ãåé¿ããŠããã®ããšãã£ãæ¹æ³ã解説ãããŠãããå®éã®éçºã®ãšãã«ã©ãããã°è¯ãã®ããšãã£ãããšãæŒãããããã ãããšããããšã§æ¡çšããŸããã å®éã®éå¬ã¹ã±ãžã¥ãŒã«ãšããã©ããŒäŒã®å¯Ÿè±¡ç¯å²ã¯ãã¡ãã åãçµã¿ãçµã㊠åãçµã¿ãçµããŠæããããšãšããŠã¯ä»¥äžã«ãªããŸãã æè¡çãªèŠ³ç¹ SQL ã€ã³ãžã§ã¯ã·ã§ã³ã XSSãCSRF ãªã©ã®ã¡ãžã£ãŒãªæ»æææ³ãåå è
éã§åæŽçã§ãã æè¡çã«äžå®ãªãšãããªã©ã¯ãããã¯ããã§ãããïŒããšããæãã§ç¢ºããåãããšãã§ãã åå è
ãåè·ã§ã®çµéšè«ãªã©ãã·ã§ã¢ããŠãããå Žé¢ããããç¥èŠã®å
±æãã§ãã ã»ãã¥ãªãã£ã«è©³ãããšã³ãžãã¢ã亀ããŠè©±ãããšã§ãéæã§å¹æçã«ããã³ããããã ããæ¿å¯ãªè°è«ãã§ãã ããã©ã³ãšã³ãžãã¢ããã¯ãææµè¡ã£ãæãµãŒãã¹ã®æã»ãã¥ãªãã£ç³»éå®³ã®æåäºäŸãªã©ãå
±æãããéå»ã®æŽå²ãç¥ãããšãã§ããå Žãšãªã£ã æè¡ä»¥å€ã®èŠ³ç¹ æ®æ®µã¯ããŒã æ¯ã«é»ã
ãšä»äºã«åãçµãã§ãããããŒã ãè·šãã§ããã²ãšã€ã®è©±é¡ïŒä»åã¯ã»ãã¥ãªãã£ïŒã«ã€ããŠã¿ããªãšäŒè©±ããæ©äŒã¯å°ãªãã®ã§ãç¥èã®åºäžãã¯ãã¡ããã®ããšãã³ãã¥ãã±ãŒã·ã§ã³ã®å ŽãšããŠãè¯ãã£ã ä»åã®ããã«è³ªçå¿çãè°è«ãã§ããå Žãèšããããšã«ãããä»ã®ã¡ã³ããŒã®çµéšãç¥èŠã广çã«å
±æããããšãã§ããææã®èªã¿åãããè¬çŸ©åœ¢åŒã§ã¯åŸãããªãç¥èãå
±æã§ããåãçµã¿ãšããŠã¯ããŸããã£ãããªããšæããŸãã ãŸãšã ãšããããšã§ãä»åã¯ã»ãã¥ãªãã£ã¿ã¹ã¯ãã©ãŒã¹ã«ã€ããŠã玹ä»ããŸããã ã»ãã¥ãªãã£ã®ç¥èã¯ã ããã²ãšããæŒãããŠããã°è¯ããšãããã®ã§ã¯ãªããéçºã«é¢ãããšã³ãžãã¢å
šå¡ãæäœéã¯æŒãããŠããå¿
èŠããããšæããŸãã çµç¹ã®æ¡å€§ãšå
±ã«ãæ¥ã
ã®ãããã¯ãã®éçšã»éçºã倧åã§ãããããããæ¯ãããšã³ãžãã¢ã®ç¥èã®åºäžããªã©ã®éçºä»¥å€ã®éšåããã倧åã«ãªã£ãŠããŸããããããã£ãåãçµã¿ãçµç¹åãé«ããŠããã®ã§ã¯ãªãããšæããŸãã ãç¥ãã ã¡ãã¬ãŒã§ã¯ãå»çä»è·ã®æ±äººãµã€ãã ãžã§ãã¡ãã¬ãŒ ããå»åž«ãã¡ãã€ãããªã³ã©ã€ã³å»çäºå
žã MEDLEY ããå£ã³ãã§æ¢ãã ä»è·æœèš ã®æ€çŽ¢ãµã€ãã ä»è·ã®ã»ãã ãããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ããªã©ã®ãããã¯ããæäŸããŠããŸãããããã®ãµãŒãã¹ã®æ¡å€§ãåããŠããã®æé·ãæ¯ãããšã³ãžãã¢ã»ãã¶ã€ããŒãåéããŠããŸãã www.medley.jp å»çãä»è·ãšã¯å
šãéãæ¥çã§çµéšãç©ãã§ãããšã³ãžãã¢ã»ãã¶ã€ããŒãå€ãã§ããããããã宿çãªå匷äŒãªã©ã§å¿
èŠç¥èãã€ã³ãããããªããéçºããŠããŸãã ã¡ãã¬ãŒã§äžç·ã«å»çäœéšãå€ãããããã¯ãäœãã«é¢ããããæ¹ã®ãé£çµ¡ãåŸ
ã¡ããŠãããŸãïŒ
ã¡ãã¬ãŒéçºæ¬éšã® nakatani ã§ãã éçºæ¬éšã§å®æçã«éå¬ããŠããå匷äŒãTechLunchãã§ã runit ãšãã unix ã®ããã»ã¹ã¹ãŒããã€ã¶ã«ã€ããŠã話ããŸããã ãã®å
容ã«ã€ããŠç޹ä»ãããŠããã ããŸãã runit èªäœã¯ç¹ã«ç®æ°ããæè¡ã§ã¯ãªã(Linux ã® busybox ã«åããããŠãããããæ¯ããæè¡ã§ã)ã倧ããŠé£ãã話é¡ã§ããããŸããã ãã ãå人çã«ã¯äŸ¿å©ã«äœ¿ã£ãŠãã ææŸããªãããŒã« ã§ãããããã¹ãŒããã€ã¶ãšãããã®ã®ååšãç¥ãã㫠䜿ããã«ãã人ããããšå¿äœç¡ããªã ãšããæããããTechLunch ã®ããŒããšããŠåãäžããæ¬¡ç¬¬ã§ãã runit ãšã¯ãªããªã®ã ããã»ã¹ãããŒã¢ã³ãšããŠç«ã¡äžããŠãããã»ã¹ãæ»ãã§ãå床起åãç¶ããŠãããããŒã«é¡ã§ããC èšèªã§éçºãããŠããŸãã Linux ãªã©ã® unix ã§ã¯ãããŠãæšæºã§ init, Upstart, Systemd, launchd ãªã©ã®ã¹ãŒããã€ã¶ãçµã¿èŸŒãŸããŠããŸãã runit ã¯ããããšåããããªäœçœ®ã¥ãã®ãã®ã§ãã qmail ã®äœè
ã§ãã djb ãäœã£ã daemontools ã®åŸç¶ã®ãããã¯ãã§ãã runit ããããšäœã䟿å©ãªã®ã â ãã·ã³ãèµ·åããŠããããããããã»ã¹ãåäœããç¶ããããšãã§ãã ãã·ã³ãç«ã¡äžããããšã«ãèµ·åã³ãã³ããå©ããããããã»ã¹ãèœã¡ããšãã«åèµ·åãããå¿
èŠããããŸããã ãŸãããã©ã¢ã°ã©ãŠã³ãã§åäœããããã»ã¹ãèµ·åããåŸã«ã端æ«ãåãé¢ãæäœãããå¿
èŠããããŸããã ãã ãããã¯ä»ã®ã¹ãŒããã€ã¶ã§ãåãããšãå®çŸã§ããŸãã â ãã®å Žãã®ãã§äœã£ãã¹ã¯ãªããããã»ãŒãã®ãŸãŸããŒã¢ã³åã§ãã Shell, Ruby, Perl, Haskell ã©ã®ãããªèšèªã§äœã£ãã¹ã¯ãªããã§ãã£ãŠãã ã·ã§ã«ãªã©ã§å®è¡å¯èœãªãã¡ã€ã«ãããã°ãããããã®ãŸãŸããŒã¢ã³ãšããŠå®è¡ããããšãã§ããŸã ã â ã¹ã¯ãªããã®æšæºåºåããã®ãŸãŸãã°ãã¡ã€ã«ãšããŠæ±ãããšãã§ãã svlogd ãšããããã°ã©ã ããããŒã¢ã³ã®æšæºåºåããã°åããããŒããŒã·ã§ã³ãªã©ã®é¢åãèŠãŠãããŸãã èªäœã®ããŒã¢ã³ãæã£ãéãã«åããªãéã®ãããã°ã容æã§ãã macOS ãžã®å°å
¥æ¹æ³ macOS ã«å°å
¥ããããã®æé ãèšèŒããŸãã詳ããã¯ã¹ã©ã€ãã runit ã®ããã¥ã¡ã³ããªã©ãçè§£ããŠäœ¿ãããã«ããŠãã ããã Xcode ã Homebrew ã macOS ã«å°å
¥ããŠããããšãåæã§ãã /service ã root ã® runit ãã£ã¬ã¯ããªãšããŠèšå®ããæé $ brew install runit # macports feels better. $ sudo mkdir /service $ sudo cat << EOF | sudo tee /Library/LaunchDaemons/runit.plist <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd" > <plist version='1.0'> <dict> <key>Label</key><string>runit</string> <key>ProgramArguments</key> <array> <string>sh</string><string>-c</string> <string>PATH="/usr/local/sbin:/usr/local/bin: $PATH " exec '/usr/local/bin/runsvdir' '/service' </string> <string>;</string> <string>--pid=exec</string> </array> <key>Debug</key><false/><key>Disabled</key><true/><key>KeepAlive</key><true/> </dict> </plist> EOF $ launchctl load -w > /Library/LaunchDaemons/runit.plist $ launchctl list | grep runit èªäœã¹ã¯ãªãããããŒã¢ã³ã«ããæé $ cd /service/ $ sudo mkdir -p hello/log # log ãåæã«ã€ãããš runsvdir ã log ã®æºåããã $ cd hello $ sudo cat << EOF | sudo tee run #!/usr/bin/env ruby # èªäœã¹ã¯ãªãã while true puts("hello ruby #{Time.now.to_i % 100}"); STDOUT.flush(); sleep(1); end EOF $ sudo cat << EOF | sudo tee log/run #!/bin/sh exec svlogd -ttt . EOF $ sudo chmod 755 run log/run $ tail -F log/current # ãã°ãèŠãããã $ sudo sv st . # daemon ã®ç¶æ
ã確èªããã run: .: (pid 35517 ) 46s; run: log: (pid 34727 ) 456s $ sudo sv st /service/hello/ # ãã£ã¬ã¯ããªã®æå®æ¹æ³ã¯èªç±ã $ sudo sv t . # TERM ã·ã°ãã«ã daemon ã«éã $ sudo sv st . run: .: (pid 35589 ) 1s; run: log: (pid 34727 ) 470s # èµ·åæéã 1s ã«ãªã£ãŠãã ãŸãšã çµå±ã®ãšããã**ã䜿ãã°ãããã䜿ããªããšäŸ¿å©ããããããããªãã**ãšããã®ãæ£çŽãªãšããã§ãã ãã®ãããTechLunch ã«ãããŠã¯ã 䜿ãããã®æé ãæéããããŠè§£èª¬ãããããã«ããŸããã ã¿ãªãããèå³ãããã°ããã²å°å
¥ããŠäœ¿ã£ãŠã¿ãŠãã ããã åèªèº«ãéçºãã·ã³ã§ãã macbook pro ã« runit ãå
¥ããŠãéçºç°å¢ã® Ruby ã MongoDB, Elasticsearch, Nginx ãªã©ã®ãµãŒã矀ã 宿çã«åããããã¡ãã£ãšããã¹ã¯ãªãããªã©ã runit ã§ç®¡çããŠããŸãã ç°ãªãèšå®ã®ãµãŒã矀ãäžã€ã®ãã·ã³ã«åå±
ãããå Žåããèšå®ãã¡ã€ã«ãåããŠå¥ããŒãã§ç«ã¡äžãããããŠããŸãã 以åã®ãããžã§ã¯ãã§ã¯æ¬çªç°å¢ã runit ã§æ§ç¯ããããšããããŸãããä»ã®ãããžã§ã¯ãã§ããããŸã£ããŽãããŒã¿ãåé€ãç¶ããã¹ã¯ãªããã runit ã§å¯Ÿå¿ããŠãã®ãŸãŸæŸçœ®(æŸçœ®ããŠã OK ãªãããã¡ã³ããã³ã¹ããªãŒ)ããŠãããããŸãã æè¿ã¯ã¯ã©ãŠããã³ã³ããæè¡ã掻æ³ã§ãããç°å¢ãæœè±¡åããããšããæµãããããŸããããããªãããããããããã»ã¹ã UNIX OS èªäœãç°å¢ãæœè±¡åããããã®æè¡çŸ€ã§ãããããã£ãåºæ¬çãªæè¡ãšä»²è¯ãããããšã§ãç©äºãã·ã³ãã«ã«ãªãããšãããã®ã§ã¯ãªãããšèãããããªãããæ¥ã
éçºã«åãçµãã§ããŸãã ãç¥ãã ã¡ãã¬ãŒã§ã¯ãå»çä»è·ã®æ±äººãµã€ãã ãžã§ãã¡ãã¬ãŒ ããå»åž«ãã¡ãã€ãããªã³ã©ã€ã³å»çäºå
žã MEDLEY ããå£ã³ãã§æ¢ããä»è·æœèšã®æ€çŽ¢ãµã€ãã ä»è·ã®ã»ãã ãããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ããªã©ã®ãããã¯ããæäŸããŠããŸãããããã®ãµãŒãã¹ã®æ¡å€§ãåããŠããã®æé·ãæ¯ãããšã³ãžãã¢ã»ãã¶ã€ããŒãåéããŠããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp ã¡ãã¬ãŒã§äžç·ã«å»çäœéšãå€ãããããã¯ãäœãã«é¢ããããæ¹ã®ãé£çµ¡ãåŸ
ã¡ããŠãããŸãã
ã¡ãã¬ãŒéçºæ¬éšã® nakatani ã§ãã éçºæ¬éšã§å®æçã«éå¬ããŠããå匷äŒãTechLunchãã§ã runit ãšãã unix ã®ããã»ã¹ã¹ãŒããã€ã¶ã«ã€ããŠã話ããŸããã ãã®å
容ã«ã€ããŠç޹ä»ãããŠããã ããŸãã runit èªäœã¯ç¹ã«ç®æ°ããæè¡ã§ã¯ãªã(Linux ã® busybox ã«åããããŠãããããæ¯ããæè¡ã§ã)ã倧ããŠé£ãã話é¡ã§ããããŸããã ãã ãå人çã«ã¯äŸ¿å©ã«äœ¿ã£ãŠãã ææŸããªãããŒã« ã§ãããããã¹ãŒããã€ã¶ãšãããã®ã®ååšãç¥ãã㫠䜿ããã«ãã人ããããšå¿äœç¡ããªã ãšããæããããTechLunch ã®ããŒããšããŠåãäžããæ¬¡ç¬¬ã§ãã runit ãšã¯ãªããªã®ã ããã»ã¹ãããŒã¢ã³ãšããŠç«ã¡äžããŠãããã»ã¹ãæ»ãã§ãå床起åãç¶ããŠãããããŒã«é¡ã§ããC èšèªã§éçºãããŠããŸãã Linux ãªã©ã® unix ã§ã¯ãããŠãæšæºã§ init, Upstart, Systemd, launchd ãªã©ã®ã¹ãŒããã€ã¶ãçµã¿èŸŒãŸããŠããŸãã runit ã¯ããããšåããããªäœçœ®ã¥ãã®ãã®ã§ãã qmail ã®äœè
ã§ãã djb ãäœã£ã daemontools ã®åŸç¶ã®ãããã¯ãã§ãã runit ããããšäœã䟿å©ãªã®ã â ãã·ã³ãèµ·åããŠããããããããã»ã¹ãåäœããç¶ããããšãã§ãã ãã·ã³ãç«ã¡äžããããšã«ãèµ·åã³ãã³ããå©ããããããã»ã¹ãèœã¡ããšãã«åèµ·åãããå¿
èŠããããŸããã ãŸãããã©ã¢ã°ã©ãŠã³ãã§åäœããããã»ã¹ãèµ·åããåŸã«ã端æ«ãåãé¢ãæäœãããå¿
èŠããããŸããã ãã ãããã¯ä»ã®ã¹ãŒããã€ã¶ã§ãåãããšãå®çŸã§ããŸãã â ãã®å Žãã®ãã§äœã£ãã¹ã¯ãªããããã»ãŒãã®ãŸãŸããŒã¢ã³åã§ãã Shell, Ruby, Perl, Haskell ã©ã®ãããªèšèªã§äœã£ãã¹ã¯ãªããã§ãã£ãŠãã ã·ã§ã«ãªã©ã§å®è¡å¯èœãªãã¡ã€ã«ãããã°ãããããã®ãŸãŸããŒã¢ã³ãšããŠå®è¡ããããšãã§ããŸã ã â ã¹ã¯ãªããã®æšæºåºåããã®ãŸãŸãã°ãã¡ã€ã«ãšããŠæ±ãããšãã§ãã svlogd ãšããããã°ã©ã ããããŒã¢ã³ã®æšæºåºåããã°åããããŒããŒã·ã§ã³ãªã©ã®é¢åãèŠãŠãããŸãã èªäœã®ããŒã¢ã³ãæã£ãéãã«åããªãéã®ãããã°ã容æã§ãã macOS ãžã®å°å
¥æ¹æ³ macOS ã«å°å
¥ããããã®æé ãèšèŒããŸãã詳ããã¯ã¹ã©ã€ãã runit ã®ããã¥ã¡ã³ããªã©ãçè§£ããŠäœ¿ãããã«ããŠãã ããã Xcode ã Homebrew ã macOS ã«å°å
¥ããŠããããšãåæã§ãã /service ã root ã® runit ãã£ã¬ã¯ããªãšããŠèšå®ããæé $ brew install runit # macports feels better. $ sudo mkdir /service $ sudo cat << EOF | sudo tee /Library/LaunchDaemons/runit.plist <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd" > <plist version='1.0'> <dict> <key>Label</key><string>runit</string> <key>ProgramArguments</key> <array> <string>sh</string><string>-c</string> <string>PATH="/usr/local/sbin:/usr/local/bin: $PATH " exec '/usr/local/bin/runsvdir' '/service' </string> <string>;</string> <string>--pid=exec</string> </array> <key>Debug</key><false/><key>Disabled</key><true/><key>KeepAlive</key><true/> </dict> </plist> EOF $ launchctl load -w > /Library/LaunchDaemons/runit.plist $ launchctl list | grep runit èªäœã¹ã¯ãªãããããŒã¢ã³ã«ããæé $ cd /service/ $ sudo mkdir -p hello/log # log ãåæã«ã€ãããš runsvdir ã log ã®æºåããã $ cd hello $ sudo cat << EOF | sudo tee run #!/usr/bin/env ruby # èªäœã¹ã¯ãªãã while true puts("hello ruby #{Time.now.to_i % 100}"); STDOUT.flush(); sleep(1); end EOF $ sudo cat << EOF | sudo tee log/run #!/bin/sh exec svlogd -ttt . EOF $ sudo chmod 755 run log/run $ tail -F log/current # ãã°ãèŠãããã $ sudo sv st . # daemon ã®ç¶æ
ã確èªããã run: .: (pid 35517 ) 46s; run: log: (pid 34727 ) 456s $ sudo sv st /service/hello/ # ãã£ã¬ã¯ããªã®æå®æ¹æ³ã¯èªç±ã $ sudo sv t . # TERM ã·ã°ãã«ã daemon ã«éã $ sudo sv st . run: .: (pid 35589 ) 1s; run: log: (pid 34727 ) 470s # èµ·åæéã 1s ã«ãªã£ãŠãã ãŸãšã çµå±ã®ãšããã**ã䜿ãã°ãããã䜿ããªããšäŸ¿å©ããããããããªãã**ãšããã®ãæ£çŽãªãšããã§ãã ãã®ãããTechLunch ã«ãããŠã¯ã 䜿ãããã®æé ãæéããããŠè§£èª¬ãããããã«ããŸããã ã¿ãªãããèå³ãããã°ããã²å°å
¥ããŠäœ¿ã£ãŠã¿ãŠãã ããã åèªèº«ãéçºãã·ã³ã§ãã macbook pro ã« runit ãå
¥ããŠãéçºç°å¢ã® Ruby ã MongoDB, Elasticsearch, Nginx ãªã©ã®ãµãŒã矀ã 宿çã«åããããã¡ãã£ãšããã¹ã¯ãªãããªã©ã runit ã§ç®¡çããŠããŸãã ç°ãªãèšå®ã®ãµãŒã矀ãäžã€ã®ãã·ã³ã«åå±
ãããå Žåããèšå®ãã¡ã€ã«ãåããŠå¥ããŒãã§ç«ã¡äžãããããŠããŸãã 以åã®ãããžã§ã¯ãã§ã¯æ¬çªç°å¢ã runit ã§æ§ç¯ããããšããããŸãããä»ã®ãããžã§ã¯ãã§ããããŸã£ããŽãããŒã¿ãåé€ãç¶ããã¹ã¯ãªããã runit ã§å¯Ÿå¿ããŠãã®ãŸãŸæŸçœ®(æŸçœ®ããŠã OK ãªãããã¡ã³ããã³ã¹ããªãŒ)ããŠãããããŸãã æè¿ã¯ã¯ã©ãŠããã³ã³ããæè¡ã掻æ³ã§ãããç°å¢ãæœè±¡åããããšããæµãããããŸããããããªãããããããããã»ã¹ã UNIX OS èªäœãç°å¢ãæœè±¡åããããã®æè¡çŸ€ã§ãããããã£ãåºæ¬çãªæè¡ãšä»²è¯ãããããšã§ãç©äºãã·ã³ãã«ã«ãªãããšãããã®ã§ã¯ãªãããšèãããããªãããæ¥ã
éçºã«åãçµãã§ããŸãã ãç¥ãã ã¡ãã¬ãŒã§ã¯ãå»çä»è·ã®æ±äººãµã€ãã ãžã§ãã¡ãã¬ãŒ ããå»åž«ãã¡ãã€ãããªã³ã©ã€ã³å»çäºå
žã MEDLEY ããå£ã³ãã§æ¢ããä»è·æœèšã®æ€çŽ¢ãµã€ãã ä»è·ã®ã»ãã ãããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ããªã©ã®ãããã¯ããæäŸããŠããŸãããããã®ãµãŒãã¹ã®æ¡å€§ãåããŠããã®æé·ãæ¯ãããšã³ãžãã¢ã»ãã¶ã€ããŒãåéããŠããŸãã https://www.medley.jp/recruit/creative.html ã¡ãã¬ãŒã§äžç·ã«å»çäœéšãå€ãããããã¯ãäœãã«é¢ããããæ¹ã®ãé£çµ¡ãåŸ
ã¡ããŠãããŸãã
ã¡ãã¬ãŒéçºæ¬éšã® nakatani ã§ãã éçºæ¬éšã§å®æçã«éå¬ããŠããå匷äŒãTechLunchãã§ã runit ãšãã unix ã®ããã»ã¹ã¹ãŒããã€ã¶ã«ã€ããŠã話ããŸããã ãã®å
容ã«ã€ããŠç޹ä»ãããŠããã ããŸãã runit èªäœã¯ç¹ã«ç®æ°ããæè¡ã§ã¯ãªã(Linux ã® busybox ã«åããããŠãããããæ¯ããæè¡ã§ã)ã倧ããŠé£ãã話é¡ã§ããããŸããã ãã ãå人çã«ã¯äŸ¿å©ã«äœ¿ã£ãŠãã ææŸããªãããŒã« ã§ãããããã¹ãŒããã€ã¶ãšãããã®ã®ååšãç¥ãã㫠䜿ããã«ãã人ããããšå¿äœç¡ããªã ãšããæããããTechLunch ã®ããŒããšããŠåãäžããæ¬¡ç¬¬ã§ãã runit ãšã¯ãªããªã®ã ããã»ã¹ãããŒã¢ã³ãšããŠç«ã¡äžããŠãããã»ã¹ãæ»ãã§ãå床起åãç¶ããŠãããããŒã«é¡ã§ããC èšèªã§éçºãããŠããŸãã Linux ãªã©ã® unix ã§ã¯ãããŠãæšæºã§ init, Upstart, Systemd, launchd ãªã©ã®ã¹ãŒããã€ã¶ãçµã¿èŸŒãŸããŠããŸãã runit ã¯ããããšåããããªäœçœ®ã¥ãã®ãã®ã§ãã qmail ã®äœè
ã§ãã djb ãäœã£ã daemontools ã®åŸç¶ã®ãããã¯ãã§ãã runit ããããšäœã䟿å©ãªã®ã â ãã·ã³ãèµ·åããŠããããããããã»ã¹ãåäœããç¶ããããšãã§ãã ãã·ã³ãç«ã¡äžããããšã«ãèµ·åã³ãã³ããå©ããããããã»ã¹ãèœã¡ããšãã«åèµ·åãããå¿
èŠããããŸããã ãŸãããã©ã¢ã°ã©ãŠã³ãã§åäœããããã»ã¹ãèµ·åããåŸã«ã端æ«ãåãé¢ãæäœãããå¿
èŠããããŸããã ãã ãããã¯ä»ã®ã¹ãŒããã€ã¶ã§ãåãããšãå®çŸã§ããŸãã â ãã®å Žãã®ãã§äœã£ãã¹ã¯ãªããããã»ãŒãã®ãŸãŸããŒã¢ã³åã§ãã Shell, Ruby, Perl, Haskell ã©ã®ãããªèšèªã§äœã£ãã¹ã¯ãªããã§ãã£ãŠãã ã·ã§ã«ãªã©ã§å®è¡å¯èœãªãã¡ã€ã«ãããã°ãããããã®ãŸãŸããŒã¢ã³ãšããŠå®è¡ããããšãã§ããŸã ã â ã¹ã¯ãªããã®æšæºåºåããã®ãŸãŸãã°ãã¡ã€ã«ãšããŠæ±ãããšãã§ãã svlogd ãšããããã°ã©ã ããããŒã¢ã³ã®æšæºåºåããã°åããããŒããŒã·ã§ã³ãªã©ã®é¢åãèŠãŠãããŸãã èªäœã®ããŒã¢ã³ãæã£ãéãã«åããªãéã®ãããã°ã容æã§ãã macOS ãžã®å°å
¥æ¹æ³ macOS ã«å°å
¥ããããã®æé ãèšèŒããŸãã詳ããã¯ã¹ã©ã€ãã runit ã®ããã¥ã¡ã³ããªã©ãçè§£ããŠäœ¿ãããã«ããŠãã ããã Xcode ã Homebrew ã macOS ã«å°å
¥ããŠããããšãåæã§ãã /service ã root ã® runit ãã£ã¬ã¯ããªãšããŠèšå®ããæé $ brew install runit # macports feels better. $ sudo mkdir /service $ sudo cat << EOF | sudo tee /Library/LaunchDaemons/runit.plist <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd" > <plist version='1.0'> <dict> <key>Label</key><string>runit</string> <key>ProgramArguments</key> <array> <string>sh</string><string>-c</string> <string>PATH="/usr/local/sbin:/usr/local/bin: $PATH " exec '/usr/local/bin/runsvdir' '/service' </string> <string>;</string> <string>--pid=exec</string> </array> <key>Debug</key><false/><key>Disabled</key><true/><key>KeepAlive</key><true/> </dict> </plist> EOF $ launchctl load -w > /Library/LaunchDaemons/runit.plist $ launchctl list | grep runit èªäœã¹ã¯ãªãããããŒã¢ã³ã«ããæé $ cd /service/ $ sudo mkdir -p hello/log # log ãåæã«ã€ãããš runsvdir ã log ã®æºåããã $ cd hello $ sudo cat << EOF | sudo tee run #!/usr/bin/env ruby # èªäœã¹ã¯ãªãã while true puts("hello ruby #{Time.now.to_i % 100}"); STDOUT.flush(); sleep(1); end EOF $ sudo cat << EOF | sudo tee log/run #!/bin/sh exec svlogd -ttt . EOF $ sudo chmod 755 run log/run $ tail -F log/current # ãã°ãèŠãããã $ sudo sv st . # daemon ã®ç¶æ
ã確èªããã run: .: (pid 35517 ) 46s; run: log: (pid 34727 ) 456s $ sudo sv st /service/hello/ # ãã£ã¬ã¯ããªã®æå®æ¹æ³ã¯èªç±ã $ sudo sv t . # TERM ã·ã°ãã«ã daemon ã«éã $ sudo sv st . run: .: (pid 35589 ) 1s; run: log: (pid 34727 ) 470s # èµ·åæéã 1s ã«ãªã£ãŠãã ãŸãšã çµå±ã®ãšããã**ã䜿ãã°ãããã䜿ããªããšäŸ¿å©ããããããããªãã**ãšããã®ãæ£çŽãªãšããã§ãã ãã®ãããTechLunch ã«ãããŠã¯ã 䜿ãããã®æé ãæéããããŠè§£èª¬ãããããã«ããŸããã ã¿ãªãããèå³ãããã°ããã²å°å
¥ããŠäœ¿ã£ãŠã¿ãŠãã ããã åèªèº«ãéçºãã·ã³ã§ãã macbook pro ã« runit ãå
¥ããŠãéçºç°å¢ã® Ruby ã MongoDB, Elasticsearch, Nginx ãªã©ã®ãµãŒã矀ã 宿çã«åããããã¡ãã£ãšããã¹ã¯ãªãããªã©ã runit ã§ç®¡çããŠããŸãã ç°ãªãèšå®ã®ãµãŒã矀ãäžã€ã®ãã·ã³ã«åå±
ãããå Žåããèšå®ãã¡ã€ã«ãåããŠå¥ããŒãã§ç«ã¡äžãããããŠããŸãã 以åã®ãããžã§ã¯ãã§ã¯æ¬çªç°å¢ã runit ã§æ§ç¯ããããšããããŸãããä»ã®ãããžã§ã¯ãã§ããããŸã£ããŽãããŒã¿ãåé€ãç¶ããã¹ã¯ãªããã runit ã§å¯Ÿå¿ããŠãã®ãŸãŸæŸçœ®(æŸçœ®ããŠã OK ãªãããã¡ã³ããã³ã¹ããªãŒ)ããŠãããããŸãã æè¿ã¯ã¯ã©ãŠããã³ã³ããæè¡ã掻æ³ã§ãããç°å¢ãæœè±¡åããããšããæµãããããŸããããããªãããããããããã»ã¹ã UNIX OS èªäœãç°å¢ãæœè±¡åããããã®æè¡çŸ€ã§ãããããã£ãåºæ¬çãªæè¡ãšä»²è¯ãããããšã§ãç©äºãã·ã³ãã«ã«ãªãããšãããã®ã§ã¯ãªãããšèãããããªãããæ¥ã
éçºã«åãçµãã§ããŸãã ãç¥ãã ã¡ãã¬ãŒã§ã¯ãå»çä»è·ã®æ±äººãµã€ãã ãžã§ãã¡ãã¬ãŒ ããå»åž«ãã¡ãã€ãããªã³ã©ã€ã³å»çäºå
žã MEDLEY ããå£ã³ãã§æ¢ããä»è·æœèšã®æ€çŽ¢ãµã€ãã ä»è·ã®ã»ãã ãããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ããªã©ã®ãããã¯ããæäŸããŠããŸãããããã®ãµãŒãã¹ã®æ¡å€§ãåããŠããã®æé·ãæ¯ãããšã³ãžãã¢ã»ãã¶ã€ããŒãåéããŠããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp ã¡ãã¬ãŒã§äžç·ã«å»çäœéšãå€ãããããã¯ãäœãã«é¢ããããæ¹ã®ãé£çµ¡ãåŸ
ã¡ããŠãããŸãã
ã¡ãã¬ãŒéçºæ¬éšã® nakatani ã§ãã éçºæ¬éšã§å®æçã«éå¬ããŠããå匷äŒãTechLunchãã§ã runit ãšãã unix ã®ããã»ã¹ã¹ãŒããã€ã¶ã«ã€ããŠã話ããŸããã ãã®å
容ã«ã€ããŠç޹ä»ãããŠããã ããŸãã runit èªäœã¯ç¹ã«ç®æ°ããæè¡ã§ã¯ãªã(Linux ã® busybox ã«åããããŠãããããæ¯ããæè¡ã§ã)ã倧ããŠé£ãã話é¡ã§ããããŸããã ãã ãå人çã«ã¯äŸ¿å©ã«äœ¿ã£ãŠãã ææŸããªãããŒã« ã§ãããããã¹ãŒããã€ã¶ãšãããã®ã®ååšãç¥ãã㫠䜿ããã«ãã人ããããšå¿äœç¡ããªã ãšããæããããTechLunch ã®ããŒããšããŠåãäžããæ¬¡ç¬¬ã§ãã runit ãšã¯ãªããªã®ã ããã»ã¹ãããŒã¢ã³ãšããŠç«ã¡äžããŠãããã»ã¹ãæ»ãã§ãå床起åãç¶ããŠãããããŒã«é¡ã§ããC èšèªã§éçºãããŠããŸãã Linux ãªã©ã® unix ã§ã¯ãããŠãæšæºã§ init, Upstart, Systemd, launchd ãªã©ã®ã¹ãŒããã€ã¶ãçµã¿èŸŒãŸããŠããŸãã runit ã¯ããããšåããããªäœçœ®ã¥ãã®ãã®ã§ãã qmail ã®äœè
ã§ãã djb ãäœã£ã daemontools ã®åŸç¶ã®ãããã¯ãã§ãã runit ããããšäœã䟿å©ãªã®ã â ãã·ã³ãèµ·åããŠããããããããã»ã¹ãåäœããç¶ããããšãã§ãã ãã·ã³ãç«ã¡äžããããšã«ãèµ·åã³ãã³ããå©ããããããã»ã¹ãèœã¡ããšãã«åèµ·åãããå¿
èŠããããŸããã ãŸãããã©ã¢ã°ã©ãŠã³ãã§åäœããããã»ã¹ãèµ·åããåŸã«ã端æ«ãåãé¢ãæäœãããå¿
èŠããããŸããã ãã ãããã¯ä»ã®ã¹ãŒããã€ã¶ã§ãåãããšãå®çŸã§ããŸãã â ãã®å Žãã®ãã§äœã£ãã¹ã¯ãªããããã»ãŒãã®ãŸãŸããŒã¢ã³åã§ãã Shell, Ruby, Perl, Haskell ã©ã®ãããªèšèªã§äœã£ãã¹ã¯ãªããã§ãã£ãŠãã ã·ã§ã«ãªã©ã§å®è¡å¯èœãªãã¡ã€ã«ãããã°ãããããã®ãŸãŸããŒã¢ã³ãšããŠå®è¡ããããšãã§ããŸã ã â ã¹ã¯ãªããã®æšæºåºåããã®ãŸãŸãã°ãã¡ã€ã«ãšããŠæ±ãããšãã§ãã svlogd ãšããããã°ã©ã ããããŒã¢ã³ã®æšæºåºåããã°åããããŒããŒã·ã§ã³ãªã©ã®é¢åãèŠãŠãããŸãã èªäœã®ããŒã¢ã³ãæã£ãéãã«åããªãéã®ãããã°ã容æã§ãã macOS ãžã®å°å
¥æ¹æ³ macOS ã«å°å
¥ããããã®æé ãèšèŒããŸãã詳ããã¯ã¹ã©ã€ãã runit ã®ããã¥ã¡ã³ããªã©ãçè§£ããŠäœ¿ãããã«ããŠãã ããã Xcode ã Homebrew ã macOS ã«å°å
¥ããŠããããšãåæã§ãã /service ã root ã® runit ãã£ã¬ã¯ããªãšããŠèšå®ããæé $ brew install runit # macports feels better. $ sudo mkdir /service $ sudo cat << EOF | sudo tee /Library/LaunchDaemons/runit.plist <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd" > <plist version='1.0'> <dict> <key>Label</key><string>runit</string> <key>ProgramArguments</key> <array> <string>sh</string><string>-c</string> <string>PATH="/usr/local/sbin:/usr/local/bin: $PATH " exec '/usr/local/bin/runsvdir' '/service' </string> <string>;</string> <string>--pid=exec</string> </array> <key>Debug</key><false/><key>Disabled</key><true/><key>KeepAlive</key><true/> </dict> </plist> EOF $ launchctl load -w > /Library/LaunchDaemons/runit.plist $ launchctl list | grep runit èªäœã¹ã¯ãªãããããŒã¢ã³ã«ããæé $ cd /service/ $ sudo mkdir -p hello/log # log ãåæã«ã€ãããš runsvdir ã log ã®æºåããã $ cd hello $ sudo cat << EOF | sudo tee run #!/usr/bin/env ruby # èªäœã¹ã¯ãªãã while true puts("hello ruby #{Time.now.to_i % 100}"); STDOUT.flush(); sleep(1); end EOF $ sudo cat << EOF | sudo tee log/run #!/bin/sh exec svlogd -ttt . EOF $ sudo chmod 755 run log/run $ tail -F log/current # ãã°ãèŠãããã $ sudo sv st . # daemon ã®ç¶æ
ã確èªããã run: .: (pid 35517 ) 46s; run: log: (pid 34727 ) 456s $ sudo sv st /service/hello/ # ãã£ã¬ã¯ããªã®æå®æ¹æ³ã¯èªç±ã $ sudo sv t . # TERM ã·ã°ãã«ã daemon ã«éã $ sudo sv st . run: .: (pid 35589 ) 1s; run: log: (pid 34727 ) 470s # èµ·åæéã 1s ã«ãªã£ãŠãã ãŸãšã çµå±ã®ãšããã**ã䜿ãã°ãããã䜿ããªããšäŸ¿å©ããããããããªãã**ãšããã®ãæ£çŽãªãšããã§ãã ãã®ãããTechLunch ã«ãããŠã¯ã 䜿ãããã®æé ãæéããããŠè§£èª¬ãããããã«ããŸããã ã¿ãªãããèå³ãããã°ããã²å°å
¥ããŠäœ¿ã£ãŠã¿ãŠãã ããã åèªèº«ãéçºãã·ã³ã§ãã macbook pro ã« runit ãå
¥ããŠãéçºç°å¢ã® Ruby ã MongoDB, Elasticsearch, Nginx ãªã©ã®ãµãŒã矀ã 宿çã«åããããã¡ãã£ãšããã¹ã¯ãªãããªã©ã runit ã§ç®¡çããŠããŸãã ç°ãªãèšå®ã®ãµãŒã矀ãäžã€ã®ãã·ã³ã«åå±
ãããå Žåããèšå®ãã¡ã€ã«ãåããŠå¥ããŒãã§ç«ã¡äžãããããŠããŸãã 以åã®ãããžã§ã¯ãã§ã¯æ¬çªç°å¢ã runit ã§æ§ç¯ããããšããããŸãããä»ã®ãããžã§ã¯ãã§ããããŸã£ããŽãããŒã¿ãåé€ãç¶ããã¹ã¯ãªããã runit ã§å¯Ÿå¿ããŠãã®ãŸãŸæŸçœ®(æŸçœ®ããŠã OK ãªãããã¡ã³ããã³ã¹ããªãŒ)ããŠãããããŸãã æè¿ã¯ã¯ã©ãŠããã³ã³ããæè¡ã掻æ³ã§ãããç°å¢ãæœè±¡åããããšããæµãããããŸããããããªãããããããããã»ã¹ã UNIX OS èªäœãç°å¢ãæœè±¡åããããã®æè¡çŸ€ã§ãããããã£ãåºæ¬çãªæè¡ãšä»²è¯ãããããšã§ãç©äºãã·ã³ãã«ã«ãªãããšãããã®ã§ã¯ãªãããšèãããããªãããæ¥ã
éçºã«åãçµãã§ããŸãã ãç¥ãã ã¡ãã¬ãŒã§ã¯ãå»çä»è·ã®æ±äººãµã€ãã ãžã§ãã¡ãã¬ãŒ ããå»åž«ãã¡ãã€ãããªã³ã©ã€ã³å»çäºå
žã MEDLEY ããå£ã³ãã§æ¢ããä»è·æœèšã®æ€çŽ¢ãµã€ãã ä»è·ã®ã»ãã ãããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ããªã©ã®ãããã¯ããæäŸããŠããŸãããããã®ãµãŒãã¹ã®æ¡å€§ãåããŠããã®æé·ãæ¯ãããšã³ãžãã¢ã»ãã¶ã€ããŒãåéããŠããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp ã¡ãã¬ãŒã§äžç·ã«å»çäœéšãå€ãããããã¯ãäœãã«é¢ããããæ¹ã®ãé£çµ¡ãåŸ
ã¡ããŠãããŸãã
ã¡ãã¬ãŒéçºæ¬éšã® nakatani ã§ãã éçºæ¬éšã§å®æçã«éå¬ããŠããå匷äŒãTechLunchãã§ã runit ãšãã unix ã®ããã»ã¹ã¹ãŒããã€ã¶ã«ã€ããŠã話ããŸããã ãã®å
容ã«ã€ããŠç޹ä»ãããŠããã ããŸãã runit èªäœã¯ç¹ã«ç®æ°ããæè¡ã§ã¯ãªã(Linux ã® busybox ã«åããããŠãããããæ¯ããæè¡ã§ã)ã倧ããŠé£ãã話é¡ã§ããããŸããã ãã ãå人çã«ã¯äŸ¿å©ã«äœ¿ã£ãŠãã ææŸããªãããŒã« ã§ãããããã¹ãŒããã€ã¶ãšãããã®ã®ååšãç¥ãã㫠䜿ããã«ãã人ããããšå¿äœç¡ããªã ãšããæããããTechLunch ã®ããŒããšããŠåãäžããæ¬¡ç¬¬ã§ãã runit ãšã¯ãªããªã®ã ããã»ã¹ãããŒã¢ã³ãšããŠç«ã¡äžããŠãããã»ã¹ãæ»ãã§ãå床起åãç¶ããŠãããããŒã«é¡ã§ããC èšèªã§éçºãããŠããŸãã Linux ãªã©ã® unix ã§ã¯ãããŠãæšæºã§ init, Upstart, Systemd, launchd ãªã©ã®ã¹ãŒããã€ã¶ãçµã¿èŸŒãŸããŠããŸãã runit ã¯ããããšåããããªäœçœ®ã¥ãã®ãã®ã§ãã qmail ã®äœè
ã§ãã djb ãäœã£ã daemontools ã®åŸç¶ã®ãããã¯ãã§ãã runit ããããšäœã䟿å©ãªã®ã â ãã·ã³ãèµ·åããŠããããããããã»ã¹ãåäœããç¶ããããšãã§ãã ãã·ã³ãç«ã¡äžããããšã«ãèµ·åã³ãã³ããå©ããããããã»ã¹ãèœã¡ããšãã«åèµ·åãããå¿
èŠããããŸããã ãŸãããã©ã¢ã°ã©ãŠã³ãã§åäœããããã»ã¹ãèµ·åããåŸã«ã端æ«ãåãé¢ãæäœãããå¿
èŠããããŸããã ãã ãããã¯ä»ã®ã¹ãŒããã€ã¶ã§ãåãããšãå®çŸã§ããŸãã â ãã®å Žãã®ãã§äœã£ãã¹ã¯ãªããããã»ãŒãã®ãŸãŸããŒã¢ã³åã§ãã Shell, Ruby, Perl, Haskell ã©ã®ãããªèšèªã§äœã£ãã¹ã¯ãªããã§ãã£ãŠãã ã·ã§ã«ãªã©ã§å®è¡å¯èœãªãã¡ã€ã«ãããã°ãããããã®ãŸãŸããŒã¢ã³ãšããŠå®è¡ããããšãã§ããŸã ã â ã¹ã¯ãªããã®æšæºåºåããã®ãŸãŸãã°ãã¡ã€ã«ãšããŠæ±ãããšãã§ãã svlogd ãšããããã°ã©ã ããããŒã¢ã³ã®æšæºåºåããã°åããããŒããŒã·ã§ã³ãªã©ã®é¢åãèŠãŠãããŸãã èªäœã®ããŒã¢ã³ãæã£ãéãã«åããªãéã®ãããã°ã容æã§ãã macOS ãžã®å°å
¥æ¹æ³ macOS ã«å°å
¥ããããã®æé ãèšèŒããŸãã詳ããã¯ã¹ã©ã€ãã runit ã®ããã¥ã¡ã³ããªã©ãçè§£ããŠäœ¿ãããã«ããŠãã ããã Xcode ã Homebrew ã macOS ã«å°å
¥ããŠããããšãåæã§ãã /service ã root ã® runit ãã£ã¬ã¯ããªãšããŠèšå®ããæé $ brew install runit # macports feels better. $ sudo mkdir /service $ sudo cat << EOF | sudo tee /Library/LaunchDaemons/runit.plist <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd" > <plist version='1.0'> <dict> <key>Label</key><string>runit</string> <key>ProgramArguments</key> <array> <string>sh</string><string>-c</string> <string>PATH="/usr/local/sbin:/usr/local/bin: $PATH " exec '/usr/local/bin/runsvdir' '/service' </string> <string>;</string> <string>--pid=exec</string> </array> <key>Debug</key><false/><key>Disabled</key><true/><key>KeepAlive</key><true/> </dict> </plist> EOF $ launchctl load -w > /Library/LaunchDaemons/runit.plist $ launchctl list | grep runit èªäœã¹ã¯ãªãããããŒã¢ã³ã«ããæé $ cd /service/ $ sudo mkdir -p hello/log # log ãåæã«ã€ãããš runsvdir ã log ã®æºåããã $ cd hello $ sudo cat << EOF | sudo tee run #!/usr/bin/env ruby # èªäœã¹ã¯ãªãã while true puts("hello ruby #{Time.now.to_i % 100}"); STDOUT.flush(); sleep(1); end EOF $ sudo cat << EOF | sudo tee log/run #!/bin/sh exec svlogd -ttt . EOF $ sudo chmod 755 run log/run $ tail -F log/current # ãã°ãèŠãããã $ sudo sv st . # daemon ã®ç¶æ
ã確èªããã run: .: (pid 35517 ) 46s; run: log: (pid 34727 ) 456s $ sudo sv st /service/hello/ # ãã£ã¬ã¯ããªã®æå®æ¹æ³ã¯èªç±ã $ sudo sv t . # TERM ã·ã°ãã«ã daemon ã«éã $ sudo sv st . run: .: (pid 35589 ) 1s; run: log: (pid 34727 ) 470s # èµ·åæéã 1s ã«ãªã£ãŠãã ãŸãšã çµå±ã®ãšããã**ã䜿ãã°ãããã䜿ããªããšäŸ¿å©ããããããããªãã**ãšããã®ãæ£çŽãªãšããã§ãã ãã®ãããTechLunch ã«ãããŠã¯ã 䜿ãããã®æé ãæéããããŠè§£èª¬ãããããã«ããŸããã ã¿ãªãããèå³ãããã°ããã²å°å
¥ããŠäœ¿ã£ãŠã¿ãŠãã ããã åèªèº«ãéçºãã·ã³ã§ãã macbook pro ã« runit ãå
¥ããŠãéçºç°å¢ã® Ruby ã MongoDB, Elasticsearch, Nginx ãªã©ã®ãµãŒã矀ã 宿çã«åããããã¡ãã£ãšããã¹ã¯ãªãããªã©ã runit ã§ç®¡çããŠããŸãã ç°ãªãèšå®ã®ãµãŒã矀ãäžã€ã®ãã·ã³ã«åå±
ãããå Žåããèšå®ãã¡ã€ã«ãåããŠå¥ããŒãã§ç«ã¡äžãããããŠããŸãã 以åã®ãããžã§ã¯ãã§ã¯æ¬çªç°å¢ã runit ã§æ§ç¯ããããšããããŸãããä»ã®ãããžã§ã¯ãã§ããããŸã£ããŽãããŒã¿ãåé€ãç¶ããã¹ã¯ãªããã runit ã§å¯Ÿå¿ããŠãã®ãŸãŸæŸçœ®(æŸçœ®ããŠã OK ãªãããã¡ã³ããã³ã¹ããªãŒ)ããŠãããããŸãã æè¿ã¯ã¯ã©ãŠããã³ã³ããæè¡ã掻æ³ã§ãããç°å¢ãæœè±¡åããããšããæµãããããŸããããããªãããããããããã»ã¹ã UNIX OS èªäœãç°å¢ãæœè±¡åããããã®æè¡çŸ€ã§ãããããã£ãåºæ¬çãªæè¡ãšä»²è¯ãããããšã§ãç©äºãã·ã³ãã«ã«ãªãããšãããã®ã§ã¯ãªãããšèãããããªãããæ¥ã
éçºã«åãçµãã§ããŸãã ãç¥ãã ã¡ãã¬ãŒã§ã¯ãå»çä»è·ã®æ±äººãµã€ãã ãžã§ãã¡ãã¬ãŒ ããå»åž«ãã¡ãã€ãããªã³ã©ã€ã³å»çäºå
žã MEDLEY ããå£ã³ãã§æ¢ããä»è·æœèšã®æ€çŽ¢ãµã€ãã ä»è·ã®ã»ãã ãããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ããªã©ã®ãããã¯ããæäŸããŠããŸãããããã®ãµãŒãã¹ã®æ¡å€§ãåããŠããã®æé·ãæ¯ãããšã³ãžãã¢ã»ãã¶ã€ããŒãåéããŠããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp ã¡ãã¬ãŒã§äžç·ã«å»çäœéšãå€ãããããã¯ãäœãã«é¢ããããæ¹ã®ãé£çµ¡ãåŸ
ã¡ããŠãããŸãã
ã¡ãã¬ãŒéçºæ¬éšã® nakatani ã§ãã éçºæ¬éšã§å®æçã«éå¬ããŠããå匷äŒãTechLunchãã§ã runit ãšãã unix ã®ããã»ã¹ã¹ãŒããã€ã¶ã«ã€ããŠã話ããŸããã ãã®å
容ã«ã€ããŠç޹ä»ãããŠããã ããŸãã runit èªäœã¯ç¹ã«ç®æ°ããæè¡ã§ã¯ãªã(Linux ã® busybox ã«åããããŠãããããæ¯ããæè¡ã§ã)ã倧ããŠé£ãã話é¡ã§ããããŸããã ãã ãå人çã«ã¯äŸ¿å©ã«äœ¿ã£ãŠãã ææŸããªãããŒã« ã§ãããããã¹ãŒããã€ã¶ãšãããã®ã®ååšãç¥ãã㫠䜿ããã«ãã人ããããšå¿äœç¡ããªã ãšããæããããTechLunch ã®ããŒããšããŠåãäžããæ¬¡ç¬¬ã§ãã runit ãšã¯ãªããªã®ã ããã»ã¹ãããŒã¢ã³ãšããŠç«ã¡äžããŠãããã»ã¹ãæ»ãã§ãå床起åãç¶ããŠãããããŒã«é¡ã§ããC èšèªã§éçºãããŠããŸãã Linux ãªã©ã® unix ã§ã¯ãããŠãæšæºã§ init, Upstart, Systemd, launchd ãªã©ã®ã¹ãŒããã€ã¶ãçµã¿èŸŒãŸããŠããŸãã runit ã¯ããããšåããããªäœçœ®ã¥ãã®ãã®ã§ãã qmail ã®äœè
ã§ãã djb ãäœã£ã daemontools ã®åŸç¶ã®ãããã¯ãã§ãã runit ããããšäœã䟿å©ãªã®ã â ãã·ã³ãèµ·åããŠããããããããã»ã¹ãåäœããç¶ããããšãã§ãã ãã·ã³ãç«ã¡äžããããšã«ãèµ·åã³ãã³ããå©ããããããã»ã¹ãèœã¡ããšãã«åèµ·åãããå¿
èŠããããŸããã ãŸãããã©ã¢ã°ã©ãŠã³ãã§åäœããããã»ã¹ãèµ·åããåŸã«ã端æ«ãåãé¢ãæäœãããå¿
èŠããããŸããã ãã ãããã¯ä»ã®ã¹ãŒããã€ã¶ã§ãåãããšãå®çŸã§ããŸãã â ãã®å Žãã®ãã§äœã£ãã¹ã¯ãªããããã»ãŒãã®ãŸãŸããŒã¢ã³åã§ãã Shell, Ruby, Perl, Haskell ã©ã®ãããªèšèªã§äœã£ãã¹ã¯ãªããã§ãã£ãŠãã ã·ã§ã«ãªã©ã§å®è¡å¯èœãªãã¡ã€ã«ãããã°ãããããã®ãŸãŸããŒã¢ã³ãšããŠå®è¡ããããšãã§ããŸã ã â ã¹ã¯ãªããã®æšæºåºåããã®ãŸãŸãã°ãã¡ã€ã«ãšããŠæ±ãããšãã§ãã svlogd ãšããããã°ã©ã ããããŒã¢ã³ã®æšæºåºåããã°åããããŒããŒã·ã§ã³ãªã©ã®é¢åãèŠãŠãããŸãã èªäœã®ããŒã¢ã³ãæã£ãéãã«åããªãéã®ãããã°ã容æã§ãã macOS ãžã®å°å
¥æ¹æ³ macOS ã«å°å
¥ããããã®æé ãèšèŒããŸãã詳ããã¯ã¹ã©ã€ãã runit ã®ããã¥ã¡ã³ããªã©ãçè§£ããŠäœ¿ãããã«ããŠãã ããã Xcode ã Homebrew ã macOS ã«å°å
¥ããŠããããšãåæã§ãã /service ã root ã® runit ãã£ã¬ã¯ããªãšããŠèšå®ããæé $ brew install runit # macports feels better. $ sudo mkdir /service $ sudo cat << EOF | sudo tee /Library/LaunchDaemons/runit.plist <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd" > <plist version='1.0'> <dict> <key>Label</key><string>runit</string> <key>ProgramArguments</key> <array> <string>sh</string><string>-c</string> <string>PATH="/usr/local/sbin:/usr/local/bin: $PATH " exec '/usr/local/bin/runsvdir' '/service' </string> <string>;</string> <string>--pid=exec</string> </array> <key>Debug</key><false/><key>Disabled</key><true/><key>KeepAlive</key><true/> </dict> </plist> EOF $ launchctl load -w > /Library/LaunchDaemons/runit.plist $ launchctl list | grep runit èªäœã¹ã¯ãªãããããŒã¢ã³ã«ããæé $ cd /service/ $ sudo mkdir -p hello/log # log ãåæã«ã€ãããš runsvdir ã log ã®æºåããã $ cd hello $ sudo cat << EOF | sudo tee run #!/usr/bin/env ruby # èªäœã¹ã¯ãªãã while true puts("hello ruby #{Time.now.to_i % 100}"); STDOUT.flush(); sleep(1); end EOF $ sudo cat << EOF | sudo tee log/run #!/bin/sh exec svlogd -ttt . EOF $ sudo chmod 755 run log/run $ tail -F log/current # ãã°ãèŠãããã $ sudo sv st . # daemon ã®ç¶æ
ã確èªããã run: .: (pid 35517 ) 46s; run: log: (pid 34727 ) 456s $ sudo sv st /service/hello/ # ãã£ã¬ã¯ããªã®æå®æ¹æ³ã¯èªç±ã $ sudo sv t . # TERM ã·ã°ãã«ã daemon ã«éã $ sudo sv st . run: .: (pid 35589 ) 1s; run: log: (pid 34727 ) 470s # èµ·åæéã 1s ã«ãªã£ãŠãã ãŸãšã çµå±ã®ãšããã**ã䜿ãã°ãããã䜿ããªããšäŸ¿å©ããããããããªãã**ãšããã®ãæ£çŽãªãšããã§ãã ãã®ãããTechLunch ã«ãããŠã¯ã 䜿ãããã®æé ãæéããããŠè§£èª¬ãããããã«ããŸããã ã¿ãªãããèå³ãããã°ããã²å°å
¥ããŠäœ¿ã£ãŠã¿ãŠãã ããã åèªèº«ãéçºãã·ã³ã§ãã macbook pro ã« runit ãå
¥ããŠãéçºç°å¢ã® Ruby ã MongoDB, Elasticsearch, Nginx ãªã©ã®ãµãŒã矀ã 宿çã«åããããã¡ãã£ãšããã¹ã¯ãªãããªã©ã runit ã§ç®¡çããŠããŸãã ç°ãªãèšå®ã®ãµãŒã矀ãäžã€ã®ãã·ã³ã«åå±
ãããå Žåããèšå®ãã¡ã€ã«ãåããŠå¥ããŒãã§ç«ã¡äžãããããŠããŸãã 以åã®ãããžã§ã¯ãã§ã¯æ¬çªç°å¢ã runit ã§æ§ç¯ããããšããããŸãããä»ã®ãããžã§ã¯ãã§ããããŸã£ããŽãããŒã¿ãåé€ãç¶ããã¹ã¯ãªããã runit ã§å¯Ÿå¿ããŠãã®ãŸãŸæŸçœ®(æŸçœ®ããŠã OK ãªãããã¡ã³ããã³ã¹ããªãŒ)ããŠãããããŸãã æè¿ã¯ã¯ã©ãŠããã³ã³ããæè¡ã掻æ³ã§ãããç°å¢ãæœè±¡åããããšããæµãããããŸããããããªãããããããããã»ã¹ã UNIX OS èªäœãç°å¢ãæœè±¡åããããã®æè¡çŸ€ã§ãããããã£ãåºæ¬çãªæè¡ãšä»²è¯ãããããšã§ãç©äºãã·ã³ãã«ã«ãªãããšãããã®ã§ã¯ãªãããšèãããããªãããæ¥ã
éçºã«åãçµãã§ããŸãã ãç¥ãã ã¡ãã¬ãŒã§ã¯ãå»çä»è·ã®æ±äººãµã€ãã ãžã§ãã¡ãã¬ãŒ ããå»åž«ãã¡ãã€ãããªã³ã©ã€ã³å»çäºå
žã MEDLEY ããå£ã³ãã§æ¢ããä»è·æœèšã®æ€çŽ¢ãµã€ãã ä»è·ã®ã»ãã ãããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ããªã©ã®ãããã¯ããæäŸããŠããŸãããããã®ãµãŒãã¹ã®æ¡å€§ãåããŠããã®æé·ãæ¯ãããšã³ãžãã¢ã»ãã¶ã€ããŒãåéããŠããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp ã¡ãã¬ãŒã§äžç·ã«å»çäœéšãå€ãããããã¯ãäœãã«é¢ããããæ¹ã®ãé£çµ¡ãåŸ
ã¡ããŠãããŸãã
ã¡ãã¬ãŒéçºæ¬éšã® nakatani ã§ãã éçºæ¬éšã§å®æçã«éå¬ããŠããå匷äŒãTechLunchãã§ã runit ãšãã unix ã®ããã»ã¹ã¹ãŒããã€ã¶ã«ã€ããŠã話ããŸããã ãã®å
容ã«ã€ããŠç޹ä»ãããŠããã ããŸãã runit èªäœã¯ç¹ã«ç®æ°ããæè¡ã§ã¯ãªã(Linux ã® busybox ã«åããããŠãããããæ¯ããæè¡ã§ã)ã倧ããŠé£ãã話é¡ã§ããããŸããã ãã ãå人çã«ã¯äŸ¿å©ã«äœ¿ã£ãŠãã ææŸããªãããŒã« ã§ãããããã¹ãŒããã€ã¶ãšãããã®ã®ååšãç¥ãã㫠䜿ããã«ãã人ããããšå¿äœç¡ããªã ãšããæããããTechLunch ã®ããŒããšããŠåãäžããæ¬¡ç¬¬ã§ãã runit ãšã¯ãªããªã®ã ããã»ã¹ãããŒã¢ã³ãšããŠç«ã¡äžããŠãããã»ã¹ãæ»ãã§ãå床起åãç¶ããŠãããããŒã«é¡ã§ããC èšèªã§éçºãããŠããŸãã Linux ãªã©ã® unix ã§ã¯ãããŠãæšæºã§ init, Upstart, Systemd, launchd ãªã©ã®ã¹ãŒããã€ã¶ãçµã¿èŸŒãŸããŠããŸãã runit ã¯ããããšåããããªäœçœ®ã¥ãã®ãã®ã§ãã qmail ã®äœè
ã§ãã djb ãäœã£ã daemontools ã®åŸç¶ã®ãããã¯ãã§ãã runit ããããšäœã䟿å©ãªã®ã â ãã·ã³ãèµ·åããŠããããããããã»ã¹ãåäœããç¶ããããšãã§ãã ãã·ã³ãç«ã¡äžããããšã«ãèµ·åã³ãã³ããå©ããããããã»ã¹ãèœã¡ããšãã«åèµ·åãããå¿
èŠããããŸããã ãŸãããã©ã¢ã°ã©ãŠã³ãã§åäœããããã»ã¹ãèµ·åããåŸã«ã端æ«ãåãé¢ãæäœãããå¿
èŠããããŸããã ãã ãããã¯ä»ã®ã¹ãŒããã€ã¶ã§ãåãããšãå®çŸã§ããŸãã â ãã®å Žãã®ãã§äœã£ãã¹ã¯ãªããããã»ãŒãã®ãŸãŸããŒã¢ã³åã§ãã Shell, Ruby, Perl, Haskell ã©ã®ãããªèšèªã§äœã£ãã¹ã¯ãªããã§ãã£ãŠãã ã·ã§ã«ãªã©ã§å®è¡å¯èœãªãã¡ã€ã«ãããã°ãããããã®ãŸãŸããŒã¢ã³ãšããŠå®è¡ããããšãã§ããŸã ã â ã¹ã¯ãªããã®æšæºåºåããã®ãŸãŸãã°ãã¡ã€ã«ãšããŠæ±ãããšãã§ãã svlogd ãšããããã°ã©ã ããããŒã¢ã³ã®æšæºåºåããã°åããããŒããŒã·ã§ã³ãªã©ã®é¢åãèŠãŠãããŸãã èªäœã®ããŒã¢ã³ãæã£ãéãã«åããªãéã®ãããã°ã容æã§ãã macOS ãžã®å°å
¥æ¹æ³ macOS ã«å°å
¥ããããã®æé ãèšèŒããŸãã詳ããã¯ã¹ã©ã€ãã runit ã®ããã¥ã¡ã³ããªã©ãçè§£ããŠäœ¿ãããã«ããŠãã ããã Xcode ã Homebrew ã macOS ã«å°å
¥ããŠããããšãåæã§ãã /service ã root ã® runit ãã£ã¬ã¯ããªãšããŠèšå®ããæé $ brew install runit # macports feels better. $ sudo mkdir /service $ sudo cat << EOF | sudo tee /Library/LaunchDaemons/runit.plist <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd" > <plist version='1.0'> <dict> <key>Label</key><string>runit</string> <key>ProgramArguments</key> <array> <string>sh</string><string>-c</string> <string>PATH="/usr/local/sbin:/usr/local/bin: $PATH " exec '/usr/local/bin/runsvdir' '/service' </string> <string>;</string> <string>--pid=exec</string> </array> <key>Debug</key><false/><key>Disabled</key><true/><key>KeepAlive</key><true/> </dict> </plist> EOF $ launchctl load -w > /Library/LaunchDaemons/runit.plist $ launchctl list | grep runit èªäœã¹ã¯ãªãããããŒã¢ã³ã«ããæé $ cd /service/ $ sudo mkdir -p hello/log # log ãåæã«ã€ãããš runsvdir ã log ã®æºåããã $ cd hello $ sudo cat << EOF | sudo tee run #!/usr/bin/env ruby # èªäœã¹ã¯ãªãã while true puts("hello ruby #{Time.now.to_i % 100}"); STDOUT.flush(); sleep(1); end EOF $ sudo cat << EOF | sudo tee log/run #!/bin/sh exec svlogd -ttt . EOF $ sudo chmod 755 run log/run $ tail -F log/current # ãã°ãèŠãããã $ sudo sv st . # daemon ã®ç¶æ
ã確èªããã run: .: (pid 35517 ) 46s; run: log: (pid 34727 ) 456s $ sudo sv st /service/hello/ # ãã£ã¬ã¯ããªã®æå®æ¹æ³ã¯èªç±ã $ sudo sv t . # TERM ã·ã°ãã«ã daemon ã«éã $ sudo sv st . run: .: (pid 35589 ) 1s; run: log: (pid 34727 ) 470s # èµ·åæéã 1s ã«ãªã£ãŠãã ãŸãšã çµå±ã®ãšããã**ã䜿ãã°ãããã䜿ããªããšäŸ¿å©ããããããããªãã**ãšããã®ãæ£çŽãªãšããã§ãã ãã®ãããTechLunch ã«ãããŠã¯ã 䜿ãããã®æé ãæéããããŠè§£èª¬ãããããã«ããŸããã ã¿ãªãããèå³ãããã°ããã²å°å
¥ããŠäœ¿ã£ãŠã¿ãŠãã ããã åèªèº«ãéçºãã·ã³ã§ãã macbook pro ã« runit ãå
¥ããŠãéçºç°å¢ã® Ruby ã MongoDB, Elasticsearch, Nginx ãªã©ã®ãµãŒã矀ã 宿çã«åããããã¡ãã£ãšããã¹ã¯ãªãããªã©ã runit ã§ç®¡çããŠããŸãã ç°ãªãèšå®ã®ãµãŒã矀ãäžã€ã®ãã·ã³ã«åå±
ãããå Žåããèšå®ãã¡ã€ã«ãåããŠå¥ããŒãã§ç«ã¡äžãããããŠããŸãã 以åã®ãããžã§ã¯ãã§ã¯æ¬çªç°å¢ã runit ã§æ§ç¯ããããšããããŸãããä»ã®ãããžã§ã¯ãã§ããããŸã£ããŽãããŒã¿ãåé€ãç¶ããã¹ã¯ãªããã runit ã§å¯Ÿå¿ããŠãã®ãŸãŸæŸçœ®(æŸçœ®ããŠã OK ãªãããã¡ã³ããã³ã¹ããªãŒ)ããŠãããããŸãã æè¿ã¯ã¯ã©ãŠããã³ã³ããæè¡ã掻æ³ã§ãããç°å¢ãæœè±¡åããããšããæµãããããŸããããããªãããããããããã»ã¹ã UNIX OS èªäœãç°å¢ãæœè±¡åããããã®æè¡çŸ€ã§ãããããã£ãåºæ¬çãªæè¡ãšä»²è¯ãããããšã§ãç©äºãã·ã³ãã«ã«ãªãããšãããã®ã§ã¯ãªãããšèãããããªãããæ¥ã
éçºã«åãçµãã§ããŸãã ãç¥ãã ã¡ãã¬ãŒã§ã¯ãå»çä»è·ã®æ±äººãµã€ãã ãžã§ãã¡ãã¬ãŒ ããå»åž«ãã¡ãã€ãããªã³ã©ã€ã³å»çäºå
žã MEDLEY ããå£ã³ãã§æ¢ããä»è·æœèšã®æ€çŽ¢ãµã€ãã ä»è·ã®ã»ãã ãããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ããªã©ã®ãããã¯ããæäŸããŠããŸãããããã®ãµãŒãã¹ã®æ¡å€§ãåããŠããã®æé·ãæ¯ãããšã³ãžãã¢ã»ãã¶ã€ããŒãåéããŠããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp ã¡ãã¬ãŒã§äžç·ã«å»çäœéšãå€ãããããã¯ãäœãã«é¢ããããæ¹ã®ãé£çµ¡ãåŸ
ã¡ããŠãããŸãã
ã¡ãã¬ãŒéçºæ¬éšã® nakatani ã§ãã éçºæ¬éšã§å®æçã«éå¬ããŠããå匷äŒãTechLunchãã§ã runit ãšãã unix ã®ããã»ã¹ã¹ãŒããã€ã¶ã«ã€ããŠã話ããŸããã ãã®å
容ã«ã€ããŠç޹ä»ãããŠããã ããŸãã runit èªäœã¯ç¹ã«ç®æ°ããæè¡ã§ã¯ãªã(Linux ã® busybox ã«åããããŠãããããæ¯ããæè¡ã§ã)ã倧ããŠé£ãã話é¡ã§ããããŸããã ãã ãå人çã«ã¯äŸ¿å©ã«äœ¿ã£ãŠãã ææŸããªãããŒã« ã§ãããããã¹ãŒããã€ã¶ãšãããã®ã®ååšãç¥ãã㫠䜿ããã«ãã人ããããšå¿äœç¡ããªã ãšããæããããTechLunch ã®ããŒããšããŠåãäžããæ¬¡ç¬¬ã§ãã runit ãšã¯ãªããªã®ã ããã»ã¹ãããŒã¢ã³ãšããŠç«ã¡äžããŠãããã»ã¹ãæ»ãã§ãå床起åãç¶ããŠãããããŒã«é¡ã§ããC èšèªã§éçºãããŠããŸãã Linux ãªã©ã® unix ã§ã¯ãããŠãæšæºã§ init, Upstart, Systemd, launchd ãªã©ã®ã¹ãŒããã€ã¶ãçµã¿èŸŒãŸããŠããŸãã runit ã¯ããããšåããããªäœçœ®ã¥ãã®ãã®ã§ãã qmail ã®äœè
ã§ãã djb ãäœã£ã daemontools ã®åŸç¶ã®ãããã¯ãã§ãã runit ããããšäœã䟿å©ãªã®ã â ãã·ã³ãèµ·åããŠããããããããã»ã¹ãåäœããç¶ããããšãã§ãã ãã·ã³ãç«ã¡äžããããšã«ãèµ·åã³ãã³ããå©ããããããã»ã¹ãèœã¡ããšãã«åèµ·åãããå¿
èŠããããŸããã ãŸãããã©ã¢ã°ã©ãŠã³ãã§åäœããããã»ã¹ãèµ·åããåŸã«ã端æ«ãåãé¢ãæäœãããå¿
èŠããããŸããã ãã ãããã¯ä»ã®ã¹ãŒããã€ã¶ã§ãåãããšãå®çŸã§ããŸãã â ãã®å Žãã®ãã§äœã£ãã¹ã¯ãªããããã»ãŒãã®ãŸãŸããŒã¢ã³åã§ãã Shell, Ruby, Perl, Haskell ã©ã®ãããªèšèªã§äœã£ãã¹ã¯ãªããã§ãã£ãŠãã ã·ã§ã«ãªã©ã§å®è¡å¯èœãªãã¡ã€ã«ãããã°ãããããã®ãŸãŸããŒã¢ã³ãšããŠå®è¡ããããšãã§ããŸã ã â ã¹ã¯ãªããã®æšæºåºåããã®ãŸãŸãã°ãã¡ã€ã«ãšããŠæ±ãããšãã§ãã svlogd ãšããããã°ã©ã ããããŒã¢ã³ã®æšæºåºåããã°åããããŒããŒã·ã§ã³ãªã©ã®é¢åãèŠãŠãããŸãã èªäœã®ããŒã¢ã³ãæã£ãéãã«åããªãéã®ãããã°ã容æã§ãã macOS ãžã®å°å
¥æ¹æ³ macOS ã«å°å
¥ããããã®æé ãèšèŒããŸãã詳ããã¯ã¹ã©ã€ãã runit ã®ããã¥ã¡ã³ããªã©ãçè§£ããŠäœ¿ãããã«ããŠãã ããã Xcode ã Homebrew ã macOS ã«å°å
¥ããŠããããšãåæã§ãã /service ã root ã® runit ãã£ã¬ã¯ããªãšããŠèšå®ããæé $ brew install runit # macports feels better. $ sudo mkdir /service $ sudo cat << EOF | sudo tee /Library/LaunchDaemons/runit.plist <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd" > <plist version='1.0'> <dict> <key>Label</key><string>runit</string> <key>ProgramArguments</key> <array> <string>sh</string><string>-c</string> <string>PATH="/usr/local/sbin:/usr/local/bin: $PATH " exec '/usr/local/bin/runsvdir' '/service' </string> <string>;</string> <string>--pid=exec</string> </array> <key>Debug</key><false/><key>Disabled</key><true/><key>KeepAlive</key><true/> </dict> </plist> EOF $ launchctl load -w > /Library/LaunchDaemons/runit.plist $ launchctl list | grep runit èªäœã¹ã¯ãªãããããŒã¢ã³ã«ããæé $ cd /service/ $ sudo mkdir -p hello/log # log ãåæã«ã€ãããš runsvdir ã log ã®æºåããã $ cd hello $ sudo cat << EOF | sudo tee run #!/usr/bin/env ruby # èªäœã¹ã¯ãªãã while true puts("hello ruby #{Time.now.to_i % 100}"); STDOUT.flush(); sleep(1); end EOF $ sudo cat << EOF | sudo tee log/run #!/bin/sh exec svlogd -ttt . EOF $ sudo chmod 755 run log/run $ tail -F log/current # ãã°ãèŠãããã $ sudo sv st . # daemon ã®ç¶æ
ã確èªããã run: .: (pid 35517 ) 46s; run: log: (pid 34727 ) 456s $ sudo sv st /service/hello/ # ãã£ã¬ã¯ããªã®æå®æ¹æ³ã¯èªç±ã $ sudo sv t . # TERM ã·ã°ãã«ã daemon ã«éã $ sudo sv st . run: .: (pid 35589 ) 1s; run: log: (pid 34727 ) 470s # èµ·åæéã 1s ã«ãªã£ãŠãã ãŸãšã çµå±ã®ãšããã**ã䜿ãã°ãããã䜿ããªããšäŸ¿å©ããããããããªãã**ãšããã®ãæ£çŽãªãšããã§ãã ãã®ãããTechLunch ã«ãããŠã¯ã 䜿ãããã®æé ãæéããããŠè§£èª¬ãããããã«ããŸããã ã¿ãªãããèå³ãããã°ããã²å°å
¥ããŠäœ¿ã£ãŠã¿ãŠãã ããã åèªèº«ãéçºãã·ã³ã§ãã macbook pro ã« runit ãå
¥ããŠãéçºç°å¢ã® Ruby ã MongoDB, Elasticsearch, Nginx ãªã©ã®ãµãŒã矀ã 宿çã«åããããã¡ãã£ãšããã¹ã¯ãªãããªã©ã runit ã§ç®¡çããŠããŸãã ç°ãªãèšå®ã®ãµãŒã矀ãäžã€ã®ãã·ã³ã«åå±
ãããå Žåããèšå®ãã¡ã€ã«ãåããŠå¥ããŒãã§ç«ã¡äžãããããŠããŸãã 以åã®ãããžã§ã¯ãã§ã¯æ¬çªç°å¢ã runit ã§æ§ç¯ããããšããããŸãããä»ã®ãããžã§ã¯ãã§ããããŸã£ããŽãããŒã¿ãåé€ãç¶ããã¹ã¯ãªããã runit ã§å¯Ÿå¿ããŠãã®ãŸãŸæŸçœ®(æŸçœ®ããŠã OK ãªãããã¡ã³ããã³ã¹ããªãŒ)ããŠãããããŸãã æè¿ã¯ã¯ã©ãŠããã³ã³ããæè¡ã掻æ³ã§ãããç°å¢ãæœè±¡åããããšããæµãããããŸããããããªãããããããããã»ã¹ã UNIX OS èªäœãç°å¢ãæœè±¡åããããã®æè¡çŸ€ã§ãããããã£ãåºæ¬çãªæè¡ãšä»²è¯ãããããšã§ãç©äºãã·ã³ãã«ã«ãªãããšãããã®ã§ã¯ãªãããšèãããããªãããæ¥ã
éçºã«åãçµãã§ããŸãã ãç¥ãã ã¡ãã¬ãŒã§ã¯ãå»çä»è·ã®æ±äººãµã€ãã ãžã§ãã¡ãã¬ãŒ ããå»åž«ãã¡ãã€ãããªã³ã©ã€ã³å»çäºå
žã MEDLEY ããå£ã³ãã§æ¢ããä»è·æœèšã®æ€çŽ¢ãµã€ãã ä»è·ã®ã»ãã ãããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ããªã©ã®ãããã¯ããæäŸããŠããŸãããããã®ãµãŒãã¹ã®æ¡å€§ãåããŠããã®æé·ãæ¯ãããšã³ãžãã¢ã»ãã¶ã€ããŒãåéããŠããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp ã¡ãã¬ãŒã§äžç·ã«å»çäœéšãå€ãããããã¯ãäœãã«é¢ããããæ¹ã®ãé£çµ¡ãåŸ
ã¡ããŠãããŸãã
ããã«ã¡ã¯ïŒéçºæ¬éšã®ãšã³ãžãã¢ã» æ°å±
ã§ãã ã¡ãã¬ãŒã¯ 9/18ã20 ã«éå¬ãããã RubyKaigi 2017 ã® Ruby Sponsor ãåããããŠããã ããŸãããïŒ9/15ã17 ã«éå¬ããã iOSDC JAPAN 2017 ã«åŒãç¶ãã®åè³ã§ãïŒã¡ãã¬ãŒã§ã¯ä»å¹Žããããã¯ã«ã³ãã¡ã¬ã³ã¹ãžã®åè³ãç©æ¥µçã«è¡ã£ãŠããŸãïŒ ã€ãã³ãåœæ¥ã¯ãåŒç€Ÿãã CTO ã®å¹³å±±ããšã³ãžãã¢ã®å¹³æšãšå®æžããããŠæ°å±
ã® 4 人ãåå ããŸãããä»åã¯ãã®ãšãã®æ§åãªã©ãã¬ããŒãããããšæããŸãã äŒå Žã®æ§å ä»å¹Žã¯åºå³¶çã®åºå³¶åœéäŒè°å Žã§ã®éå¬ã§ããã åºå³¶åœéäŒè°å Žã¯å¹³åèšå¿µå
¬åã®æ·å°å
ã«ãããè¿ãã«ã¯åçããŒã ãåºå³¶åãªã©ãããã®ã§ RubyKaigi ã®ã€ãã§ã«èгå
ãã¡ããããªããŠäººãå€ãã£ãã®ã§ã¯ãªãã§ããããã äŒå Žã®äžè§ã«ã¯ä»åã® RubyKaigi åå è
ãã©ãããæ¥ãããæ²ç€ºããããŒããèšçœ®ãããŠããŸããã æ¥æ¬ä»¥å€ãããããããã®äººãåå ããŠãã RubyKaigi ã®æ³šç®åºŠã®é«ãã䌺ããŸãã ãããŠé£ã«ãã£ãã¹ãã³ãµãŒããŒãã® MEDLEY ããŽããã£ãã確èªããŠãCTO 平山ãšãã·ã£ãªïŒïŒïŒ ããŒã¹ã®æ§å ç¶ããŠããŒã¹ã®æ§åãïŒ ããŒã¹ã®ä»äžããã¯ãããªæãã§ãã¡ãã¬ãŒã³ãŒãã¬ãŒãã«ã©ãŒã®èµ€ãç®ç«ã£ãŠè¯ãæãã§ããïŒ äž¡ãµã€ãã«ã¯ã¡ãã¬ãŒã®äºæ¥æŠèŠãšãã¡ãã£ã¢ãªã©ãããæ³šç®ãããããšãå€ããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ãã玹ä»ãããã¹ã¿ãŒãé
眮ãåçäžå€®ã®ã¢ãã¿ãŒã§ã¯ãã¹ããŒããã©ã³ã PC ã§å»åž«ã®èšºçãåãããããšãã CLINICS ã®ãµãŒãã¹æŠèŠãããã玹ä»åç»ãæµããäŒç€Ÿå
šäœããããã¯ãã«ã€ããŠèª¬æã§ããæºåãæŽããŸããã ããã«ãã£ã¯ãMEDLEY ã¹ããã«ãŒããMEDLEY ãã¡ãããMEDLEY çµåµèãã® 3 çš®é¡ãçšæããŸããã 1 æ¥ç®ã¯å°é¢šäžéã§æ°æž©ãäžæããæãããã®ããã MEDLEY ãã¡ãã倧掻èºããŠãããŸããïŒ MEDLEY çµåµèã¯ãã¶ã€ã³ã®ãããããšå»çç³»ãªãã§ã¯ãšããããšããããšãŠã奜è©ã§ããïŒåå è
ã®äžã«ã¯éŽæŠãããŠãã人ãå°ããæŠãå·ãè² ã£ãŠã人ãããŠãMEDLEY çµåµèãåå è
ã®ã圹ã«ç«ãŠãã®ã§ã¯ãªãã§ããããã ããŒã¹åã§ææ°èŸŒã 3 äººïŒ ã¡ãªã¿ã« T ã·ã£ãã¯ã¡ãã¬ãŒç¹è£œã® ããªã¥ãŒ T ã·ã£ãïŒå·ŠïŒãšã«ã¬ããžã㎠T ã·ã£ãïŒäžå€®ãšå³ïŒ ãççšããŠããŸãã åçã§ã¯èŠããŸããããããªã¥ãŒ T ã·ã£ãã«ã¯ã¡ãã¬ãŒã®ããªã¥ãŒïŒè¡åèŠç¯ïŒã®ã²ãšã€ã§ãããäžå€®çªç Žãã®æåãå
¥ã£ãŠããŸãã äž¡ T ã·ã£ãå
±ãç®ãçããŠãããåå è
ããã¯ãããããšãã声ãããã ããŠããã¡ãã奜è©ã§ããã ååŸã® 15:20~15:50 ã® Afternoon Break ã§ã¯å€§å¢ã®åå è
ãããŒã¹ãŸãŒã³ã«ã å®éã«ããŒã¹ã«è¶³ãéãã§ããã ããåå è
ãšã話ããŠãããšãã¡ãã¬ãŒã CLINICS ã®ããšãç¥ããªã人ãã»ãšãã©ã§ããããã¡ãã¬ãŒãå»çç³»ã®ãµãŒãã¹ãæäŸããŠããäŒç€Ÿã§ããããšããCLINICS ãšãããªã³ã©ã€ã³èšºçã¢ããªãéçºããŠããããšãã話ãããšèå³ãæã£ãŠããã ããããšãå€ãã£ãããã«æããŸãã ãä»åºŠç
é¢ã§èŠãããã䜿ã£ãŠã¿ãŸãïŒããšãã声ãããã ããããåå è
èªèº«ã®å»çäœéšãå
ã« CLINICS ãšãããµãŒãã¹ã«ã€ããŠæèŠã亀ãããããšãã¡ãã¬ãŒãšã³ãžãã¢ãšåå è
ãå¯ã«ã³ãã¥ãã±ãŒã·ã§ã³ããšããè¯ãæ©äŒã«ãªããŸããã å€§çæ³ã§ãïŒ CTO 平山ã®çºè¡š ãã㊠3 æ¥ç®ã®æåŸã® Keynote åã«ã¯ Ruby ã¹ãã³ãµãŒã® PR æ ããããåŒç€Ÿã® CTO 平山ãçºè¡šããŸããã çºè¡šã§ã¯ããå»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããããšããããã·ã§ã³ã®ããšã¡ãã¬ãŒã 4 ã€ã®äºæ¥ãè¡ã£ãŠããããšããã®äžã®ã²ãšã€ã§ãã CLINICS ã®ãããã¯ãã«ã€ããŠããå»ç x IT ãžã®ææŠãã«ãã㊠å»çåŸäºè
ãšãšã³ãžãã¢ã»ãã¶ã€ããŒãååããŠãããã¯ãéçºãè¡ãäœå¶ ãªã©ã玹ä»ããŸããã æçµæ¥ 3 æ¥ç®ã®æåŸãšããããšããããç²ãã®æ¹ãå€ãã£ããšæããŸãããäŒå Žãç¬ãã§æ²žããã·ãŒã³ããããã¡ãã¬ãŒãšããã®ãããã¯ãã®ããšãå°ãã§ãå€ãã®äººã«ç¥ã£ãŠããã ããšãŠãè¯ãæ©äŒã«ãªã£ãã®ã§ã¯ãªãã§ããããã åœæ¥ã®çºè¡šè³æã¯ãã¡ãããã©ããã speakerdeck.com åšèŸºæ£çã®æ§åïŒããŸãïŒ æåŸã«ããŸããšããããšã§åšèŸºæ£çã®æ§åãïŒ ãŸãã¯åçããŒã ã ç¶ããŠåºå³¶åè·¡ãžãåŸ¡éæ©ã æ©ã¿ãé²ãã 3 人ã ãããŠå€©å®é£ãåçã§åå£ããããã³ã³ã¯ãªãŒã建ç¯ãšããŠåŸ©å
ãããããã§ãã è¿ãã«ã¯åºå³¶è·åœç¥ç€Ÿã ã¡ãã¬ãŒ æäŸ ã®ïŒåæïŒ çŸå³ããåºå³¶ã®ã奜ã¿çŒããããã ããŸããïŒ ãããã« ä»åã¯ã¡ãã¬ãŒãšããŠåã® RubyKaigi åå ã§ããã ããŒã¹éå¶ãªã©ãžã®äžå®ããããŸããããå®éã«åœæ¥ãè¿ããŠã¿ããšãåå è
ã®ã¿ãªãããšã話ã§ããã¡ãã¬ãŒã®ããšãå°ãã§ãå€ãã®äººã«èªç¥ããŠããã ããšãŠãè¯ãæ©äŒã ã£ããšæããŸãã ãŸã ãŸã ã¡ãã¬ãŒã®ããšããåç¥ãªãæ¹ãå€ãã£ãã§ãããå®éã«ãäŒãããŠè©±ããŠã¿ããšãå»çãšãããªã¢ã«ç£æ¥ãã€ã³ã¿ãŒãããã®åã§å€ããŠãããšããé¢çœãã«èå³ãæã£ãŠããã ããããšãå€ãã£ããªãšããå°è±¡ãåããŸããã è¯ããããã¯ããäœãããšã倧åã§ãããå»çåéã§ã®ãããã¯ãäœãã®ééå³ãç£ã¿åºãã䟡å€ãªã©ãå€ãã®ãšã³ãžãã¢ã»ãã¶ã€ããŒã«ç¥ã£ãŠãããããããããããããã¯ã«ã³ãã¡ã¬ã³ã¹ã®å Žãªã©ã§çºä¿¡ãç¶ããŠããããšã倧åã ãªããšæ¹ããŠå®æããŸããã åŒç€Ÿã§ãå»ç x IT ãžã®ææŠãã«åãçµã¿ãããšã³ãžãã¢ã®ã¿ãªãããå¿ãããåŸ
ã¡ããŠãããŸãïŒèå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã www.wantedly.com éçºæ¬éšã®é°å²æ°ããã£ãšç¥ãããæ¹ã¯ããã¡ãããã©ããã www.medley.jp
ããã«ã¡ã¯ïŒéçºæ¬éšã®ãšã³ãžãã¢ã» æ°å±
ã§ãã ã¡ãã¬ãŒã¯ 9/18ã20 ã«éå¬ãããã RubyKaigi 2017 ã® Ruby Sponsor ãåããããŠããã ããŸãããïŒ9/15ã17 ã«éå¬ããã iOSDC JAPAN 2017 ã«åŒãç¶ãã®åè³ã§ãïŒã¡ãã¬ãŒã§ã¯ä»å¹Žããããã¯ã«ã³ãã¡ã¬ã³ã¹ãžã®åè³ãç©æ¥µçã«è¡ã£ãŠããŸãïŒ ã€ãã³ãåœæ¥ã¯ãåŒç€Ÿãã CTO ã®å¹³å±±ããšã³ãžãã¢ã®å¹³æšãšå®æžããããŠæ°å±
ã® 4 人ãåå ããŸãããä»åã¯ãã®ãšãã®æ§åãªã©ãã¬ããŒãããããšæããŸãã äŒå Žã®æ§å ä»å¹Žã¯åºå³¶çã®åºå³¶åœéäŒè°å Žã§ã®éå¬ã§ããã åºå³¶åœéäŒè°å Žã¯å¹³åèšå¿µå
¬åã®æ·å°å
ã«ãããè¿ãã«ã¯åçããŒã ãåºå³¶åãªã©ãããã®ã§ RubyKaigi ã®ã€ãã§ã«èгå
ãã¡ããããªããŠäººãå€ãã£ãã®ã§ã¯ãªãã§ããããã äŒå Žã®äžè§ã«ã¯ä»åã® RubyKaigi åå è
ãã©ãããæ¥ãããæ²ç€ºããããŒããèšçœ®ãããŠããŸããã æ¥æ¬ä»¥å€ãããããããã®äººãåå ããŠãã RubyKaigi ã®æ³šç®åºŠã®é«ãã䌺ããŸãã ãããŠé£ã«ãã£ãã¹ãã³ãµãŒããŒãã® MEDLEY ããŽããã£ãã確èªããŠãCTO 平山ãšãã·ã£ãªïŒïŒïŒ ããŒã¹ã®æ§å ç¶ããŠããŒã¹ã®æ§åãïŒ ããŒã¹ã®ä»äžããã¯ãããªæãã§ãã¡ãã¬ãŒã³ãŒãã¬ãŒãã«ã©ãŒã®èµ€ãç®ç«ã£ãŠè¯ãæãã§ããïŒ äž¡ãµã€ãã«ã¯ã¡ãã¬ãŒã®äºæ¥æŠèŠãšãã¡ãã£ã¢ãªã©ãããæ³šç®ãããããšãå€ããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ãã玹ä»ãããã¹ã¿ãŒãé
眮ãåçäžå€®ã®ã¢ãã¿ãŒã§ã¯ãã¹ããŒããã©ã³ã PC ã§å»åž«ã®èšºçãåãããããšãã CLINICS ã®ãµãŒãã¹æŠèŠãããã玹ä»åç»ãæµããäŒç€Ÿå
šäœããããã¯ãã«ã€ããŠèª¬æã§ããæºåãæŽããŸããã ããã«ãã£ã¯ãMEDLEY ã¹ããã«ãŒããMEDLEY ãã¡ãããMEDLEY çµåµèãã® 3 çš®é¡ãçšæããŸããã 1 æ¥ç®ã¯å°é¢šäžéã§æ°æž©ãäžæããæãããã®ããã MEDLEY ãã¡ãã倧掻èºããŠãããŸããïŒ MEDLEY çµåµèã¯ãã¶ã€ã³ã®ãããããšå»çç³»ãªãã§ã¯ãšããããšããããšãŠã奜è©ã§ããïŒåå è
ã®äžã«ã¯éŽæŠãããŠãã人ãå°ããæŠãå·ãè² ã£ãŠã人ãããŠãMEDLEY çµåµèãåå è
ã®ã圹ã«ç«ãŠãã®ã§ã¯ãªãã§ããããã ããŒã¹åã§ææ°èŸŒã 3 äººïŒ ã¡ãªã¿ã« T ã·ã£ãã¯ã¡ãã¬ãŒç¹è£œã® ããªã¥ãŒ T ã·ã£ãïŒå·ŠïŒãšã«ã¬ããžã㎠T ã·ã£ãïŒäžå€®ãšå³ïŒ ãççšããŠããŸãã åçã§ã¯èŠããŸããããããªã¥ãŒ T ã·ã£ãã«ã¯ã¡ãã¬ãŒã®ããªã¥ãŒïŒè¡åèŠç¯ïŒã®ã²ãšã€ã§ãããäžå€®çªç Žãã®æåãå
¥ã£ãŠããŸãã äž¡ T ã·ã£ãå
±ãç®ãçããŠãããåå è
ããã¯ãããããšãã声ãããã ããŠããã¡ãã奜è©ã§ããã ååŸã® 15:20~15:50 ã® Afternoon Break ã§ã¯å€§å¢ã®åå è
ãããŒã¹ãŸãŒã³ã«ã å®éã«ããŒã¹ã«è¶³ãéãã§ããã ããåå è
ãšã話ããŠãããšãã¡ãã¬ãŒã CLINICS ã®ããšãç¥ããªã人ãã»ãšãã©ã§ããããã¡ãã¬ãŒãå»çç³»ã®ãµãŒãã¹ãæäŸããŠããäŒç€Ÿã§ããããšããCLINICS ãšãããªã³ã©ã€ã³èšºçã¢ããªãéçºããŠããããšãã話ãããšèå³ãæã£ãŠããã ããããšãå€ãã£ãããã«æããŸãã ãä»åºŠç
é¢ã§èŠãããã䜿ã£ãŠã¿ãŸãïŒããšãã声ãããã ããããåå è
èªèº«ã®å»çäœéšãå
ã« CLINICS ãšãããµãŒãã¹ã«ã€ããŠæèŠã亀ãããããšãã¡ãã¬ãŒãšã³ãžãã¢ãšåå è
ãå¯ã«ã³ãã¥ãã±ãŒã·ã§ã³ããšããè¯ãæ©äŒã«ãªããŸããã å€§çæ³ã§ãïŒ CTO 平山ã®çºè¡š ãã㊠3 æ¥ç®ã®æåŸã® Keynote åã«ã¯ Ruby ã¹ãã³ãµãŒã® PR æ ããããåŒç€Ÿã® CTO 平山ãçºè¡šããŸããã çºè¡šã§ã¯ããå»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããããšããããã·ã§ã³ã®ããšã¡ãã¬ãŒã 4 ã€ã®äºæ¥ãè¡ã£ãŠããããšããã®äžã®ã²ãšã€ã§ãã CLINICS ã®ãããã¯ãã«ã€ããŠããå»ç x IT ãžã®ææŠãã«ãã㊠å»çåŸäºè
ãšãšã³ãžãã¢ã»ãã¶ã€ããŒãååããŠãããã¯ãéçºãè¡ãäœå¶ ãªã©ã玹ä»ããŸããã æçµæ¥ 3 æ¥ç®ã®æåŸãšããããšããããç²ãã®æ¹ãå€ãã£ããšæããŸãããäŒå Žãç¬ãã§æ²žããã·ãŒã³ããããã¡ãã¬ãŒãšããã®ãããã¯ãã®ããšãå°ãã§ãå€ãã®äººã«ç¥ã£ãŠããã ããšãŠãè¯ãæ©äŒã«ãªã£ãã®ã§ã¯ãªãã§ããããã åœæ¥ã®çºè¡šè³æã¯ãã¡ãããã©ããã speakerdeck.com åšèŸºæ£çã®æ§åïŒããŸãïŒ æåŸã«ããŸããšããããšã§åšèŸºæ£çã®æ§åãïŒ ãŸãã¯åçããŒã ã ç¶ããŠåºå³¶åè·¡ãžãåŸ¡éæ©ã æ©ã¿ãé²ãã 3 人ã ãããŠå€©å®é£ãåçã§åå£ããããã³ã³ã¯ãªãŒã建ç¯ãšããŠåŸ©å
ãããããã§ãã è¿ãã«ã¯åºå³¶è·åœç¥ç€Ÿã ã¡ãã¬ãŒ æäŸ ã®ïŒåæïŒ çŸå³ããåºå³¶ã®ã奜ã¿çŒããããã ããŸããïŒ ãããã« ä»åã¯ã¡ãã¬ãŒãšããŠåã® RubyKaigi åå ã§ããã ããŒã¹éå¶ãªã©ãžã®äžå®ããããŸããããå®éã«åœæ¥ãè¿ããŠã¿ããšãåå è
ã®ã¿ãªãããšã話ã§ããã¡ãã¬ãŒã®ããšãå°ãã§ãå€ãã®äººã«èªç¥ããŠããã ããšãŠãè¯ãæ©äŒã ã£ããšæããŸãã ãŸã ãŸã ã¡ãã¬ãŒã®ããšããåç¥ãªãæ¹ãå€ãã£ãã§ãããå®éã«ãäŒãããŠè©±ããŠã¿ããšãå»çãšãããªã¢ã«ç£æ¥ãã€ã³ã¿ãŒãããã®åã§å€ããŠãããšããé¢çœãã«èå³ãæã£ãŠããã ããããšãå€ãã£ããªãšããå°è±¡ãåããŸããã è¯ããããã¯ããäœãããšã倧åã§ãããå»çåéã§ã®ãããã¯ãäœãã®ééå³ãç£ã¿åºãã䟡å€ãªã©ãå€ãã®ãšã³ãžãã¢ã»ãã¶ã€ããŒã«ç¥ã£ãŠãããããããããããããã¯ã«ã³ãã¡ã¬ã³ã¹ã®å Žãªã©ã§çºä¿¡ãç¶ããŠããããšã倧åã ãªããšæ¹ããŠå®æããŸããã åŒç€Ÿã§ãå»ç x IT ãžã®ææŠãã«åãçµã¿ãããšã³ãžãã¢ã®ã¿ãªãããå¿ãããåŸ
ã¡ããŠãããŸãïŒèå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã www.wantedly.com éçºæ¬éšã®é°å²æ°ããã£ãšç¥ãããæ¹ã¯ããã¡ãããã©ããã www.medley.jp
ããã«ã¡ã¯ïŒéçºæ¬éšã®ãšã³ãžãã¢ã» æ°å±
ã§ãã ã¡ãã¬ãŒã¯ 9/18ã20 ã«éå¬ãããã RubyKaigi 2017 ã® Ruby Sponsor ãåããããŠããã ããŸãããïŒ9/15ã17 ã«éå¬ããã iOSDC JAPAN 2017 ã«åŒãç¶ãã®åè³ã§ãïŒã¡ãã¬ãŒã§ã¯ä»å¹Žããããã¯ã«ã³ãã¡ã¬ã³ã¹ãžã®åè³ãç©æ¥µçã«è¡ã£ãŠããŸãïŒ ã€ãã³ãåœæ¥ã¯ãåŒç€Ÿãã CTO ã®å¹³å±±ããšã³ãžãã¢ã®å¹³æšãšå®æžããããŠæ°å±
ã® 4 人ãåå ããŸãããä»åã¯ãã®ãšãã®æ§åãªã©ãã¬ããŒãããããšæããŸãã äŒå Žã®æ§å ä»å¹Žã¯åºå³¶çã®åºå³¶åœéäŒè°å Žã§ã®éå¬ã§ããã åºå³¶åœéäŒè°å Žã¯å¹³åèšå¿µå
¬åã®æ·å°å
ã«ãããè¿ãã«ã¯åçããŒã ãåºå³¶åãªã©ãããã®ã§ RubyKaigi ã®ã€ãã§ã«èгå
ãã¡ããããªããŠäººãå€ãã£ãã®ã§ã¯ãªãã§ããããã äŒå Žã®äžè§ã«ã¯ä»åã® RubyKaigi åå è
ãã©ãããæ¥ãããæ²ç€ºããããŒããèšçœ®ãããŠããŸããã æ¥æ¬ä»¥å€ãããããããã®äººãåå ããŠãã RubyKaigi ã®æ³šç®åºŠã®é«ãã䌺ããŸãã ãããŠé£ã«ãã£ãã¹ãã³ãµãŒããŒãã® MEDLEY ããŽããã£ãã確èªããŠãCTO 平山ãšãã·ã£ãªïŒïŒïŒ ããŒã¹ã®æ§å ç¶ããŠããŒã¹ã®æ§åãïŒ ããŒã¹ã®ä»äžããã¯ãããªæãã§ãã¡ãã¬ãŒã³ãŒãã¬ãŒãã«ã©ãŒã®èµ€ãç®ç«ã£ãŠè¯ãæãã§ããïŒ äž¡ãµã€ãã«ã¯ã¡ãã¬ãŒã®äºæ¥æŠèŠãšãã¡ãã£ã¢ãªã©ãããæ³šç®ãããããšãå€ããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ãã玹ä»ãããã¹ã¿ãŒãé
眮ãåçäžå€®ã®ã¢ãã¿ãŒã§ã¯ãã¹ããŒããã©ã³ã PC ã§å»åž«ã®èšºçãåãããããšãã CLINICS ã®ãµãŒãã¹æŠèŠãããã玹ä»åç»ãæµããäŒç€Ÿå
šäœããããã¯ãã«ã€ããŠèª¬æã§ããæºåãæŽããŸããã ããã«ãã£ã¯ãMEDLEY ã¹ããã«ãŒããMEDLEY ãã¡ãããMEDLEY çµåµèãã® 3 çš®é¡ãçšæããŸããã 1 æ¥ç®ã¯å°é¢šäžéã§æ°æž©ãäžæããæãããã®ããã MEDLEY ãã¡ãã倧掻èºããŠãããŸããïŒ MEDLEY çµåµèã¯ãã¶ã€ã³ã®ãããããšå»çç³»ãªãã§ã¯ãšããããšããããšãŠã奜è©ã§ããïŒåå è
ã®äžã«ã¯éŽæŠãããŠãã人ãå°ããæŠãå·ãè² ã£ãŠã人ãããŠãMEDLEY çµåµèãåå è
ã®ã圹ã«ç«ãŠãã®ã§ã¯ãªãã§ããããã ããŒã¹åã§ææ°èŸŒã 3 äººïŒ ã¡ãªã¿ã« T ã·ã£ãã¯ã¡ãã¬ãŒç¹è£œã® ããªã¥ãŒ T ã·ã£ãïŒå·ŠïŒãšã«ã¬ããžã㎠T ã·ã£ãïŒäžå€®ãšå³ïŒ ãççšããŠããŸãã åçã§ã¯èŠããŸããããããªã¥ãŒ T ã·ã£ãã«ã¯ã¡ãã¬ãŒã®ããªã¥ãŒïŒè¡åèŠç¯ïŒã®ã²ãšã€ã§ãããäžå€®çªç Žãã®æåãå
¥ã£ãŠããŸãã äž¡ T ã·ã£ãå
±ãç®ãçããŠãããåå è
ããã¯ãããããšãã声ãããã ããŠããã¡ãã奜è©ã§ããã ååŸã® 15:20~15:50 ã® Afternoon Break ã§ã¯å€§å¢ã®åå è
ãããŒã¹ãŸãŒã³ã«ã å®éã«ããŒã¹ã«è¶³ãéãã§ããã ããåå è
ãšã話ããŠãããšãã¡ãã¬ãŒã CLINICS ã®ããšãç¥ããªã人ãã»ãšãã©ã§ããããã¡ãã¬ãŒãå»çç³»ã®ãµãŒãã¹ãæäŸããŠããäŒç€Ÿã§ããããšããCLINICS ãšãããªã³ã©ã€ã³èšºçã¢ããªãéçºããŠããããšãã話ãããšèå³ãæã£ãŠããã ããããšãå€ãã£ãããã«æããŸãã ãä»åºŠç
é¢ã§èŠãããã䜿ã£ãŠã¿ãŸãïŒããšãã声ãããã ããããåå è
èªèº«ã®å»çäœéšãå
ã« CLINICS ãšãããµãŒãã¹ã«ã€ããŠæèŠã亀ãããããšãã¡ãã¬ãŒãšã³ãžãã¢ãšåå è
ãå¯ã«ã³ãã¥ãã±ãŒã·ã§ã³ããšããè¯ãæ©äŒã«ãªããŸããã å€§çæ³ã§ãïŒ CTO 平山ã®çºè¡š ãã㊠3 æ¥ç®ã®æåŸã® Keynote åã«ã¯ Ruby ã¹ãã³ãµãŒã® PR æ ããããåŒç€Ÿã® CTO 平山ãçºè¡šããŸããã çºè¡šã§ã¯ããå»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããããšããããã·ã§ã³ã®ããšã¡ãã¬ãŒã 4 ã€ã®äºæ¥ãè¡ã£ãŠããããšããã®äžã®ã²ãšã€ã§ãã CLINICS ã®ãããã¯ãã«ã€ããŠããå»ç x IT ãžã®ææŠãã«ãã㊠å»çåŸäºè
ãšãšã³ãžãã¢ã»ãã¶ã€ããŒãååããŠãããã¯ãéçºãè¡ãäœå¶ ãªã©ã玹ä»ããŸããã æçµæ¥ 3 æ¥ç®ã®æåŸãšããããšããããç²ãã®æ¹ãå€ãã£ããšæããŸãããäŒå Žãç¬ãã§æ²žããã·ãŒã³ããããã¡ãã¬ãŒãšããã®ãããã¯ãã®ããšãå°ãã§ãå€ãã®äººã«ç¥ã£ãŠããã ããšãŠãè¯ãæ©äŒã«ãªã£ãã®ã§ã¯ãªãã§ããããã åœæ¥ã®çºè¡šè³æã¯ãã¡ãããã©ããã speakerdeck.com åšèŸºæ£çã®æ§åïŒããŸãïŒ æåŸã«ããŸããšããããšã§åšèŸºæ£çã®æ§åãïŒ ãŸãã¯åçããŒã ã ç¶ããŠåºå³¶åè·¡ãžãåŸ¡éæ©ã æ©ã¿ãé²ãã 3 人ã ãããŠå€©å®é£ãåçã§åå£ããããã³ã³ã¯ãªãŒã建ç¯ãšããŠåŸ©å
ãããããã§ãã è¿ãã«ã¯åºå³¶è·åœç¥ç€Ÿã ã¡ãã¬ãŒ æäŸ ã®ïŒåæïŒ çŸå³ããåºå³¶ã®ã奜ã¿çŒããããã ããŸããïŒ ãããã« ä»åã¯ã¡ãã¬ãŒãšããŠåã® RubyKaigi åå ã§ããã ããŒã¹éå¶ãªã©ãžã®äžå®ããããŸããããå®éã«åœæ¥ãè¿ããŠã¿ããšãåå è
ã®ã¿ãªãããšã話ã§ããã¡ãã¬ãŒã®ããšãå°ãã§ãå€ãã®äººã«èªç¥ããŠããã ããšãŠãè¯ãæ©äŒã ã£ããšæããŸãã ãŸã ãŸã ã¡ãã¬ãŒã®ããšããåç¥ãªãæ¹ãå€ãã£ãã§ãããå®éã«ãäŒãããŠè©±ããŠã¿ããšãå»çãšãããªã¢ã«ç£æ¥ãã€ã³ã¿ãŒãããã®åã§å€ããŠãããšããé¢çœãã«èå³ãæã£ãŠããã ããããšãå€ãã£ããªãšããå°è±¡ãåããŸããã è¯ããããã¯ããäœãããšã倧åã§ãããå»çåéã§ã®ãããã¯ãäœãã®ééå³ãç£ã¿åºãã䟡å€ãªã©ãå€ãã®ãšã³ãžãã¢ã»ãã¶ã€ããŒã«ç¥ã£ãŠãããããããããããããã¯ã«ã³ãã¡ã¬ã³ã¹ã®å Žãªã©ã§çºä¿¡ãç¶ããŠããããšã倧åã ãªããšæ¹ããŠå®æããŸããã åŒç€Ÿã§ãå»ç x IT ãžã®ææŠãã«åãçµã¿ãããšã³ãžãã¢ã®ã¿ãªãããå¿ãããåŸ
ã¡ããŠãããŸãïŒèå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã www.wantedly.com éçºæ¬éšã®é°å²æ°ããã£ãšç¥ãããæ¹ã¯ããã¡ãããã©ããã www.medley.jp
ããã«ã¡ã¯ïŒéçºæ¬éšã®ãšã³ãžãã¢ã» æ°å±
ã§ãã ã¡ãã¬ãŒã¯ 9/18ã20 ã«éå¬ãããã RubyKaigi 2017 ã® Ruby Sponsor ãåããããŠããã ããŸãããïŒ9/15ã17 ã«éå¬ããã iOSDC JAPAN 2017 ã«åŒãç¶ãã®åè³ã§ãïŒã¡ãã¬ãŒã§ã¯ä»å¹Žããããã¯ã«ã³ãã¡ã¬ã³ã¹ãžã®åè³ãç©æ¥µçã«è¡ã£ãŠããŸãïŒ ã€ãã³ãåœæ¥ã¯ãåŒç€Ÿãã CTO ã®å¹³å±±ããšã³ãžãã¢ã®å¹³æšãšå®æžããããŠæ°å±
ã® 4 人ãåå ããŸãããä»åã¯ãã®ãšãã®æ§åãªã©ãã¬ããŒãããããšæããŸãã äŒå Žã®æ§å ä»å¹Žã¯åºå³¶çã®åºå³¶åœéäŒè°å Žã§ã®éå¬ã§ããã åºå³¶åœéäŒè°å Žã¯å¹³åèšå¿µå
¬åã®æ·å°å
ã«ãããè¿ãã«ã¯åçããŒã ãåºå³¶åãªã©ãããã®ã§ RubyKaigi ã®ã€ãã§ã«èгå
ãã¡ããããªããŠäººãå€ãã£ãã®ã§ã¯ãªãã§ããããã äŒå Žã®äžè§ã«ã¯ä»åã® RubyKaigi åå è
ãã©ãããæ¥ãããæ²ç€ºããããŒããèšçœ®ãããŠããŸããã æ¥æ¬ä»¥å€ãããããããã®äººãåå ããŠãã RubyKaigi ã®æ³šç®åºŠã®é«ãã䌺ããŸãã ãããŠé£ã«ãã£ãã¹ãã³ãµãŒããŒãã® MEDLEY ããŽããã£ãã確èªããŠãCTO 平山ãšãã·ã£ãªïŒïŒïŒ ããŒã¹ã®æ§å ç¶ããŠããŒã¹ã®æ§åãïŒ ããŒã¹ã®ä»äžããã¯ãããªæãã§ãã¡ãã¬ãŒã³ãŒãã¬ãŒãã«ã©ãŒã®èµ€ãç®ç«ã£ãŠè¯ãæãã§ããïŒ äž¡ãµã€ãã«ã¯ã¡ãã¬ãŒã®äºæ¥æŠèŠãšãã¡ãã£ã¢ãªã©ãããæ³šç®ãããããšãå€ããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ãã玹ä»ãããã¹ã¿ãŒãé
眮ãåçäžå€®ã®ã¢ãã¿ãŒã§ã¯ãã¹ããŒããã©ã³ã PC ã§å»åž«ã®èšºçãåãããããšãã CLINICS ã®ãµãŒãã¹æŠèŠãããã玹ä»åç»ãæµããäŒç€Ÿå
šäœããããã¯ãã«ã€ããŠèª¬æã§ããæºåãæŽããŸããã ããã«ãã£ã¯ãMEDLEY ã¹ããã«ãŒããMEDLEY ãã¡ãããMEDLEY çµåµèãã® 3 çš®é¡ãçšæããŸããã 1 æ¥ç®ã¯å°é¢šäžéã§æ°æž©ãäžæããæãããã®ããã MEDLEY ãã¡ãã倧掻èºããŠãããŸããïŒ MEDLEY çµåµèã¯ãã¶ã€ã³ã®ãããããšå»çç³»ãªãã§ã¯ãšããããšããããšãŠã奜è©ã§ããïŒåå è
ã®äžã«ã¯éŽæŠãããŠãã人ãå°ããæŠãå·ãè² ã£ãŠã人ãããŠãMEDLEY çµåµèãåå è
ã®ã圹ã«ç«ãŠãã®ã§ã¯ãªãã§ããããã ããŒã¹åã§ææ°èŸŒã 3 äººïŒ ã¡ãªã¿ã« T ã·ã£ãã¯ã¡ãã¬ãŒç¹è£œã® ããªã¥ãŒ T ã·ã£ãïŒå·ŠïŒãšã«ã¬ããžã㎠T ã·ã£ãïŒäžå€®ãšå³ïŒ ãççšããŠããŸãã åçã§ã¯èŠããŸããããããªã¥ãŒ T ã·ã£ãã«ã¯ã¡ãã¬ãŒã®ããªã¥ãŒïŒè¡åèŠç¯ïŒã®ã²ãšã€ã§ãããäžå€®çªç Žãã®æåãå
¥ã£ãŠããŸãã äž¡ T ã·ã£ãå
±ãç®ãçããŠãããåå è
ããã¯ãããããšãã声ãããã ããŠããã¡ãã奜è©ã§ããã ååŸã® 15:20~15:50 ã® Afternoon Break ã§ã¯å€§å¢ã®åå è
ãããŒã¹ãŸãŒã³ã«ã å®éã«ããŒã¹ã«è¶³ãéãã§ããã ããåå è
ãšã話ããŠãããšãã¡ãã¬ãŒã CLINICS ã®ããšãç¥ããªã人ãã»ãšãã©ã§ããããã¡ãã¬ãŒãå»çç³»ã®ãµãŒãã¹ãæäŸããŠããäŒç€Ÿã§ããããšããCLINICS ãšãããªã³ã©ã€ã³èšºçã¢ããªãéçºããŠããããšãã話ãããšèå³ãæã£ãŠããã ããããšãå€ãã£ãããã«æããŸãã ãä»åºŠç
é¢ã§èŠãããã䜿ã£ãŠã¿ãŸãïŒããšãã声ãããã ããããåå è
èªèº«ã®å»çäœéšãå
ã« CLINICS ãšãããµãŒãã¹ã«ã€ããŠæèŠã亀ãããããšãã¡ãã¬ãŒãšã³ãžãã¢ãšåå è
ãå¯ã«ã³ãã¥ãã±ãŒã·ã§ã³ããšããè¯ãæ©äŒã«ãªããŸããã å€§çæ³ã§ãïŒ CTO 平山ã®çºè¡š ãã㊠3 æ¥ç®ã®æåŸã® Keynote åã«ã¯ Ruby ã¹ãã³ãµãŒã® PR æ ããããåŒç€Ÿã® CTO 平山ãçºè¡šããŸããã çºè¡šã§ã¯ããå»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããããšããããã·ã§ã³ã®ããšã¡ãã¬ãŒã 4 ã€ã®äºæ¥ãè¡ã£ãŠããããšããã®äžã®ã²ãšã€ã§ãã CLINICS ã®ãããã¯ãã«ã€ããŠããå»ç x IT ãžã®ææŠãã«ãã㊠å»çåŸäºè
ãšãšã³ãžãã¢ã»ãã¶ã€ããŒãååããŠãããã¯ãéçºãè¡ãäœå¶ ãªã©ã玹ä»ããŸããã æçµæ¥ 3 æ¥ç®ã®æåŸãšããããšããããç²ãã®æ¹ãå€ãã£ããšæããŸãããäŒå Žãç¬ãã§æ²žããã·ãŒã³ããããã¡ãã¬ãŒãšããã®ãããã¯ãã®ããšãå°ãã§ãå€ãã®äººã«ç¥ã£ãŠããã ããšãŠãè¯ãæ©äŒã«ãªã£ãã®ã§ã¯ãªãã§ããããã åœæ¥ã®çºè¡šè³æã¯ãã¡ãããã©ããã speakerdeck.com åšèŸºæ£çã®æ§åïŒããŸãïŒ æåŸã«ããŸããšããããšã§åšèŸºæ£çã®æ§åãïŒ ãŸãã¯åçããŒã ã ç¶ããŠåºå³¶åè·¡ãžãåŸ¡éæ©ã æ©ã¿ãé²ãã 3 人ã ãããŠå€©å®é£ãåçã§åå£ããããã³ã³ã¯ãªãŒã建ç¯ãšããŠåŸ©å
ãããããã§ãã è¿ãã«ã¯åºå³¶è·åœç¥ç€Ÿã ã¡ãã¬ãŒ æäŸ ã®ïŒåæïŒ çŸå³ããåºå³¶ã®ã奜ã¿çŒããããã ããŸããïŒ ãããã« ä»åã¯ã¡ãã¬ãŒãšããŠåã® RubyKaigi åå ã§ããã ããŒã¹éå¶ãªã©ãžã®äžå®ããããŸããããå®éã«åœæ¥ãè¿ããŠã¿ããšãåå è
ã®ã¿ãªãããšã話ã§ããã¡ãã¬ãŒã®ããšãå°ãã§ãå€ãã®äººã«èªç¥ããŠããã ããšãŠãè¯ãæ©äŒã ã£ããšæããŸãã ãŸã ãŸã ã¡ãã¬ãŒã®ããšããåç¥ãªãæ¹ãå€ãã£ãã§ãããå®éã«ãäŒãããŠè©±ããŠã¿ããšãå»çãšãããªã¢ã«ç£æ¥ãã€ã³ã¿ãŒãããã®åã§å€ããŠãããšããé¢çœãã«èå³ãæã£ãŠããã ããããšãå€ãã£ããªãšããå°è±¡ãåããŸããã è¯ããããã¯ããäœãããšã倧åã§ãããå»çåéã§ã®ãããã¯ãäœãã®ééå³ãç£ã¿åºãã䟡å€ãªã©ãå€ãã®ãšã³ãžãã¢ã»ãã¶ã€ããŒã«ç¥ã£ãŠãããããããããããããã¯ã«ã³ãã¡ã¬ã³ã¹ã®å Žãªã©ã§çºä¿¡ãç¶ããŠããããšã倧åã ãªããšæ¹ããŠå®æããŸããã åŒç€Ÿã§ãå»ç x IT ãžã®ææŠãã«åãçµã¿ãããšã³ãžãã¢ã®ã¿ãªãããå¿ãããåŸ
ã¡ããŠãããŸãïŒèå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã www.wantedly.com éçºæ¬éšã®é°å²æ°ããã£ãšç¥ãããæ¹ã¯ããã¡ãããã©ããã www.medley.jp
ããã«ã¡ã¯ïŒéçºæ¬éšã®ãšã³ãžãã¢ã» æ°å±
ã§ãã ã¡ãã¬ãŒã¯ 9/18ã20 ã«éå¬ãããã RubyKaigi 2017 ã® Ruby Sponsor ãåããããŠããã ããŸãããïŒ9/15ã17 ã«éå¬ããã iOSDC JAPAN 2017 ã«åŒãç¶ãã®åè³ã§ãïŒã¡ãã¬ãŒã§ã¯ä»å¹Žããããã¯ã«ã³ãã¡ã¬ã³ã¹ãžã®åè³ãç©æ¥µçã«è¡ã£ãŠããŸãïŒ ã€ãã³ãåœæ¥ã¯ãåŒç€Ÿãã CTO ã®å¹³å±±ããšã³ãžãã¢ã®å¹³æšãšå®æžããããŠæ°å±
ã® 4 人ãåå ããŸãããä»åã¯ãã®ãšãã®æ§åãªã©ãã¬ããŒãããããšæããŸãã äŒå Žã®æ§å ä»å¹Žã¯åºå³¶çã®åºå³¶åœéäŒè°å Žã§ã®éå¬ã§ããã åºå³¶åœéäŒè°å Žã¯å¹³åèšå¿µå
¬åã®æ·å°å
ã«ãããè¿ãã«ã¯åçããŒã ãåºå³¶åãªã©ãããã®ã§ RubyKaigi ã®ã€ãã§ã«èгå
ãã¡ããããªããŠäººãå€ãã£ãã®ã§ã¯ãªãã§ããããã äŒå Žã®äžè§ã«ã¯ä»åã® RubyKaigi åå è
ãã©ãããæ¥ãããæ²ç€ºããããŒããèšçœ®ãããŠããŸããã æ¥æ¬ä»¥å€ãããããããã®äººãåå ããŠãã RubyKaigi ã®æ³šç®åºŠã®é«ãã䌺ããŸãã ãããŠé£ã«ãã£ãã¹ãã³ãµãŒããŒãã® MEDLEY ããŽããã£ãã確èªããŠãCTO 平山ãšãã·ã£ãªïŒïŒïŒ ããŒã¹ã®æ§å ç¶ããŠããŒã¹ã®æ§åãïŒ ããŒã¹ã®ä»äžããã¯ãããªæãã§ãã¡ãã¬ãŒã³ãŒãã¬ãŒãã«ã©ãŒã®èµ€ãç®ç«ã£ãŠè¯ãæãã§ããïŒ äž¡ãµã€ãã«ã¯ã¡ãã¬ãŒã®äºæ¥æŠèŠãšãã¡ãã£ã¢ãªã©ãããæ³šç®ãããããšãå€ããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ãã玹ä»ãããã¹ã¿ãŒãé
眮ãåçäžå€®ã®ã¢ãã¿ãŒã§ã¯ãã¹ããŒããã©ã³ã PC ã§å»åž«ã®èšºçãåãããããšãã CLINICS ã®ãµãŒãã¹æŠèŠãããã玹ä»åç»ãæµããäŒç€Ÿå
šäœããããã¯ãã«ã€ããŠèª¬æã§ããæºåãæŽããŸããã ããã«ãã£ã¯ãMEDLEY ã¹ããã«ãŒããMEDLEY ãã¡ãããMEDLEY çµåµèãã® 3 çš®é¡ãçšæããŸããã 1 æ¥ç®ã¯å°é¢šäžéã§æ°æž©ãäžæããæãããã®ããã MEDLEY ãã¡ãã倧掻èºããŠãããŸããïŒ MEDLEY çµåµèã¯ãã¶ã€ã³ã®ãããããšå»çç³»ãªãã§ã¯ãšããããšããããšãŠã奜è©ã§ããïŒåå è
ã®äžã«ã¯éŽæŠãããŠãã人ãå°ããæŠãå·ãè² ã£ãŠã人ãããŠãMEDLEY çµåµèãåå è
ã®ã圹ã«ç«ãŠãã®ã§ã¯ãªãã§ããããã ããŒã¹åã§ææ°èŸŒã 3 äººïŒ ã¡ãªã¿ã« T ã·ã£ãã¯ã¡ãã¬ãŒç¹è£œã® ããªã¥ãŒ T ã·ã£ãïŒå·ŠïŒãšã«ã¬ããžã㎠T ã·ã£ãïŒäžå€®ãšå³ïŒ ãççšããŠããŸãã åçã§ã¯èŠããŸããããããªã¥ãŒ T ã·ã£ãã«ã¯ã¡ãã¬ãŒã®ããªã¥ãŒïŒè¡åèŠç¯ïŒã®ã²ãšã€ã§ãããäžå€®çªç Žãã®æåãå
¥ã£ãŠããŸãã äž¡ T ã·ã£ãå
±ãç®ãçããŠãããåå è
ããã¯ãããããšãã声ãããã ããŠããã¡ãã奜è©ã§ããã ååŸã® 15:20~15:50 ã® Afternoon Break ã§ã¯å€§å¢ã®åå è
ãããŒã¹ãŸãŒã³ã«ã å®éã«ããŒã¹ã«è¶³ãéãã§ããã ããåå è
ãšã話ããŠãããšãã¡ãã¬ãŒã CLINICS ã®ããšãç¥ããªã人ãã»ãšãã©ã§ããããã¡ãã¬ãŒãå»çç³»ã®ãµãŒãã¹ãæäŸããŠããäŒç€Ÿã§ããããšããCLINICS ãšãããªã³ã©ã€ã³èšºçã¢ããªãéçºããŠããããšãã話ãããšèå³ãæã£ãŠããã ããããšãå€ãã£ãããã«æããŸãã ãä»åºŠç
é¢ã§èŠãããã䜿ã£ãŠã¿ãŸãïŒããšãã声ãããã ããããåå è
èªèº«ã®å»çäœéšãå
ã« CLINICS ãšãããµãŒãã¹ã«ã€ããŠæèŠã亀ãããããšãã¡ãã¬ãŒãšã³ãžãã¢ãšåå è
ãå¯ã«ã³ãã¥ãã±ãŒã·ã§ã³ããšããè¯ãæ©äŒã«ãªããŸããã å€§çæ³ã§ãïŒ CTO 平山ã®çºè¡š ãã㊠3 æ¥ç®ã®æåŸã® Keynote åã«ã¯ Ruby ã¹ãã³ãµãŒã® PR æ ããããåŒç€Ÿã® CTO 平山ãçºè¡šããŸããã çºè¡šã§ã¯ããå»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããããšããããã·ã§ã³ã®ããšã¡ãã¬ãŒã 4 ã€ã®äºæ¥ãè¡ã£ãŠããããšããã®äžã®ã²ãšã€ã§ãã CLINICS ã®ãããã¯ãã«ã€ããŠããå»ç x IT ãžã®ææŠãã«ãã㊠å»çåŸäºè
ãšãšã³ãžãã¢ã»ãã¶ã€ããŒãååããŠãããã¯ãéçºãè¡ãäœå¶ ãªã©ã玹ä»ããŸããã æçµæ¥ 3 æ¥ç®ã®æåŸãšããããšããããç²ãã®æ¹ãå€ãã£ããšæããŸãããäŒå Žãç¬ãã§æ²žããã·ãŒã³ããããã¡ãã¬ãŒãšããã®ãããã¯ãã®ããšãå°ãã§ãå€ãã®äººã«ç¥ã£ãŠããã ããšãŠãè¯ãæ©äŒã«ãªã£ãã®ã§ã¯ãªãã§ããããã åœæ¥ã®çºè¡šè³æã¯ãã¡ãããã©ããã speakerdeck.com åšèŸºæ£çã®æ§åïŒããŸãïŒ æåŸã«ããŸããšããããšã§åšèŸºæ£çã®æ§åãïŒ ãŸãã¯åçããŒã ã ç¶ããŠåºå³¶åè·¡ãžãåŸ¡éæ©ã æ©ã¿ãé²ãã 3 人ã ãããŠå€©å®é£ãåçã§åå£ããããã³ã³ã¯ãªãŒã建ç¯ãšããŠåŸ©å
ãããããã§ãã è¿ãã«ã¯åºå³¶è·åœç¥ç€Ÿã ã¡ãã¬ãŒ æäŸ ã®ïŒåæïŒ çŸå³ããåºå³¶ã®ã奜ã¿çŒããããã ããŸããïŒ ãããã« ä»åã¯ã¡ãã¬ãŒãšããŠåã® RubyKaigi åå ã§ããã ããŒã¹éå¶ãªã©ãžã®äžå®ããããŸããããå®éã«åœæ¥ãè¿ããŠã¿ããšãåå è
ã®ã¿ãªãããšã話ã§ããã¡ãã¬ãŒã®ããšãå°ãã§ãå€ãã®äººã«èªç¥ããŠããã ããšãŠãè¯ãæ©äŒã ã£ããšæããŸãã ãŸã ãŸã ã¡ãã¬ãŒã®ããšããåç¥ãªãæ¹ãå€ãã£ãã§ãããå®éã«ãäŒãããŠè©±ããŠã¿ããšãå»çãšãããªã¢ã«ç£æ¥ãã€ã³ã¿ãŒãããã®åã§å€ããŠãããšããé¢çœãã«èå³ãæã£ãŠããã ããããšãå€ãã£ããªãšããå°è±¡ãåããŸããã è¯ããããã¯ããäœãããšã倧åã§ãããå»çåéã§ã®ãããã¯ãäœãã®ééå³ãç£ã¿åºãã䟡å€ãªã©ãå€ãã®ãšã³ãžãã¢ã»ãã¶ã€ããŒã«ç¥ã£ãŠãããããããããããããã¯ã«ã³ãã¡ã¬ã³ã¹ã®å Žãªã©ã§çºä¿¡ãç¶ããŠããããšã倧åã ãªããšæ¹ããŠå®æããŸããã åŒç€Ÿã§ãå»ç x IT ãžã®ææŠãã«åãçµã¿ãããšã³ãžãã¢ã®ã¿ãªãããå¿ãããåŸ
ã¡ããŠãããŸãïŒèå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã www.wantedly.com éçºæ¬éšã®é°å²æ°ããã£ãšç¥ãããæ¹ã¯ããã¡ãããã©ããã www.medley.jp
ããã«ã¡ã¯ïŒéçºæ¬éšã®ãšã³ãžãã¢ã» æ°å±
ã§ãã ã¡ãã¬ãŒã¯ 9/18ã20 ã«éå¬ãããã RubyKaigi 2017 ã® Ruby Sponsor ãåããããŠããã ããŸãããïŒ9/15ã17 ã«éå¬ããã iOSDC JAPAN 2017 ã«åŒãç¶ãã®åè³ã§ãïŒã¡ãã¬ãŒã§ã¯ä»å¹Žããããã¯ã«ã³ãã¡ã¬ã³ã¹ãžã®åè³ãç©æ¥µçã«è¡ã£ãŠããŸãïŒ ã€ãã³ãåœæ¥ã¯ãåŒç€Ÿãã CTO ã®å¹³å±±ããšã³ãžãã¢ã®å¹³æšãšå®æžããããŠæ°å±
ã® 4 人ãåå ããŸãããä»åã¯ãã®ãšãã®æ§åãªã©ãã¬ããŒãããããšæããŸãã äŒå Žã®æ§å ä»å¹Žã¯åºå³¶çã®åºå³¶åœéäŒè°å Žã§ã®éå¬ã§ããã åºå³¶åœéäŒè°å Žã¯å¹³åèšå¿µå
¬åã®æ·å°å
ã«ãããè¿ãã«ã¯åçããŒã ãåºå³¶åãªã©ãããã®ã§ RubyKaigi ã®ã€ãã§ã«èгå
ãã¡ããããªããŠäººãå€ãã£ãã®ã§ã¯ãªãã§ããããã äŒå Žã®äžè§ã«ã¯ä»åã® RubyKaigi åå è
ãã©ãããæ¥ãããæ²ç€ºããããŒããèšçœ®ãããŠããŸããã æ¥æ¬ä»¥å€ãããããããã®äººãåå ããŠãã RubyKaigi ã®æ³šç®åºŠã®é«ãã䌺ããŸãã ãããŠé£ã«ãã£ãã¹ãã³ãµãŒããŒãã® MEDLEY ããŽããã£ãã確èªããŠãCTO 平山ãšãã·ã£ãªïŒïŒïŒ ããŒã¹ã®æ§å ç¶ããŠããŒã¹ã®æ§åãïŒ ããŒã¹ã®ä»äžããã¯ãããªæãã§ãã¡ãã¬ãŒã³ãŒãã¬ãŒãã«ã©ãŒã®èµ€ãç®ç«ã£ãŠè¯ãæãã§ããïŒ äž¡ãµã€ãã«ã¯ã¡ãã¬ãŒã®äºæ¥æŠèŠãšãã¡ãã£ã¢ãªã©ãããæ³šç®ãããããšãå€ããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ãã玹ä»ãããã¹ã¿ãŒãé
眮ãåçäžå€®ã®ã¢ãã¿ãŒã§ã¯ãã¹ããŒããã©ã³ã PC ã§å»åž«ã®èšºçãåãããããšãã CLINICS ã®ãµãŒãã¹æŠèŠãããã玹ä»åç»ãæµããäŒç€Ÿå
šäœããããã¯ãã«ã€ããŠèª¬æã§ããæºåãæŽããŸããã ããã«ãã£ã¯ãMEDLEY ã¹ããã«ãŒããMEDLEY ãã¡ãããMEDLEY çµåµèãã® 3 çš®é¡ãçšæããŸããã 1 æ¥ç®ã¯å°é¢šäžéã§æ°æž©ãäžæããæãããã®ããã MEDLEY ãã¡ãã倧掻èºããŠãããŸããïŒ MEDLEY çµåµèã¯ãã¶ã€ã³ã®ãããããšå»çç³»ãªãã§ã¯ãšããããšããããšãŠã奜è©ã§ããïŒåå è
ã®äžã«ã¯éŽæŠãããŠãã人ãå°ããæŠãå·ãè² ã£ãŠã人ãããŠãMEDLEY çµåµèãåå è
ã®ã圹ã«ç«ãŠãã®ã§ã¯ãªãã§ããããã ããŒã¹åã§ææ°èŸŒã 3 äººïŒ ã¡ãªã¿ã« T ã·ã£ãã¯ã¡ãã¬ãŒç¹è£œã® ããªã¥ãŒ T ã·ã£ãïŒå·ŠïŒãšã«ã¬ããžã㎠T ã·ã£ãïŒäžå€®ãšå³ïŒ ãççšããŠããŸãã åçã§ã¯èŠããŸããããããªã¥ãŒ T ã·ã£ãã«ã¯ã¡ãã¬ãŒã®ããªã¥ãŒïŒè¡åèŠç¯ïŒã®ã²ãšã€ã§ãããäžå€®çªç Žãã®æåãå
¥ã£ãŠããŸãã äž¡ T ã·ã£ãå
±ãç®ãçããŠãããåå è
ããã¯ãããããšãã声ãããã ããŠããã¡ãã奜è©ã§ããã ååŸã® 15:20~15:50 ã® Afternoon Break ã§ã¯å€§å¢ã®åå è
ãããŒã¹ãŸãŒã³ã«ã å®éã«ããŒã¹ã«è¶³ãéãã§ããã ããåå è
ãšã話ããŠãããšãã¡ãã¬ãŒã CLINICS ã®ããšãç¥ããªã人ãã»ãšãã©ã§ããããã¡ãã¬ãŒãå»çç³»ã®ãµãŒãã¹ãæäŸããŠããäŒç€Ÿã§ããããšããCLINICS ãšãããªã³ã©ã€ã³èšºçã¢ããªãéçºããŠããããšãã話ãããšèå³ãæã£ãŠããã ããããšãå€ãã£ãããã«æããŸãã ãä»åºŠç
é¢ã§èŠãããã䜿ã£ãŠã¿ãŸãïŒããšãã声ãããã ããããåå è
èªèº«ã®å»çäœéšãå
ã« CLINICS ãšãããµãŒãã¹ã«ã€ããŠæèŠã亀ãããããšãã¡ãã¬ãŒãšã³ãžãã¢ãšåå è
ãå¯ã«ã³ãã¥ãã±ãŒã·ã§ã³ããšããè¯ãæ©äŒã«ãªããŸããã å€§çæ³ã§ãïŒ CTO 平山ã®çºè¡š ãã㊠3 æ¥ç®ã®æåŸã® Keynote åã«ã¯ Ruby ã¹ãã³ãµãŒã® PR æ ããããåŒç€Ÿã® CTO 平山ãçºè¡šããŸããã çºè¡šã§ã¯ããå»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããããšããããã·ã§ã³ã®ããšã¡ãã¬ãŒã 4 ã€ã®äºæ¥ãè¡ã£ãŠããããšããã®äžã®ã²ãšã€ã§ãã CLINICS ã®ãããã¯ãã«ã€ããŠããå»ç x IT ãžã®ææŠãã«ãã㊠å»çåŸäºè
ãšãšã³ãžãã¢ã»ãã¶ã€ããŒãååããŠãããã¯ãéçºãè¡ãäœå¶ ãªã©ã玹ä»ããŸããã æçµæ¥ 3 æ¥ç®ã®æåŸãšããããšããããç²ãã®æ¹ãå€ãã£ããšæããŸãããäŒå Žãç¬ãã§æ²žããã·ãŒã³ããããã¡ãã¬ãŒãšããã®ãããã¯ãã®ããšãå°ãã§ãå€ãã®äººã«ç¥ã£ãŠããã ããšãŠãè¯ãæ©äŒã«ãªã£ãã®ã§ã¯ãªãã§ããããã åœæ¥ã®çºè¡šè³æã¯ãã¡ãããã©ããã speakerdeck.com åšèŸºæ£çã®æ§åïŒããŸãïŒ æåŸã«ããŸããšããããšã§åšèŸºæ£çã®æ§åãïŒ ãŸãã¯åçããŒã ã ç¶ããŠåºå³¶åè·¡ãžãåŸ¡éæ©ã æ©ã¿ãé²ãã 3 人ã ãããŠå€©å®é£ãåçã§åå£ããããã³ã³ã¯ãªãŒã建ç¯ãšããŠåŸ©å
ãããããã§ãã è¿ãã«ã¯åºå³¶è·åœç¥ç€Ÿã ã¡ãã¬ãŒ æäŸ ã®ïŒåæïŒ çŸå³ããåºå³¶ã®ã奜ã¿çŒããããã ããŸããïŒ ãããã« ä»åã¯ã¡ãã¬ãŒãšããŠåã® RubyKaigi åå ã§ããã ããŒã¹éå¶ãªã©ãžã®äžå®ããããŸããããå®éã«åœæ¥ãè¿ããŠã¿ããšãåå è
ã®ã¿ãªãããšã話ã§ããã¡ãã¬ãŒã®ããšãå°ãã§ãå€ãã®äººã«èªç¥ããŠããã ããšãŠãè¯ãæ©äŒã ã£ããšæããŸãã ãŸã ãŸã ã¡ãã¬ãŒã®ããšããåç¥ãªãæ¹ãå€ãã£ãã§ãããå®éã«ãäŒãããŠè©±ããŠã¿ããšãå»çãšãããªã¢ã«ç£æ¥ãã€ã³ã¿ãŒãããã®åã§å€ããŠãããšããé¢çœãã«èå³ãæã£ãŠããã ããããšãå€ãã£ããªãšããå°è±¡ãåããŸããã è¯ããããã¯ããäœãããšã倧åã§ãããå»çåéã§ã®ãããã¯ãäœãã®ééå³ãç£ã¿åºãã䟡å€ãªã©ãå€ãã®ãšã³ãžãã¢ã»ãã¶ã€ããŒã«ç¥ã£ãŠãããããããããããããã¯ã«ã³ãã¡ã¬ã³ã¹ã®å Žãªã©ã§çºä¿¡ãç¶ããŠããããšã倧åã ãªããšæ¹ããŠå®æããŸããã åŒç€Ÿã§ãå»ç x IT ãžã®ææŠãã«åãçµã¿ãããšã³ãžãã¢ã®ã¿ãªãããå¿ãããåŸ
ã¡ããŠãããŸãïŒèå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã www.wantedly.com éçºæ¬éšã®é°å²æ°ããã£ãšç¥ãããæ¹ã¯ããã¡ãããã©ããã www.medley.jp
ããã«ã¡ã¯ïŒéçºæ¬éšã®ãšã³ãžãã¢ã» æ°å±
ã§ãã ã¡ãã¬ãŒã¯ 9/18ã20 ã«éå¬ãããã RubyKaigi 2017 ã® Ruby Sponsor ãåããããŠããã ããŸãããïŒ9/15ã17 ã«éå¬ããã iOSDC JAPAN 2017 ã«åŒãç¶ãã®åè³ã§ãïŒã¡ãã¬ãŒã§ã¯ä»å¹Žããããã¯ã«ã³ãã¡ã¬ã³ã¹ãžã®åè³ãç©æ¥µçã«è¡ã£ãŠããŸãïŒ ã€ãã³ãåœæ¥ã¯ãåŒç€Ÿãã CTO ã®å¹³å±±ããšã³ãžãã¢ã®å¹³æšãšå®æžããããŠæ°å±
ã® 4 人ãåå ããŸãããä»åã¯ãã®ãšãã®æ§åãªã©ãã¬ããŒãããããšæããŸãã äŒå Žã®æ§å ä»å¹Žã¯åºå³¶çã®åºå³¶åœéäŒè°å Žã§ã®éå¬ã§ããã åºå³¶åœéäŒè°å Žã¯å¹³åèšå¿µå
¬åã®æ·å°å
ã«ãããè¿ãã«ã¯åçããŒã ãåºå³¶åãªã©ãããã®ã§ RubyKaigi ã®ã€ãã§ã«èгå
ãã¡ããããªããŠäººãå€ãã£ãã®ã§ã¯ãªãã§ããããã äŒå Žã®äžè§ã«ã¯ä»åã® RubyKaigi åå è
ãã©ãããæ¥ãããæ²ç€ºããããŒããèšçœ®ãããŠããŸããã æ¥æ¬ä»¥å€ãããããããã®äººãåå ããŠãã RubyKaigi ã®æ³šç®åºŠã®é«ãã䌺ããŸãã ãããŠé£ã«ãã£ãã¹ãã³ãµãŒããŒãã® MEDLEY ããŽããã£ãã確èªããŠãCTO 平山ãšãã·ã£ãªïŒïŒïŒ ããŒã¹ã®æ§å ç¶ããŠããŒã¹ã®æ§åãïŒ ããŒã¹ã®ä»äžããã¯ãããªæãã§ãã¡ãã¬ãŒã³ãŒãã¬ãŒãã«ã©ãŒã®èµ€ãç®ç«ã£ãŠè¯ãæãã§ããïŒ äž¡ãµã€ãã«ã¯ã¡ãã¬ãŒã®äºæ¥æŠèŠãšãã¡ãã£ã¢ãªã©ãããæ³šç®ãããããšãå€ããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ãã玹ä»ãããã¹ã¿ãŒãé
眮ãåçäžå€®ã®ã¢ãã¿ãŒã§ã¯ãã¹ããŒããã©ã³ã PC ã§å»åž«ã®èšºçãåãããããšãã CLINICS ã®ãµãŒãã¹æŠèŠãããã玹ä»åç»ãæµããäŒç€Ÿå
šäœããããã¯ãã«ã€ããŠèª¬æã§ããæºåãæŽããŸããã ããã«ãã£ã¯ãMEDLEY ã¹ããã«ãŒããMEDLEY ãã¡ãããMEDLEY çµåµèãã® 3 çš®é¡ãçšæããŸããã 1 æ¥ç®ã¯å°é¢šäžéã§æ°æž©ãäžæããæãããã®ããã MEDLEY ãã¡ãã倧掻èºããŠãããŸããïŒ MEDLEY çµåµèã¯ãã¶ã€ã³ã®ãããããšå»çç³»ãªãã§ã¯ãšããããšããããšãŠã奜è©ã§ããïŒåå è
ã®äžã«ã¯éŽæŠãããŠãã人ãå°ããæŠãå·ãè² ã£ãŠã人ãããŠãMEDLEY çµåµèãåå è
ã®ã圹ã«ç«ãŠãã®ã§ã¯ãªãã§ããããã ããŒã¹åã§ææ°èŸŒã 3 äººïŒ ã¡ãªã¿ã« T ã·ã£ãã¯ã¡ãã¬ãŒç¹è£œã® ããªã¥ãŒ T ã·ã£ãïŒå·ŠïŒãšã«ã¬ããžã㎠T ã·ã£ãïŒäžå€®ãšå³ïŒ ãççšããŠããŸãã åçã§ã¯èŠããŸããããããªã¥ãŒ T ã·ã£ãã«ã¯ã¡ãã¬ãŒã®ããªã¥ãŒïŒè¡åèŠç¯ïŒã®ã²ãšã€ã§ãããäžå€®çªç Žãã®æåãå
¥ã£ãŠããŸãã äž¡ T ã·ã£ãå
±ãç®ãçããŠãããåå è
ããã¯ãããããšãã声ãããã ããŠããã¡ãã奜è©ã§ããã ååŸã® 15:20~15:50 ã® Afternoon Break ã§ã¯å€§å¢ã®åå è
ãããŒã¹ãŸãŒã³ã«ã å®éã«ããŒã¹ã«è¶³ãéãã§ããã ããåå è
ãšã話ããŠãããšãã¡ãã¬ãŒã CLINICS ã®ããšãç¥ããªã人ãã»ãšãã©ã§ããããã¡ãã¬ãŒãå»çç³»ã®ãµãŒãã¹ãæäŸããŠããäŒç€Ÿã§ããããšããCLINICS ãšãããªã³ã©ã€ã³èšºçã¢ããªãéçºããŠããããšãã話ãããšèå³ãæã£ãŠããã ããããšãå€ãã£ãããã«æããŸãã ãä»åºŠç
é¢ã§èŠãããã䜿ã£ãŠã¿ãŸãïŒããšãã声ãããã ããããåå è
èªèº«ã®å»çäœéšãå
ã« CLINICS ãšãããµãŒãã¹ã«ã€ããŠæèŠã亀ãããããšãã¡ãã¬ãŒãšã³ãžãã¢ãšåå è
ãå¯ã«ã³ãã¥ãã±ãŒã·ã§ã³ããšããè¯ãæ©äŒã«ãªããŸããã å€§çæ³ã§ãïŒ CTO 平山ã®çºè¡š ãã㊠3 æ¥ç®ã®æåŸã® Keynote åã«ã¯ Ruby ã¹ãã³ãµãŒã® PR æ ããããåŒç€Ÿã® CTO 平山ãçºè¡šããŸããã çºè¡šã§ã¯ããå»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããããšããããã·ã§ã³ã®ããšã¡ãã¬ãŒã 4 ã€ã®äºæ¥ãè¡ã£ãŠããããšããã®äžã®ã²ãšã€ã§ãã CLINICS ã®ãããã¯ãã«ã€ããŠããå»ç x IT ãžã®ææŠãã«ãã㊠å»çåŸäºè
ãšãšã³ãžãã¢ã»ãã¶ã€ããŒãååããŠãããã¯ãéçºãè¡ãäœå¶ ãªã©ã玹ä»ããŸããã æçµæ¥ 3 æ¥ç®ã®æåŸãšããããšããããç²ãã®æ¹ãå€ãã£ããšæããŸãããäŒå Žãç¬ãã§æ²žããã·ãŒã³ããããã¡ãã¬ãŒãšããã®ãããã¯ãã®ããšãå°ãã§ãå€ãã®äººã«ç¥ã£ãŠããã ããšãŠãè¯ãæ©äŒã«ãªã£ãã®ã§ã¯ãªãã§ããããã åœæ¥ã®çºè¡šè³æã¯ãã¡ãããã©ããã speakerdeck.com åšèŸºæ£çã®æ§åïŒããŸãïŒ æåŸã«ããŸããšããããšã§åšèŸºæ£çã®æ§åãïŒ ãŸãã¯åçããŒã ã ç¶ããŠåºå³¶åè·¡ãžãåŸ¡éæ©ã æ©ã¿ãé²ãã 3 人ã ãããŠå€©å®é£ãåçã§åå£ããããã³ã³ã¯ãªãŒã建ç¯ãšããŠåŸ©å
ãããããã§ãã è¿ãã«ã¯åºå³¶è·åœç¥ç€Ÿã ã¡ãã¬ãŒ æäŸ ã®ïŒåæïŒ çŸå³ããåºå³¶ã®ã奜ã¿çŒããããã ããŸããïŒ ãããã« ä»åã¯ã¡ãã¬ãŒãšããŠåã® RubyKaigi åå ã§ããã ããŒã¹éå¶ãªã©ãžã®äžå®ããããŸããããå®éã«åœæ¥ãè¿ããŠã¿ããšãåå è
ã®ã¿ãªãããšã話ã§ããã¡ãã¬ãŒã®ããšãå°ãã§ãå€ãã®äººã«èªç¥ããŠããã ããšãŠãè¯ãæ©äŒã ã£ããšæããŸãã ãŸã ãŸã ã¡ãã¬ãŒã®ããšããåç¥ãªãæ¹ãå€ãã£ãã§ãããå®éã«ãäŒãããŠè©±ããŠã¿ããšãå»çãšãããªã¢ã«ç£æ¥ãã€ã³ã¿ãŒãããã®åã§å€ããŠãããšããé¢çœãã«èå³ãæã£ãŠããã ããããšãå€ãã£ããªãšããå°è±¡ãåããŸããã è¯ããããã¯ããäœãããšã倧åã§ãããå»çåéã§ã®ãããã¯ãäœãã®ééå³ãç£ã¿åºãã䟡å€ãªã©ãå€ãã®ãšã³ãžãã¢ã»ãã¶ã€ããŒã«ç¥ã£ãŠãããããããããããããã¯ã«ã³ãã¡ã¬ã³ã¹ã®å Žãªã©ã§çºä¿¡ãç¶ããŠããããšã倧åã ãªããšæ¹ããŠå®æããŸããã åŒç€Ÿã§ãå»ç x IT ãžã®ææŠãã«åãçµã¿ãããšã³ãžãã¢ã®ã¿ãªãããå¿ãããåŸ
ã¡ããŠãããŸãïŒèå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã www.wantedly.com éçºæ¬éšã®é°å²æ°ããã£ãšç¥ãããæ¹ã¯ããã¡ãããã©ããã www.medley.jp
ããã«ã¡ã¯ïŒéçºæ¬éšã®ãšã³ãžãã¢ã» æ°å±
ã§ãã ã¡ãã¬ãŒã¯ 9/18ã20 ã«éå¬ãããã RubyKaigi 2017 ã® Ruby Sponsor ãåããããŠããã ããŸãããïŒ9/15ã17 ã«éå¬ããã iOSDC JAPAN 2017 ã«åŒãç¶ãã®åè³ã§ãïŒã¡ãã¬ãŒã§ã¯ä»å¹Žããããã¯ã«ã³ãã¡ã¬ã³ã¹ãžã®åè³ãç©æ¥µçã«è¡ã£ãŠããŸãïŒ ã€ãã³ãåœæ¥ã¯ãåŒç€Ÿãã CTO ã®å¹³å±±ããšã³ãžãã¢ã®å¹³æšãšå®æžããããŠæ°å±
ã® 4 人ãåå ããŸãããä»åã¯ãã®ãšãã®æ§åãªã©ãã¬ããŒãããããšæããŸãã äŒå Žã®æ§å ä»å¹Žã¯åºå³¶çã®åºå³¶åœéäŒè°å Žã§ã®éå¬ã§ããã åºå³¶åœéäŒè°å Žã¯å¹³åèšå¿µå
¬åã®æ·å°å
ã«ãããè¿ãã«ã¯åçããŒã ãåºå³¶åãªã©ãããã®ã§ RubyKaigi ã®ã€ãã§ã«èгå
ãã¡ããããªããŠäººãå€ãã£ãã®ã§ã¯ãªãã§ããããã äŒå Žã®äžè§ã«ã¯ä»åã® RubyKaigi åå è
ãã©ãããæ¥ãããæ²ç€ºããããŒããèšçœ®ãããŠããŸããã æ¥æ¬ä»¥å€ãããããããã®äººãåå ããŠãã RubyKaigi ã®æ³šç®åºŠã®é«ãã䌺ããŸãã ãããŠé£ã«ãã£ãã¹ãã³ãµãŒããŒãã® MEDLEY ããŽããã£ãã確èªããŠãCTO 平山ãšãã·ã£ãªïŒïŒïŒ ããŒã¹ã®æ§å ç¶ããŠããŒã¹ã®æ§åãïŒ ããŒã¹ã®ä»äžããã¯ãããªæãã§ãã¡ãã¬ãŒã³ãŒãã¬ãŒãã«ã©ãŒã®èµ€ãç®ç«ã£ãŠè¯ãæãã§ããïŒ äž¡ãµã€ãã«ã¯ã¡ãã¬ãŒã®äºæ¥æŠèŠãšãã¡ãã£ã¢ãªã©ãããæ³šç®ãããããšãå€ããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ãã玹ä»ãããã¹ã¿ãŒãé
眮ãåçäžå€®ã®ã¢ãã¿ãŒã§ã¯ãã¹ããŒããã©ã³ã PC ã§å»åž«ã®èšºçãåãããããšãã CLINICS ã®ãµãŒãã¹æŠèŠãããã玹ä»åç»ãæµããäŒç€Ÿå
šäœããããã¯ãã«ã€ããŠèª¬æã§ããæºåãæŽããŸããã ããã«ãã£ã¯ãMEDLEY ã¹ããã«ãŒããMEDLEY ãã¡ãããMEDLEY çµåµèãã® 3 çš®é¡ãçšæããŸããã 1 æ¥ç®ã¯å°é¢šäžéã§æ°æž©ãäžæããæãããã®ããã MEDLEY ãã¡ãã倧掻èºããŠãããŸããïŒ MEDLEY çµåµèã¯ãã¶ã€ã³ã®ãããããšå»çç³»ãªãã§ã¯ãšããããšããããšãŠã奜è©ã§ããïŒåå è
ã®äžã«ã¯éŽæŠãããŠãã人ãå°ããæŠãå·ãè² ã£ãŠã人ãããŠãMEDLEY çµåµèãåå è
ã®ã圹ã«ç«ãŠãã®ã§ã¯ãªãã§ããããã ããŒã¹åã§ææ°èŸŒã 3 äººïŒ ã¡ãªã¿ã« T ã·ã£ãã¯ã¡ãã¬ãŒç¹è£œã® ããªã¥ãŒ T ã·ã£ãïŒå·ŠïŒãšã«ã¬ããžã㎠T ã·ã£ãïŒäžå€®ãšå³ïŒ ãççšããŠããŸãã åçã§ã¯èŠããŸããããããªã¥ãŒ T ã·ã£ãã«ã¯ã¡ãã¬ãŒã®ããªã¥ãŒïŒè¡åèŠç¯ïŒã®ã²ãšã€ã§ãããäžå€®çªç Žãã®æåãå
¥ã£ãŠããŸãã äž¡ T ã·ã£ãå
±ãç®ãçããŠãããåå è
ããã¯ãããããšãã声ãããã ããŠããã¡ãã奜è©ã§ããã ååŸã® 15:20~15:50 ã® Afternoon Break ã§ã¯å€§å¢ã®åå è
ãããŒã¹ãŸãŒã³ã«ã å®éã«ããŒã¹ã«è¶³ãéãã§ããã ããåå è
ãšã話ããŠãããšãã¡ãã¬ãŒã CLINICS ã®ããšãç¥ããªã人ãã»ãšãã©ã§ããããã¡ãã¬ãŒãå»çç³»ã®ãµãŒãã¹ãæäŸããŠããäŒç€Ÿã§ããããšããCLINICS ãšãããªã³ã©ã€ã³èšºçã¢ããªãéçºããŠããããšãã話ãããšèå³ãæã£ãŠããã ããããšãå€ãã£ãããã«æããŸãã ãä»åºŠç
é¢ã§èŠãããã䜿ã£ãŠã¿ãŸãïŒããšãã声ãããã ããããåå è
èªèº«ã®å»çäœéšãå
ã« CLINICS ãšãããµãŒãã¹ã«ã€ããŠæèŠã亀ãããããšãã¡ãã¬ãŒãšã³ãžãã¢ãšåå è
ãå¯ã«ã³ãã¥ãã±ãŒã·ã§ã³ããšããè¯ãæ©äŒã«ãªããŸããã å€§çæ³ã§ãïŒ CTO 平山ã®çºè¡š ãã㊠3 æ¥ç®ã®æåŸã® Keynote åã«ã¯ Ruby ã¹ãã³ãµãŒã® PR æ ããããåŒç€Ÿã® CTO 平山ãçºè¡šããŸããã çºè¡šã§ã¯ããå»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããããšããããã·ã§ã³ã®ããšã¡ãã¬ãŒã 4 ã€ã®äºæ¥ãè¡ã£ãŠããããšããã®äžã®ã²ãšã€ã§ãã CLINICS ã®ãããã¯ãã«ã€ããŠããå»ç x IT ãžã®ææŠãã«ãã㊠å»çåŸäºè
ãšãšã³ãžãã¢ã»ãã¶ã€ããŒãååããŠãããã¯ãéçºãè¡ãäœå¶ ãªã©ã玹ä»ããŸããã æçµæ¥ 3 æ¥ç®ã®æåŸãšããããšããããç²ãã®æ¹ãå€ãã£ããšæããŸãããäŒå Žãç¬ãã§æ²žããã·ãŒã³ããããã¡ãã¬ãŒãšããã®ãããã¯ãã®ããšãå°ãã§ãå€ãã®äººã«ç¥ã£ãŠããã ããšãŠãè¯ãæ©äŒã«ãªã£ãã®ã§ã¯ãªãã§ããããã åœæ¥ã®çºè¡šè³æã¯ãã¡ãããã©ããã speakerdeck.com åšèŸºæ£çã®æ§åïŒããŸãïŒ æåŸã«ããŸããšããããšã§åšèŸºæ£çã®æ§åãïŒ ãŸãã¯åçããŒã ã ç¶ããŠåºå³¶åè·¡ãžãåŸ¡éæ©ã æ©ã¿ãé²ãã 3 人ã ãããŠå€©å®é£ãåçã§åå£ããããã³ã³ã¯ãªãŒã建ç¯ãšããŠåŸ©å
ãããããã§ãã è¿ãã«ã¯åºå³¶è·åœç¥ç€Ÿã ã¡ãã¬ãŒ æäŸ ã®ïŒåæïŒ çŸå³ããåºå³¶ã®ã奜ã¿çŒããããã ããŸããïŒ ãããã« ä»åã¯ã¡ãã¬ãŒãšããŠåã® RubyKaigi åå ã§ããã ããŒã¹éå¶ãªã©ãžã®äžå®ããããŸããããå®éã«åœæ¥ãè¿ããŠã¿ããšãåå è
ã®ã¿ãªãããšã話ã§ããã¡ãã¬ãŒã®ããšãå°ãã§ãå€ãã®äººã«èªç¥ããŠããã ããšãŠãè¯ãæ©äŒã ã£ããšæããŸãã ãŸã ãŸã ã¡ãã¬ãŒã®ããšããåç¥ãªãæ¹ãå€ãã£ãã§ãããå®éã«ãäŒãããŠè©±ããŠã¿ããšãå»çãšãããªã¢ã«ç£æ¥ãã€ã³ã¿ãŒãããã®åã§å€ããŠãããšããé¢çœãã«èå³ãæã£ãŠããã ããããšãå€ãã£ããªãšããå°è±¡ãåããŸããã è¯ããããã¯ããäœãããšã倧åã§ãããå»çåéã§ã®ãããã¯ãäœãã®ééå³ãç£ã¿åºãã䟡å€ãªã©ãå€ãã®ãšã³ãžãã¢ã»ãã¶ã€ããŒã«ç¥ã£ãŠãããããããããããããã¯ã«ã³ãã¡ã¬ã³ã¹ã®å Žãªã©ã§çºä¿¡ãç¶ããŠããããšã倧åã ãªããšæ¹ããŠå®æããŸããã åŒç€Ÿã§ãå»ç x IT ãžã®ææŠãã«åãçµã¿ãããšã³ãžãã¢ã®ã¿ãªãããå¿ãããåŸ
ã¡ããŠãããŸãïŒèå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã www.wantedly.com éçºæ¬éšã®é°å²æ°ããã£ãšç¥ãããæ¹ã¯ããã¡ãããã©ããã www.medley.jp
ããã«ã¡ã¯ïŒéçºæ¬éšã®ãšã³ãžãã¢ã» æ°å±
ã§ãã ã¡ãã¬ãŒã¯ 9/18ã20 ã«éå¬ãããã RubyKaigi 2017 ã® Ruby Sponsor ãåããããŠããã ããŸãããïŒ9/15ã17 ã«éå¬ããã iOSDC JAPAN 2017 ã«åŒãç¶ãã®åè³ã§ãïŒã¡ãã¬ãŒã§ã¯ä»å¹Žããããã¯ã«ã³ãã¡ã¬ã³ã¹ãžã®åè³ãç©æ¥µçã«è¡ã£ãŠããŸãïŒ ã€ãã³ãåœæ¥ã¯ãåŒç€Ÿãã CTO ã®å¹³å±±ããšã³ãžãã¢ã®å¹³æšãšå®æžããããŠæ°å±
ã® 4 人ãåå ããŸãããä»åã¯ãã®ãšãã®æ§åãªã©ãã¬ããŒãããããšæããŸãã äŒå Žã®æ§å ä»å¹Žã¯åºå³¶çã®åºå³¶åœéäŒè°å Žã§ã®éå¬ã§ããã åºå³¶åœéäŒè°å Žã¯å¹³åèšå¿µå
¬åã®æ·å°å
ã«ãããè¿ãã«ã¯åçããŒã ãåºå³¶åãªã©ãããã®ã§ RubyKaigi ã®ã€ãã§ã«èгå
ãã¡ããããªããŠäººãå€ãã£ãã®ã§ã¯ãªãã§ããããã äŒå Žã®äžè§ã«ã¯ä»åã® RubyKaigi åå è
ãã©ãããæ¥ãããæ²ç€ºããããŒããèšçœ®ãããŠããŸããã æ¥æ¬ä»¥å€ãããããããã®äººãåå ããŠãã RubyKaigi ã®æ³šç®åºŠã®é«ãã䌺ããŸãã ãããŠé£ã«ãã£ãã¹ãã³ãµãŒããŒãã® MEDLEY ããŽããã£ãã確èªããŠãCTO 平山ãšãã·ã£ãªïŒïŒïŒ ããŒã¹ã®æ§å ç¶ããŠããŒã¹ã®æ§åãïŒ ããŒã¹ã®ä»äžããã¯ãããªæãã§ãã¡ãã¬ãŒã³ãŒãã¬ãŒãã«ã©ãŒã®èµ€ãç®ç«ã£ãŠè¯ãæãã§ããïŒ äž¡ãµã€ãã«ã¯ã¡ãã¬ãŒã®äºæ¥æŠèŠãšãã¡ãã£ã¢ãªã©ãããæ³šç®ãããããšãå€ããªã³ã©ã€ã³èšºçã¢ããªã CLINICS ãã玹ä»ãããã¹ã¿ãŒãé
眮ãåçäžå€®ã®ã¢ãã¿ãŒã§ã¯ãã¹ããŒããã©ã³ã PC ã§å»åž«ã®èšºçãåãããããšãã CLINICS ã®ãµãŒãã¹æŠèŠãããã玹ä»åç»ãæµããäŒç€Ÿå
šäœããããã¯ãã«ã€ããŠèª¬æã§ããæºåãæŽããŸããã ããã«ãã£ã¯ãMEDLEY ã¹ããã«ãŒããMEDLEY ãã¡ãããMEDLEY çµåµèãã® 3 çš®é¡ãçšæããŸããã 1 æ¥ç®ã¯å°é¢šäžéã§æ°æž©ãäžæããæãããã®ããã MEDLEY ãã¡ãã倧掻èºããŠãããŸããïŒ MEDLEY çµåµèã¯ãã¶ã€ã³ã®ãããããšå»çç³»ãªãã§ã¯ãšããããšããããšãŠã奜è©ã§ããïŒåå è
ã®äžã«ã¯éŽæŠãããŠãã人ãå°ããæŠãå·ãè² ã£ãŠã人ãããŠãMEDLEY çµåµèãåå è
ã®ã圹ã«ç«ãŠãã®ã§ã¯ãªãã§ããããã ããŒã¹åã§ææ°èŸŒã 3 äººïŒ ã¡ãªã¿ã« T ã·ã£ãã¯ã¡ãã¬ãŒç¹è£œã® ããªã¥ãŒ T ã·ã£ãïŒå·ŠïŒãšã«ã¬ããžã㎠T ã·ã£ãïŒäžå€®ãšå³ïŒ ãççšããŠããŸãã åçã§ã¯èŠããŸããããããªã¥ãŒ T ã·ã£ãã«ã¯ã¡ãã¬ãŒã®ããªã¥ãŒïŒè¡åèŠç¯ïŒã®ã²ãšã€ã§ãããäžå€®çªç Žãã®æåãå
¥ã£ãŠããŸãã äž¡ T ã·ã£ãå
±ãç®ãçããŠãããåå è
ããã¯ãããããšãã声ãããã ããŠããã¡ãã奜è©ã§ããã ååŸã® 15:20~15:50 ã® Afternoon Break ã§ã¯å€§å¢ã®åå è
ãããŒã¹ãŸãŒã³ã«ã å®éã«ããŒã¹ã«è¶³ãéãã§ããã ããåå è
ãšã話ããŠãããšãã¡ãã¬ãŒã CLINICS ã®ããšãç¥ããªã人ãã»ãšãã©ã§ããããã¡ãã¬ãŒãå»çç³»ã®ãµãŒãã¹ãæäŸããŠããäŒç€Ÿã§ããããšããCLINICS ãšãããªã³ã©ã€ã³èšºçã¢ããªãéçºããŠããããšãã話ãããšèå³ãæã£ãŠããã ããããšãå€ãã£ãããã«æããŸãã ãä»åºŠç
é¢ã§èŠãããã䜿ã£ãŠã¿ãŸãïŒããšãã声ãããã ããããåå è
èªèº«ã®å»çäœéšãå
ã« CLINICS ãšãããµãŒãã¹ã«ã€ããŠæèŠã亀ãããããšãã¡ãã¬ãŒãšã³ãžãã¢ãšåå è
ãå¯ã«ã³ãã¥ãã±ãŒã·ã§ã³ããšããè¯ãæ©äŒã«ãªããŸããã å€§çæ³ã§ãïŒ CTO 平山ã®çºè¡š ãã㊠3 æ¥ç®ã®æåŸã® Keynote åã«ã¯ Ruby ã¹ãã³ãµãŒã® PR æ ããããåŒç€Ÿã® CTO 平山ãçºè¡šããŸããã çºè¡šã§ã¯ããå»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããããšããããã·ã§ã³ã®ããšã¡ãã¬ãŒã 4 ã€ã®äºæ¥ãè¡ã£ãŠããããšããã®äžã®ã²ãšã€ã§ãã CLINICS ã®ãããã¯ãã«ã€ããŠããå»ç x IT ãžã®ææŠãã«ãã㊠å»çåŸäºè
ãšãšã³ãžãã¢ã»ãã¶ã€ããŒãååããŠãããã¯ãéçºãè¡ãäœå¶ ãªã©ã玹ä»ããŸããã æçµæ¥ 3 æ¥ç®ã®æåŸãšããããšããããç²ãã®æ¹ãå€ãã£ããšæããŸãããäŒå Žãç¬ãã§æ²žããã·ãŒã³ããããã¡ãã¬ãŒãšããã®ãããã¯ãã®ããšãå°ãã§ãå€ãã®äººã«ç¥ã£ãŠããã ããšãŠãè¯ãæ©äŒã«ãªã£ãã®ã§ã¯ãªãã§ããããã åœæ¥ã®çºè¡šè³æã¯ãã¡ãããã©ããã speakerdeck.com åšèŸºæ£çã®æ§åïŒããŸãïŒ æåŸã«ããŸããšããããšã§åšèŸºæ£çã®æ§åãïŒ ãŸãã¯åçããŒã ã ç¶ããŠåºå³¶åè·¡ãžãåŸ¡éæ©ã æ©ã¿ãé²ãã 3 人ã ãããŠå€©å®é£ãåçã§åå£ããããã³ã³ã¯ãªãŒã建ç¯ãšããŠåŸ©å
ãããããã§ãã è¿ãã«ã¯åºå³¶è·åœç¥ç€Ÿã ã¡ãã¬ãŒ æäŸ ã®ïŒåæïŒ çŸå³ããåºå³¶ã®ã奜ã¿çŒããããã ããŸããïŒ ãããã« ä»åã¯ã¡ãã¬ãŒãšããŠåã® RubyKaigi åå ã§ããã ããŒã¹éå¶ãªã©ãžã®äžå®ããããŸããããå®éã«åœæ¥ãè¿ããŠã¿ããšãåå è
ã®ã¿ãªãããšã話ã§ããã¡ãã¬ãŒã®ããšãå°ãã§ãå€ãã®äººã«èªç¥ããŠããã ããšãŠãè¯ãæ©äŒã ã£ããšæããŸãã ãŸã ãŸã ã¡ãã¬ãŒã®ããšããåç¥ãªãæ¹ãå€ãã£ãã§ãããå®éã«ãäŒãããŠè©±ããŠã¿ããšãå»çãšãããªã¢ã«ç£æ¥ãã€ã³ã¿ãŒãããã®åã§å€ããŠãããšããé¢çœãã«èå³ãæã£ãŠããã ããããšãå€ãã£ããªãšããå°è±¡ãåããŸããã è¯ããããã¯ããäœãããšã倧åã§ãããå»çåéã§ã®ãããã¯ãäœãã®ééå³ãç£ã¿åºãã䟡å€ãªã©ãå€ãã®ãšã³ãžãã¢ã»ãã¶ã€ããŒã«ç¥ã£ãŠãããããããããããããã¯ã«ã³ãã¡ã¬ã³ã¹ã®å Žãªã©ã§çºä¿¡ãç¶ããŠããããšã倧åã ãªããšæ¹ããŠå®æããŸããã åŒç€Ÿã§ãå»ç x IT ãžã®ææŠãã«åãçµã¿ãããšã³ãžãã¢ã®ã¿ãªãããå¿ãããåŸ
ã¡ããŠãããŸãïŒèå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã www.wantedly.com éçºæ¬éšã®é°å²æ°ããã£ãšç¥ãããæ¹ã¯ããã¡ãããã©ããã www.medley.jp
ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšã®ãšã³ãžãã¢ã»å¹³æšã§ãã 衚é¡ã®éããªãã§ãããã¡ãã¬ãŒã¯ä»å¹Žããããã¯ã«ã³ãã¡ã¬ã³ã¹ã®åè³ãæ¬æ Œçã«éå§ããŠããŸãããã®å
ã® 1 ã€ã 9/15ã17 ã«æ©çš²ç°å€§åŠã§éããã iOSDC Japan 2017 (ä»¥äž iOSDC)ã§ãã ã¿ãªãããåç¥ããšæããŸãããiOSDC ã¯åœå
ã® iOS ã€ãã³ãã®äžã§ã¯ try! Swift ãšäžŠã¶æå€§çŽã®ã€ãã³ãã§ãã ã¡ãã¬ãŒã¯ä»åããŽãŒã«ãã¹ãã³ãµãŒãšããŠååãããŠããã ããŸãããããŒã¹åºå±ã¯ããŠããªãã®ã§ãããCLINICS ã® iOS çãã¡ã€ã³ã§æ
åœããŠããé«äºãšäžç·ã«åå ããŠããŸããã äŒå Žã®é°å²æ° ãŸã第äžå°è±¡ãšããŠäººãå€ãã£ãã§ãã äŒå Žã¯ 4 ã€ã«åãããŠããã®ã§ãããäžçªå€§ãããã©ã㯠A 以å€ã¯ã»ãã·ã§ã³ãå§ãŸãããã«ãªããšæºåžã«ãªã£ãŠããããšãå€ããèªåãèŠãã»ãã·ã§ã³ã§ã¯å€§äœç«ã¡èŠãåºãŠããæãã§ããã äŒæ¥ããŒã¹ãåºå±ããŠããäŒæ¥ããã®äžã§ã¯ããµã€ããŒãšãŒãžã§ã³ãããã®ããŒã¹ã iOS éçºã«é¢ããã¢ã³ã±ãŒããåã£ãŠããããã§ãçæ³ã§ããã ã¹ã¿ããããã®äººæ°ãå€ãã£ããšããããšãããã®ããã¹ã±ãžã¥ãŒã«éãã«ã»ãã·ã§ã³ãé²ãã§ããã®ãå°è±¡çã§ãããæ©æãã©ãã«ãªã©ãã»ãšãã© èŠåããããªãã£ãã®ã§ãéå¶ããšãŠãã¹ã ãŒãºã§ããã ãŸããæã«ãªãŒããã³ã°ã ãŒããŒãæµããŠã¹ãã³ãµãŒã®ç޹ä»ãªã©ãããŠããæ åãæµããã®ã§ããããŸããã®äžç³çŽä¹ããããã¬ãŒã·ã§ã³ã§ããããŸããã ãããã video: https://youtu.be/AC7C5CY1Meo?t=4m55s iOSDC ã§ã¯ã©ã³ããé
ããã圢åŒãªã®ã§ãããæ¥å Žè
ãå€ãã£ãã¯ããªã®ã«ãé£ã¹ãå ŽæããªãâŠã¿ãããªããšããªãè¯ãã£ãã§ããã ã©ã³ãã¯ãµã³ãã€ããã§ã倧å€ããããã£ãã§ããåžãè¿ããããç¥ããªã人ãšã話ããããé°å²æ°ãæããŸããã ã»ãã·ã§ã³ äžå£ã« iOS é¢é£ãšãã£ãŠãã»ãã·ã§ã³ã¯ããªããã©ãšãã£ã«å¯ãã å
容ã§ããSwift ã«é¢ãããã®ãèšèšã«é¢ãããã®ãéçšã«é¢ãããã®ãªã©ãªã©âŠã ã¡ããã¡ãããš Android ã Kotlin ãšé¢ä¿ããã»ãã·ã§ã³ããã£ãã®ã¯æå€ã§ãããããèããŠã¿ããšäž¡æ¹ããã£ãŠããšã³ãžãã¢ã®æ¹ãå€ãã§ããããã Swift ãš Kotlin ãææ³ãªããã¯å²ãšäŒŒãŠããšããããšã§ãèŠªåæ§ããããã§ããããã å
šäœãšããŠã¯ããã¯ããiPhone X ã iOS11 ã®è©±é¡ãã¡ãã»ããšåºãŠããããããå°éã®ã«ã³ãã¡ã¬ã³ã¹ã ããã£ãŠãããšã€ã£ããã 話ãèããã®ãè¯ãã£ãã§ãã å人çã«ã¯èšèªã®è©±ãªã©ãé¢çœãã£ããã§ãããéçšåšãã®è©±ãããŠãã»ãã·ã§ã³ããšãŠãé¢çœãã£ãã§ãã ãªãã¥ãŒã¢ã«åšãã®è©±é¡ã CI ã§ã®éçšã®è©±ãªã©ã¯å€§å€ã«åèã«ãªããŸããããç¹ã«ãã¬ã¿ããã® ãã®ã³ã° ã®è©±ã¯ãã²åŒç€Ÿã§ãå®è·µããã°ãšãã話ã§ããã LT ã®æéåã«ããŒã«ãé
ãããŠã飲ã¿ãªããåå ã§ããã®ã¯å€§å€ãã€ã³ããé«ãã§ãã! æåŸã« iOSDC ã¯èªåã¯åããŠã®åå ã ã£ãã®ã§ããã倧å€ããã€ãã³ãã ãªãšæããŸããã iOS ã ãšç¹ã«å€§äœæ¯å¹Žæ°ããããŒãžã§ã³ãæ°ããæ©çš®ãåºãŠããŸããã ãããªããšæ°ãã SDK ã API ãã©ãã©ãåºãŠãããšããæãã§ãããã¡ãããããã®æ
å ±ãªã©ã§ç¥èãã¢ããããŒããããããã®ãå¿
èŠã§ããããããã£ãã€ãã³ãã§ããæ°é®®ãªç¥èŠãªã©ãå
±æã§ãããšããã®ã¯ããã¯ãçŽ æŽãããªããšããææ³ã§ãã åŒç€Ÿã®ã¢ããªéçºã§ããããã£ãç¥èŠãªã©ã掻ãããŠéçºããŠããã仲éãåŒãç¶ãåéããŠããŸã! èå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã About æ ªåŒäŒç€Ÿã¡ãã¬ãŒ - Wantedly You can read employee interviews and the latest company's initiative of æ ªåŒäŒç€Ÿã¡ãã¬ãŒ. æ¥éãªé«éœ¢åãå»çè²»ã®é«éš°ãå»ççŸå Žã®ç²åŒãå«ã°ããäžã§ããã®ãŸãŸã§ã¯å®¶èšã倧ããå§è¿«ããŠæ¯ããããªããªããæ¥æ¬ã®å»çã¯åŽ©å£ããŠããŸããŸãããã®ç¶æ
ãè§£æ¶ããããã®éµããå»ççŸå Žã«ãããã¯ã©ãŠã掻çšãé§äœ¿ããæ¥åå¹çåãã§ãã ãããæ¥æ¬ã§ã¯ã忰以äžã®å»çæ©é¢ãããŸã ã«çŽã«ã«ããå©çšããŠãããªã©ãã¯ã©ãŠãåã¯çãããžã¿ã«æŽ»çšãé²ãã§ããªãã®ãçŸç¶ã§ããç§ãã¡ã¯ãã¯ãããžãŒã掻çšããäºæ¥ããããžã§ã¯ããéããŠãå»çãã«ã¹ã±ã¢åéã®ããžã¿ã«æŽ»çšãæšé²ããæ¥æ¬ã®æªæ¥ãäœãããã®åãçµã¿ãè¡ã£ãŠãããŸãã www.wantedly.com éçºæ¬éšã®é°å²æ°ãç¥ãããæ¹ã¯ãã¡ãããã©ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp