ScalaMatsuri 2018ãã¬ã¼ãã³ã°ãã¤ã®ææ³ãã¾ãã¯ãã¥ã¼ããªã¢ã«ãã²ã©ãã£ã件
ScalaMatsuri2018ã¨ããScalaè¨èªã®ã«ã³ãã¡ã¬ã³ã¹ã«åå ãã¦ãã¾ãããã¨ãã£ã¦ã3æ¥éã®ãã¡ã®1æ¥ç®ï¼ã¨ããã0æ¥ç®ã¿ãããªä½ç½®ã¥ãï¼ã®ãã¬ã¼ãã³ã°ãã¤ã¨ãããã®ã ãã§ããã æè¿Scalaã使ã£ã¦ããããScalaã¦ã¼ã¶ã¼ã«ããã¤ãèããããªãã¼ã¨ãã¡ãã£ã¨åå¼·ããããªã¼ã£ã¦æãã§ã
éå¶ã®æ¹ã¯ãããã大å¤ã ã£ãã¨æãã¾ãããããã対å¿ãã¦ãã ãã£ã¦å©ããã¾ããã ãã ãèªåãåå ãããã¥ã¼ããªã¢ã«ã»ãã·ã§ã³ã¯ã²ã©ãã£ãã§ããèªåããã³ãºãªã³ã§æãããã¨ãããã失æã幾度ããã¦ãã£ã¼ãããã¯ãããã£ã¦ã¯æ¹åãã¦ãã¾ãããã®ã§ãä»åã¯ç§ããã£ã¼ãããã¯ãããçªã ã¨æãã¾ããã®ã§ããã®ã¨ã³ããªã«ããã¦ããã ãã¾ãã
- ãã©ãã¯ã¨ãã¢ããã¼ã·ã§ã³ã«ã¤ãã¦
- Scalaå ¥éãã³ãºãªã³ã®ã¿ã¤ã ã©ã¤ã³
- Implicitå ¥é
- CTO座è«ä¼
- ã¾ã¨ã
ãã©ãã¯ã¨ãã¢ããã¼ã·ã§ã³ã«ã¤ãã¦
ãã¬ã¼ãã³ã°ãã¤ã¯2ãã©ãã¯ã§ãã£ã¦ãã¦ããScalaå ¥éãã³ãºãªã³ãã§Scalaãå¦ã¶ãã©ãã¯ã¨ã座å¦ã¨ãããçºè¡¨ãèãã¦ãããã©ãã¯ã«ãªã£ã¦ãã¾ããã IntelliJã®ãã³ãºãªã³ããªããªã£ã¦ãã¾ã£ãã®ãæ®å¿µã§ããããã¾ãã¯ãã³ãºãªã³ã«åå ãã¾ããã
èªåã¯Scalaã¯ãªãã¨ãªãæ¸ãããã©ãã°ã°ããªããæ¸ãç¨åº¦ã ããã¹ã©ã¹ã©ã¯æ¸ãã¾ããã大ãã¦åå¼·ãããããããªãã£ã¦æãã§ããã¤ã¾ã¿é£ããããªã¼ã£ã¦æãã§ããããããªã®ã§ããã®ãã¥ã¼ããªã¢ã«ã«åå ãã¦ãèªåã«ã¨ã£ã¦ç¥ã£ã¦ãããã¨ã¯ããã¤ãããã ãããã©ãããããæ´çãã¦å¦ã¹ãã ãããã質åãã§ããå ´ã«ãªãã ããããããã ãããªã£ã¦æè¦ã§ããã
ä¼å ´ã§ã¯ããã«ãã£ãããã¤ããã£ã¦ããããªã¹ãã³ãµã¼ãã¤ãã¦ãããã ãããªã¼ããã°ããããªã¼ãã¿ããªã§çãä¸ãã¦ããã®ãããªã¼ã£ã¦æãã¾ããã
Scalaå ¥éãã³ãºãªã³ã®ã¿ã¤ã ã©ã¤ã³
å½æ¥ä½¿ãããã®ã¯dwangoã®Scalaããã¹ãã§ãããï¼ããã¯èªåã®ç¢ºèªä¸è¶³ã ã£ããè¦ãã¦ããªãã®ã§ãããäºåã«è¨ã£ã¦ããã¦è²°ããã°ãèªåãæ¬å½ã«åå ãã¹ãã ã£ããã©ãããããã£ãã¨æãã¾ãããä¾ãã°èªåã¯dwangoã®Scalaããã¹ããªãã ãããç®ãéããã£ã¦æãã ã£ãã®ã§ãããï¼
ã§ãã¹ãã³ãµã¼ã ãããªã®ãã©ããç¥ãã¾ããããæåã®15minãã20minãããã¯ãã£ã¨dwangoã®èªæ ¢ãããã¦ãã¦ããã¤ã«ãªã£ãããã³ãºãªã³ãå§ã¾ãã®ããããã£ã¦æ°åã§ãã£ã±ãã§ããããããããå¿ è¦ãªãã¹ãã³ãµã¼ã»ãã·ã§ã³ã¨ãã¦å¥æ ã§dwangoã®è©±ããã¦ã»ããã§ãããã
ãã¡ãããã®ä¸ã§ä»æ¥ãããã¨ã®èª¬æãããã£ã¨80secãããã§2,3度ã¯è©±ãã¦ãã¾ããã
ã§ãããããªdwangoã®è©±ãããããªã22minããããã£ã¦ãããã§ã¯ããã³ãºãªã³ããã¾ãããã¼ãã¨è¬å¸«ã®æ¹ãä¸è¨è¨ã£ã¦ããé»ãè¾¼ãã§è¬å¸«å¸ã«æ»ããã¾ãããã§ãæ²é»ã®ä¼å ´ã¨ãªã£ã¦ãã¾ãããã
ããã¯ããã¹ããåèªã§èªã¿é²ãã¦åçµã¨ããã¦ã»ããã£ã¦ããæå³ãªã®ããªãããï¼ï¼ã£ã¦ãã°ããã®æ²é»ã®ãã¨ã«æ°ã¥ãã¾ããããããã§ãããã¹ãã®èªã¿é²ãæ¹ã¨ããã©ããã£ãç°å¢ã§ãã£ã¦ã»ãããã¨ãããªãã®ããªãã£ã¦æ··ä¹±ããªãããæãæãããã¹ããèªã¿é²ãå§ãã¾ããã
ãã°ãããã¦ä¼å ´ããç·´ç¿åé¡ã«ã¤ãã¦è³ªåãåºãã®ã§ãããè¬å¸«ã®æ¹ã¯ç·´ç¿åé¡ã®æå³ãç解ãã¦ããªãããã§ãããæããããã¹ãã«ã¤ãã¦ç¥ããªããã¨ãããã£ã¦ã©ããããã¨ãªã®ããã
ããããããã«æéããã£ã¦2ã³ãç®ã®éå§ã§éå£ä¸çªã«ãã©ãã¾ã§é²ãããã¾ãããï¼ãã¨è¨ãããã誰ãããã¹ããèªã¿é²ãã¦ãã ããã£ã¦è¨ã£ããï¼ï¼ï¼ãã£ã¦ããããã³ããã°ãã¨æãã¾ããã ããã¦ãããããScalaããã¹ãã®èªã¿é²ãæ¹ã«ã¤ãã¦ã¬ã¯ãã£ã¼ãå§ã¾ãã¾ãããããæåã«æããã¹ããã¨ã§ã¯ããã
ã¾ããè¬å¸«ã®æ¹ã®å¾åã¨ãåæã¯ããã£ãã®ã§ãéä¸éä¸ã§ç§ã¯æ°ã«ãªã質åãããã¤ãããã¦ããã£ã¦åçãã¦ãããã¾ãããããã¯ç´ç²ã«åå¼·ã«ãªãã¾ããããããã¨ãã
ã§ã2ã³ãç®ã®éä¸ã¨ã3ã³ãç®ã®æåã¨ãã§ã«ãã£ãã¨æããã§ãããè¬å¸«ã®æ¹ããããã§ã¯é²æ確èªããã¾ãããããããã¾ã§é²ãã ã²ã¨ã£ã¦ãã¾ããï¼ããã£ãããå°ãªãã§ãããããã¼ã©ããé£ãããã§ããããããããªã¼ï¼ããã£ã¦åå¿è ããã£ã¦ãããªããã ããªã¼ããã£ã¦ããã®ãä½åº¦ãç¹°ãè¿ãã¦ãã¾ããã
ãScalaå ¥éãã³ãºãªã³ãã¨ããå ´ã§è¬å¸«ãããåå¿è ããã£ã¦ãããªããã ããªã¼ãã£ã¦çºè¨ããããªãã¨æãã¾ãããããåå¿è ã®ããã®å ´æã§åå¿è ããã£ã¦ãããªããã ããªã£ã¦ã©ããããã¨ãªã®ããã 好æçã«æããã°ãScalaåå¿è ãã¤ã¾ã¥ãããããã¤ã³ãã§ããããããã®æå³ã ã¨ã¯æããã§ãããããã¦ããããã£ã¦ãããªããã©ãã¼ãããã£ã¦ããã
åºæ¬çã«ãã®ãã³ãºãªã³ã§ã¯ä¼å ´ãã質åããªããããã¯ã»ã¨ãã©æ¾ç½®ã§ããã¨ãã£ã¦ä¼å ´ãè¦åã£ã¦è¦ªèº«ã«æããã£ã¦ããæãã§ããªããæ¬å½ã«åã«ããã ãã ãªã£ã¦æãã§ããã
ã¨ãããã¨ã§ãã³ãºãªã³ããããã¾ããã
Implicitå ¥é
ãã®å¾ã¯åº§å¦ï¼ã®ã»ãã«çµ±åãããImplicitå ¥éãèãã¾ãããããã¯é常ã«ããããããæ´çããã¦ãã¦åå¼·ã«ãªãã¾ããããªãã¨ãªãã¤ã¾ã¿é£ãçã«ãã£ã¦ããã¨ãã¤ã¾ãã©ããããã¨ãªãã ããã£ã¦ããã®ãããããããªãã£ããã§ãããã ãã¶ã¹ãããªããã
ç¹ã«ããããã£ãã³ã¼ããImplicit Parameterã§ãããªããã¿ããã«æ¯è¼ã§æ¸ããã¦ããã®ãå¬ããã£ãã§ããã§ãããã®ä½¿ãæ¹ã§æ°ãã¤ããã¨ããã¨ããã©ã³ã¹æã¿ãããªãã®ããã£ã¦ããã
CTO座è«ä¼
ããã¯ã¾ãä½ãããããã£ãã®ããããã¾ããã§ããããã¢ãã¬ã¼ã¿ã®äººããªãããããä»è©±ããã¨ãªã®ï¼ãã¿ãããªè³ªåãããå ´é¢ãããã¤ããã£ã¦ãå社ã®CTOãããã¯ããã¯ãªã¼ãã®ãã¡ä½äººãã¯ããã«æµããã¦ãèªåã®è·åãå ¨ãã§ãã¦ããªãã§ãã¿ãããªãã¨ã話ãã¦ãã¾ãããããèãã¦ãã¦ã御社ã¤ãããªãã§ããï¼ã£ã¦ããææ³ãããã飲ã¿ä¼ã®å¸ã§å¿ã®NDAããã£ã¦ã¨ããªãããããã§ããã©ãããã
ã¾ã¨ã
æ¬ä¼ã®ã»ãã¯ãããã¾ãããããã¬ã¼ãã³ã°ãã¤ã®ãã¥ã¼ããªã¢ã«ã¯åå¿è ã«å¯¾ãã¦ã¯è¯ããªãæ 度ã ã£ãã¨æãã¾ããçºè¡¨æ ã®ã»ãã¯ããã£ãã®ãããããªããï¼Implicitå ¥éããèãã¦ããªãã®ã§ããããããªãï¼
ãã ããããã£ããã£ã¼ãããã¯ãéãã¦ScalaMatsuriããããªã£ã¦ãã£ã¦ã»ããã§ããå¥ã«ãã¥ã¼ããªã¢ã«éçºã«æéããããã¨ããããªãã¦ã主ã«çºè¨ï¼ãScalaå ¥éãã³ãºãªã³ãã¨ããå ´ã§è¬å¸«ãããåå¿è ããã£ã¦ãããªããã ããªã¼ãã£ã¦çºè¨ããããªãï¼ã¨ãäºåã®æ å ±å ¬éãããã®ãã®ãªã®ã§ãããã¯æä½éãªãã¨ããã¦ã»ããããã