å®è£ ã³ã¼ããä¸å¿ã«ããã¡ã¤ã³ã¢ãã«ã®è¨è¨ã«å¯¾ããèãæ¹ãæ¹åæ¹æ³ã«ã¤ãã¦ã¾ã¨ããè³æã§ãã
2018/3/18 è¿½è¨ TISããã®reactive system meetupã§çºè¡¨ããæ©ä¼ãããã ãã¾ããããããã¨ããããã¾ããçºè¡¨è³æããªã³ã¯ãã¦ããã¾ãã Distributed ID generator in ChatWork from TanUkkii 18æ¡ã«ãªã£ãã¡ãã»ã¼ã¸ID ï¼ï¼ï¼ï¼å¹´ï¼æï¼ï¼æ¥ããã£ã¦ãã£ããã¯ã¼ã¯ã®ã¡ãã»ã¼ã¸IDã¯ï¼ï¼æ¡ããï¼ï¼æ¡ã«ãªãã¾ãããã¿ãªãããæ°ã¥ãã§ãããï¼ ããã¯ã¡ãã»ã¼ã¸ãªã³ã¯ãåå¾ãã¦ã¿ããã¨ã§ç¢ºèªã§ãã¾ãã ããã¾ã§ã¯32bitã§ãã¤é£çªã®IDã§ãããä»ã¯64bitã«ãªããã¾ãå調å¢å æ§ã ããä¿è¨¼ããé£çªã§ã¯ãªããªã£ã¦ãã¾ãã ãã®è¨äºã§ã¯æ°ã¡ãã»ã¼ã¸IDã¨ãããçºè¡ããã·ã¹ãã ã«ã¤ãã¦è¨è¿°ãã¾ãã æ¯æ¸ãããã ã£ãã¡ãã»ã¼ã¸ID ãã£ããã¯ã¼ã¯ã®ã¡ãã»ã¼ã¸æ°ã¯ï¼ï¼ï¼ï¼å¹´ï¼ææç¹ã§ï¼ï¼åãçªç ´ãã¾ããã lp.chatwork
(c) Recruit Co., Ltd.
scala.connpass.com Scalaç¦å²¡ã§ç»å£æ©ä¼ãããã ããã話ãã¦ãã¾ããã ã¼ããã¡ãéç¨ã»éçºãã¦ããMackerel ã¨ãããããã¯ãã§ã2度å®æ½ããPlay Frameworkã®ãã¼ã¸ã§ã³ã¢ããã§å¾ãç¥è¦ãå ã«ãã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ã®æ´æ°ãã©ãããã°å®å ¨ã«ãããã ããããã¨ãã観ç¹ã§ã®ã話ã§ããã ããã¦æè¡çãªå´é¢ã«ã¯ãã¾ããã©ã¼ã«ã¹ããã«ãããã¸ã§ã¯ãããã¸ã¡ã³ãã®è¦åº§ããã話ãããã¨ã§ãScalaãPlayã«ããããåèã«ãªããããªçºè¡¨ã«ãªãã°ãããªãã¨ãããã¨ãæèãã¾ãããä»ã®è¨èªã®ä¸çããã¾ã詳ããç¥ããªãã®ã§ãæå³éãã®çºè¡¨ã«ãªã£ããã©ããã¯ãããã¾ãããâ¦ã Twitterãè¦ãã¨ããããããã好è©ãªããã§ããã£ãã§ãã ãµã¼ãã¹ã«æ©è½è¿½å ããªããéç¨ãã¤ã¤ããã¬ã¼ã ã¯ã¼ã¯ãã©ã¤ãã©ãªã®ãã¼ã¸ã§ã³ã¢ããã«ã¤ãã¦è¡ãã®ã¾ãã§å¤§å¤ãªã®ã§ããã®ã»
DIã使ããªãç¶æ ã§ã¯UserRepositoryã¨ããã¤ã³ã¿ã¼ãã§ã¼ã¹ãå®ç¾©ããã¦ããã®ã«ãããããããUserServiceã¯UserRepositoryImplã®åç §ãæã£ã¦ãã¾ããã ããã§ã¯ãã£ããã¤ã³ã¿ã¼ãã§ã¼ã¹ãåé¢ããæå³ãããã¾ããã UserServiceãUserRepositoryã¤ã³ã¿ã¼ãã§ã¼ã¹ã ããåç §(ä¾å)ããããã«ããã°ãå ·ä½çãªå®è£ ã§ããUserRepositoryImplã®å¤æ´ã«å½±é¿ããããã¨ã¯ããã¾ããã ãã®åé¡ã解決ããã®ãDIã®ç®çã§ãã ããã§ã¯DIã®ã¤ã³ã¸ã§ã¯ã¿ãå ãã¦ãä¸è¨ã®ã¯ã©ã¹å³ãä¿®æ£ãã¾ãããã è¬ã®ã¤ã³ã¸ã§ã¯ã¿ã®ç»å ´ã«ããUserServiceããUserRepositoryImplã¸ã®åç §ããªããªãã¾ããã ããããã¤ã³ã¸ã§ã¯ã¿ã¯ä½ããã®æ段ã§ãµã¼ãã¹ã§ããUserRepositoryImpl(Dependency)ãã¯ã©ã¤ã¢ã³
2016å¹´8æããã¬ã¿ã®å¢äºéä¸éããï¼ãITè¸äººããããã°ã©ãã¼ãã§æ¤ç´¢ï¼ï¼ã¯PHPããScalaã¸ã®ç§»è¡ã表æãã¦ããChatWork CTOã®å±±æ¬æ£åããã«ãæ¬å½ã«Scalaåã§ãããã§ããï¼ãã¨ç´çã§èãã¾ããï¼ãPHPããScalaã«ä¹ãæãããã£ããã¯ã¼ã¯ããããã®å¾ã©ãã§ããï¼ï¼åç·¨ï¼ãï¼ãããã¦2017å¹´2æãã移è¡ã§ãããããã²ããä¸åæ¥ã¦ãã ãããã¨ã®èªããåãã¦ãåã³å¢äºããããã£ããã¯ã¼ã¯ã«ãã£ã¦ãã¾ããï¼ å¢äºãScalaåãããã§ã¨ããããã¾ãï¼ å±±æ¬ããããã¨ããããã¾ãã å¢äºãååãèãã¾ããããèªãã§ãªãæ¹ãããã§ããããããããä¸åº¦èããã¦ãã ãããScalaãå ¥ãããã¨æã£ãææã¯ãã¤ãªãã§ããããã å±±æ¬ããã®ãããã¯Blogï¼ããã£ããã¯ã¼ã¯ãScalaãæ¡ç¨ããçç±ãããããã®ãã£ã¬ã³ã¸ããï¼ã«æ¸ãããã§ããã2å¹´ååââå宿ããã¦Scalaå
ããã«ã¡ã¯ã @kimutyam (æ¨æ)ã§ãã å æ¥ã¯ãScala/Scrum/DDD å°ã£ããã¨50é£çºã¬ããªã³ã°ãã¼ã¯ãã¨ããåå¼·ä¼ã«ã¦ç»å£ããã¦ããã ãã¾ããã scala-scrum-ddd-gatlingtalk.connpass.com ç»å£å¾ã¯ã¬ããªã³ã°ãããã®ã§ãã£ã¨ããéã«çµãã£ãã¨ããæè¦ãããã¾ããã®ã§ã åå¼·ä¼ã§è³ªåãã¦ããã ããå 容ã®åçãã¾ã¨ããã¨ã³ããªã¨ãã¾ãã åå¼·ä¼å 容ã«ã¤ã㦠Scala/Scrum/DDD å°ã£ããã¨50é£çºã¬ããªã³ã°ãã¼ã¯ï¼ï¼ from Yasuyuki Sugitani www.slideshare.net 50é£çºã§ãã¹ã©ã¤ãæ°173æå°éãã¾ããã å ã ã¯100é£çºã«ãããã¨ç®è«ãã§ãããã©è¾ãã¦ããã£ã... 以ä¸ã®ã«ãã´ãªã§å°ã£ããã¨ã50é£çºãã¦å社ã§ã©ã®ããã«è§£æ±ºãã¦ãããã¨ããã®ãããã®ã¤ãã³ãã®è¶£æ¨ã§ãã 詳細ã¯ã¹
æ¬å½ã«Scalaåã§ãããã§ããï¼ å¢äºï¼ä»æ¥ã¯ããã£ããã¯ã¼ã¯ãPHPããScalaã«åãæ¿ããã話ã伺ãããã«ãã£ã¦æ¥ã¾ããã å±±æ¬ï¼ã¯ãã å¢äºï¼åããã®è©±ãç¥ã£ãã®ã¯ãã¡ããã©2å¹´ãããåã«èªãã ããã°ã®ã¨ã³ããªã ã£ããã§ãããããªã失礼ãªãã§ãããåã¯ãã®è©±ãç¥ã£ã¦ãã¶ã£ã¡ããã¢ããããªããã¨æã£ããã§ããã å±±æ¬ï¼ãã¯ã¯ï¼ç¬ï¼ å¢äºï¼åºæ¬çã«éçºè¨èªããã¬ã¼ã ã¯ã¼ã¯ãæ¹æ³è«ãåæã«å¤ããã£ã¦çµæ§å¤§ããªå¤æ´ã§ãããï¼ å±±æ¬ï¼ããæãã¾ãã å¢äºï¼ãããªã®ã«ããã®æ±ºæãçºè¡¨ãããå½æã御社ã«ã¯Scalaã¨ã³ã¸ãã¢ãããªãã£ããããããªãã§ããããæ¬å½ã«å¤§ä¸å¤«ãªã®ããªï¼ãã¨æã£ã¦ãæ°ã«ãªã£ã¦ããã§ããæ¨å¹´æ¥ã«ã¯ãScalaæ¡ç¨ã決ãã¦ä¸å¹´ãã£ããCTOã®éæãã¨ããã¨ã³ããªããã¹ãããã¦ãã¾ããããããã«1å¹´çµã£ãä»ã¯ã©ããªç¶æ³ãªãã§ããï¼ å±±æ¬ï¼ã²ã¨è¨ã§ç³ãä¸ããã¨ã絶è³ç§»è¡ä¸ãã¨
ã¢ãã«ã®è¡¨ç¾æ¹æ³ã®ä¸ã¤ã¨ãã¦DCIã®å®è£ æ¹æ³ããããããã¨æ¨¡ç´¢ãã¦ãã¾ãã æé»çåå¤æã¨åã¯ã©ã¹ã使ã£ãDCIãããã¨èª¬æãã¾ããããtraitã ãã§ãã£ã¨ç°¡åã«å®ç¾ã§ããªããèãã¦ã¿ã¾ãã(ãã®æ¹æ³ã¯Lean Architectureã«ãç´¹ä»ããã¦ããå®è£ æ¹å¼ã§ã)ã traitã§ä»æ§ã表ç¾ãã traitã¯ãä»æ§ã表ç¾ããããã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¨ãã¦ã使ããããä»ã®ã¯ã©ã¹ãªã©ã«åæããããã®ãåå©ç¨å¯è½ãªå®è£ (é¨åã¯ã©ã¹ãªã©ã¨è¨ããããã¨ããã)ã¨ãã¦ã使ãã¾ãã DCIã¨ã¯ç´æ¥é¢ä¿ãªã話ã§ãããã¾ãtraitã®ã¤ã³ã¿ã¼ãã§ã¤ã¹çãªä½¿ãæ¹ããããã¾ãã ã§ã¯ãã決ã¾ãã®éè¡å£åº§ã§èª¬æ(好ãããªã¼w)ã 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 // éè¡å£åº§ã¨ã³ãã£ã㣠// ä¸å¤æ¡ä»¶: æ®é«ã®éã¯è² æ°ã§ãã£ã¦ã¯ãªããª
ã¿ãªãããããã«ã¡ã¯ãã°ãªã¼ã®ãã¨ãã ã(@j5ik2o)ã§ãã ãã®ã¨ã³ããªã¯ GREE Advent Calendar 2013 ã® 18æ¥ç®ã®è¨äºã§ãããããããé¡ããã¾ãã ç§ãã°ãªã¼ã«å ¥ç¤¾ãã¦ãã£ã¦ãããã¨ã¯ãããã°ã©ãã³ã°è¨èª Scalaã¨ãã¡ã¤ã³é§åè¨è¨(以ä¸ãDDD)ã®å¸ææ´»åã§ããå¸ææ´»åã¨ãã£ã¦ã宣ä¼ããã ãã§ã¯å ·ä½æ§ã«æ¬ ããã®ã§ãå®éã«éçºãã¼ã ã«å ¥ã£ã¦ScalaãDDDã®æè¡æ¯æ´ãè¡ã£ã¦ãã¾ããæ¬ã¨ã³ããªã§ã¯ãScalaãç¨ããDDDã®è¨è¨ã¨å®è£ ãã©ã®ããã«è¡ã£ã¦ãããããDDDãç¥ããªã人ã§ãã§ããã ããããããã説æãããã¨æãã¾ã(Scalaããã£ã¦ããã¨èªã¿ãããã§ãããããã¾ãè¤éãªã³ã¼ãã¯åºã¦ããªãã®ã§ãªãã¨ãªãèªããã®ã§ã¯ãªããã¨æãã¾ã)ããªããDDDã®å®è·µä¾ã¯ä»ã«ãããã¾ããä¸ä¾ã ã¨æã£ã¦èªãã§ããã ããã°å¹¸ãã§ã(å æ¥ã®SNSãã¼ã ã§ã®ãã¡ã¤ã³é§
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}