ScalaMatsuri 2019 http://2019.scalamatsuri.org/index_en.html
ScalaMatsuri 2019 Akka Cluster ãæ¡ç¨ãã決æ¸ãµã¼ãã¹ããªãªã¼ã¹ãã¾ããããã®ã»ãã·ã§ã³ã§ã¯ãAkka Cluster ã使ã£ãéçºã§è¦å´ããç¹ããå¾æ¥ã® RDB ãç¨ãã CRUD ãã¼ã¹ã®ã·ã¹ãã ãããã©ã®ããã«ãã¦ã¢ã¯ã¿ã¼ã¢ãã«ãã¤ãã³ãã½ã¼ã·ã³ã°ã»CQRS ã¨â¦
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)ãã¯ã©ã¤ã¢ã³
TL;DR ä¸éã®Scalaã«é¢ããã¤ã¡ã¼ã¸ã¯ãæã®ã¾ã¾ã§ãããã¨ãå¤ã æã®ã¾ã¾ã©ããããæåããééã£ãã¤ã¡ã¼ã¸ãæããã¦ãããã¨ãå¤ã å®éã«ã¯ãæ¢ã«è§£æ±ºããã¦ããåé¡ã¯å¤ã ããããæ¹åã«åãã£ã¦ãããã¨ãå¤ã ããã¸ã§ã¯ã管çã®åé¡ãè¨èªã«æ¼ãä»ãã¦ããã±ã¼ã¹ããã ã¯ããã« èªåãæåã«Scalaã«è§¦ããã®ã2005å¹´ï¼Scala 1ããã«ã¦ã³ãããå ´åï¼ããããã¯2007å¹´ï¼Scala 2以éããã«ã¦ã³ãããå ´åï¼ã¨ãScalaã¨ã®ä»ãåããçµæ§é·ããªã£ã¦ãã¾ãããããã®éã« Typesafe社ï¼ç¾Lightbend社ï¼ã®è¨ç« å®è³ªæ¨æºãã«ããã¼ã«ã¨ãã¦ã®sbtã®ç¢ºç« ã©ã¤ãã©ãªã®ãã¤ããªå¾æ¹äºææ§ã«é¢ããããªã·ã¼ã®çå® å ¬å¼Scalaã¤ãã³ãScala Daysã®ã¯ãã¾ã Play 2 Frameworkã®ç»å ´ Scala Centerçºè¶³ ãã®ä»è²ã ãããã¾ããããã®éã
2016å¹´8æããã¬ã¿ã®å¢äºéä¸éããï¼ãITè¸äººããããã°ã©ãã¼ãã§æ¤ç´¢ï¼ï¼ã¯PHPããScalaã¸ã®ç§»è¡ã表æãã¦ããChatWork CTOã®å±±æ¬æ£åããã«ãæ¬å½ã«Scalaåã§ãããã§ããï¼ãã¨ç´çã§èãã¾ããï¼ãPHPããScalaã«ä¹ãæãããã£ããã¯ã¼ã¯ããããã®å¾ã©ãã§ããï¼ï¼åç·¨ï¼ãï¼ãããã¦2017å¹´2æãã移è¡ã§ãããããã²ããä¸åæ¥ã¦ãã ãããã¨ã®èªããåãã¦ãåã³å¢äºããããã£ããã¯ã¼ã¯ã«ãã£ã¦ãã¾ããï¼ å¢äºãScalaåãããã§ã¨ããããã¾ãï¼ å±±æ¬ããããã¨ããããã¾ãã å¢äºãååãèãã¾ããããèªãã§ãªãæ¹ãããã§ããããããããä¸åº¦èããã¦ãã ãããScalaãå ¥ãããã¨æã£ãææã¯ãã¤ãªãã§ããããã å±±æ¬ããã®ãããã¯Blogï¼ããã£ããã¯ã¼ã¯ãScalaãæ¡ç¨ããçç±ãããããã®ãã£ã¬ã³ã¸ããï¼ã«æ¸ãããã§ããã2å¹´ååââå宿ããã¦Scalaå
24 Jan 2017 · 15 min read · Mariano Gappa Making The Move From Scala To Go, And Why Weâre Not Going Back UPDATE: This blogpost has received a lot of attention since it's been published, including on Hacker News, Golang Weekly and Scala Times; thank you! Unfortunately, some readers have considered it strictly an attack on the Scala community and/or a biased episode of language war. This was not the
Re.Ra.Ku ã¢ããã³ãã«ã¬ã³ãã¼ 2æ¥ç®ã§ãã ããã«ã¡ã¯ããã«ã¹ããã¯ãã¼ã ã®è¿è¤ã§ããéçºã§ã¯ä¸»ã«ãµã¼ããµã¤ããæ å½ãã¦ãã¾ãã ã¨ããã§ã¿ãªããããªã©ã¯ã®ãµã¼ããµã¤ãã«ä½¿ããã¦ããããã°ã©ãã³ã°è¨èªããåç¥ã§ããããï¼ãåç¥ã®æ¹ã¯éã§ããããåç¥ã§ãªãæ¹ã¯ãããæ©ã«èå³ãæã£ã¦ããã ããã¨å¹¸ãã§ãããªã©ã¯ã§ã¯Scalaãæ¡ç¨ãã¦ãã¾ãã ã§ãã®ã§ããµã¼ããµã¤ãæ å½ã®ç§ã®è©±ã¯ã»ã¨ãã©ãScalaã®è©±ã§ãããããããªãã§ããããããããç§Scala大好ãã§ããã ã¨ãããã¨ã§ããªã©ã¯ã®ãµã¼ããµã¤ãäºæ with Scalaã¨ç§°ãã¦ãRe.Ra.Ku ã¢ããã³ãã«ã¬ã³ãã¼ 2æ¥ç®ãã¨ãRe.Ra.Ku Scalaã¢ããã³ãã«ã¬ã³ãã¼ 1æ¥ç®ã§ããã¨è¨ãã¤ã¤ããµã¼ããµã¤ãã®ä¸è¬çãªè©±ãå¤ããªã®ã§ãScalaæåã¯å°ãèãã§ãã ã¡ãã¨ããæ¹é ãµã¼ããµã¤ãäºæ ã¨ãè¨ã£ã¦ãã¾ãããç¹ã«å¤
GitHubãªãã¸ããªã¯ãã¡ãã github.com ãªãä½ã£ãã®ãï¼ Scalaæ¥çã®ãã¬ã¼ã ã¯ã¼ã¯ã¯é¢æ°åçãªã¢ããã¼ãã®ãã®ã主æµã«ãªã£ã¦ãã¾ãããããã®ãã¬ã¼ã ã¯ã¼ã¯ã¯ãã³ããããã³ã°I/Oã並åå¦çããã¾ãæ±ããã¨ãã§ãã¾ãããæ¬è³ªçãªè¤éããããããã¾ããèªåã®çµé¨ã§ã¯ãç¹ã«ä¼æ¥ã·ã¹ãã ãªã©ã®å ´åã¯å¾æ¥ã®åæãµã¼ãã¬ããã§ãååã¨ããã±ã¼ã¹ãå¤ãã®ã§ã¯ãªããã¨æãã¦ãã¾ãã ã¾ããæ¢åã®Scalaç¨ã®ãã¬ã¼ã ã¯ã¼ã¯ã¯ã¿ã¤ãã»ã¼ããªDSLã§ã«ã¼ãã£ã³ã°ãå ¥åºåãã©ã¡ã¼ã¿ãªã©ãå®ç¾©ãããã®ãå¤ãã®ã§ããããã®æã®ãã®ã¯ã·ã³ãã«ãªéç解æã§ã¡ã¿æ å ±ãæ½åºãããã¨ãé£ããããSwaggerãªã©ã®å¤é¨ãã¼ã«ã¨ã®ç¸æ§ãæªãã¨ããæ¬ ç¹ãããã¾ãã Restyã¯ãã®ãããªã±ã¼ã¹ã«ããã¦ãããã°ã©ãã³ã°è¨èªã¨ãã¦ã®Scalaã®ã¢ããã³ãã¼ã¸ãæ´»ãããã¨ã®ã§ããã·ã³ãã«ãªãã¬ã¼ã ã¯ã¼ã¯ãããã¨ã
Scalaé¢è¥¿Summitãç²ãæ§ã§ãã. èªåã¯ã¹ã¿ããã¨ãã¦åå ãã¤ã¤longã§1ã¤ããã¹ã£ã¦ãã¾ãã. ã²ãã ã¾ããã®è£ã ã£ãã®ã§1対1ã¨ãã«ãªããªããä¸å®ã ã£ãã®ã§ããæå¤ã¨æ¥ã¦é ããããã§ãããã¦ããããã¦ã. ãããâ¦ã¿ã¤ãã«ãè³æã«æ¢è¦æãâ¦ãã¨ããæ¹ãããã¨æãã®ã§ãã, ãã®éãã§ã. å ã Scalaé¢è¥¿åå¼·ä¼ã§ä¸åº¦åã£ããã®ãªã®ã§ãã, å§å¡é·ã®ãã®åããã®å¼·ãè¦æ(?)ã«ããCFPãåºãã¦æçµçã«ç»å£ãããã¨ã«ãªãã¾ãã. æéãç®ä¸æ¯ä½¿ãã¤ã¤æå¾ã®ã»ãã®ã¹ã©ã¤ãã¯ç«¯æãã¾ãããå®ã¯è¨ç»éãã§ã(ãã¾ããè¡åã¯è¯ããªãã§ããâ¦). ã1çºè¡¨ã¹ã©ã¤ããã¨ãã¦ã ãã§ãªããå®çµããè³æãã¨ãã¦ã¾ã¨ãã¦ããããã£ããã§ã(ãã®ããã§æåãå¤ãã«ãªã£ã¦ããã). ã¿ã¹ã¯ã«è¿½ãè¾¼ã¾ããã°è¿½ãè¾¼ã¾ããã»ã©å¤ãªã¨ããã§æ½ççã«ãªãã¿ã¤ã. scala.collection åå ¥é(æ¹
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}