2017年11月現在のScalaのWeb Framework

以前同じようなものを書いたけど、それがもう2年くらい経過してるので、また書きました xuwei-k.hatenablog.com xuwei-k.hatenablog.com まず、このblog書いてる時点でのGitHubでのstar数での順位

scalazのコミット数が1位になった

finally (๑•̀ㅂ•́)و✧https://t.co/Y52DVWOBQT pic.twitter.com/b6tYt6Aish— Kenji Yoshida (@xuwei_k) 2017年11月12日

sbt-jshell という sbtからclasspath通った状態で Java 9 の REPL 呼び出せる plugin 作った

github.com #sbt-#jshell plugin 0.1.0 released 🎉https://t.co/7r6lIQHq3A pic.twitter.com/H6WNnu17fb— Kenji Yoshida (@xuwei_k) 2017年8月9日

Apache Kafka Meetup Japan 3 で発表してきた

kafka-apache-jp.connpass.com 資料はこちら↓ kafkaでpublishのロジックを独自に作ってデータロスを無くす話

2017年前半の振り返り(GitHubのOSS活動)

雑に振り返ります

scalapropsというテストライブラリをscala-native対応させてリリースした

世界初のscala-native用テストライブラリ! といっても過言ではない。*1 github.com *1:maven centralにpublishされているものとしては。scala-native version 0.3.0 時点で、maven centralにはpublishされていないが、scala-native内部のみで使っているとて…

"文字通りScala忍者"とは

Scalazのscaladoc内のjavascriptファイルが数MBあって巨大で遅い件について考えた

さきに結論: sonatypeに自動でjavadocやscaladoc展開する機能あるけど、なにも最適化されてなくて遅い。javadoc.ioはキャッシュやgzip圧縮対応されてるのか速い

mockito 2 と ArgumentMatchers と Scala のバグ(親のstaticメソッドが呼べない)

よくScala界隈だかScala界隈に限らないのかわからないけど"org.mockito" % "mockito-all" % "1.10.19"が使われていることが多々ありますが、mockito-allは今後更新されなくて、mockito-coreのほうが更新されてるらしいので、そちらを使いましょう(そうしない…

Scala 2.11.9 はバイナリ互換壊れたので使わないでください

https://github.com/scala/scala/pull/5821 https://github.com/xuwei-k/Scala-2.11.9-FilteredTraversableInternal

purescriptのParallelをScalaに移植してみたけど型推論がつらい

あとfundep欲しい

scala-native用にビルドされてpublishされているScalaのライブラリ一覧

というようなページがこれ書いてる時点では公式になさそうなので、以下のようなやつを見るしかなさそう、ということでメモhttps://mvnrepository.com/artifact/org.scala-native/scalalib_native0.3_2.11/usages

いくつかのScalaライブラリをJava9でビルドしてみた知見

sbt 0.13.14-RC1からJava9に(無理やり?)対応したらしいので、いくつか試しているので、現状の知見を簡単にメモ https://github.com/sbt/sbt/pull/2951 https://groups.google.com/d/topic/sbt-dev/iu6qT12R6q0/discussion

Scalazのscala-native対応

scala-nativeの0.1がリリースされる(maven centralにはもう上がってる)らしいです。 scala-nativeとは、ScalaをJVMではなくLLVM使ってJVM以外で動かすやつです。 https://github.com/scala-native/scala-native さて、というわけで、scalazを早速対応させま…

scalapropsでテストが失敗した場合にseedを表示して失敗するテストパターンが簡単に再現できる仕組みを入れた

普通に使っていれば影響ないけれど、一応細かい互換は壊れているので、0.3.6から0.4.0と、0.x.yのxの部分を上げてリリースしました。 https://github.com/scalaprops/scalaprops/tree/v0.4.0 https://github.com/scalaprops/sbt-scalaprops/tree/v0.2.0

Serious Scala Projectとは

色んなScalaプロジェクトにpull request送りつけ過ぎた結果です。( 去年502個 ) https://twitter.com/rossabaker/status/799727645634297856 https://github.com/finagle/finch/pull/726 OH doesn't even have a commit from @xuwei_k yet, so not a serious…

sbt 0.13.13でtestOnly時のテストクラス名のtab補完が効かないデグレのワークアラウンド

sbt

以下をプロジェクトのbuild.sbtか グローバルなやつ (例 $HOME/.sbt/0.13/build.sbt )に書いておく inConfig(Test){ definedTestNames <<= { import sbinary.DefaultProtocol.StringFormat import Cache.seqFormat (definedTests map (_.map(_.name).distinc…

typesafehub/migration-managerをweb上で実行できるものを作った

https://github.com/xuwei-k/mima-web http://migration-manager.herokuapp.com/com.typesafe.play/play_2.11?previous=2.5.0&current=2.5.11

scalaprops-shapelessというライブラリをリリースした

https://github.com/scalaprops/scalaprops-shapelessscalacheck-shapelessというのがあるので、それを移植しました。

2016年振り返り

2015年はこちら

lightbend/paradoxとsbt-site, sbt-ghpages使ってunfilteredのwebsite新しくした

http://unfiltered.ws

コミッターをしているScalaのライブラリ一覧(2016年12月時点)

これはScalaアドベントカレンダー Adventar版の4日目です。 http://www.adventar.org/calendars/1492 3日目の記事 finagle-toggleでデプロイとリリースを分離する

Scala祭2017の応募者を勝手に紹介

書いた理由やモチベーションは去年と同じなので、去年の説明見てください。http://d.hatena.ne.jp/xuwei/20151015/1444924357まだ、微妙に随時更新するかもしれないです。

unfilteredのコミッターになった

\( 'ω')/ウォォォォォォ 経緯は以下参照

Semantic VersioningとScala界隈

微妙に混乱しそうな場面をある程度の頻度で見かけるので、用語の認識を共有してから話をしよう、みたいなことをかく。

FunctionalInterfaceに内部classやinterfaceがある場合のScalaとJavaでのラムダのキャッシュの動作の違い

この前書いたやつ( Java8のラムダとScala 2.12(LambdaMetafactoryによるシングルトンのキャッシュ) )の発展版というか、Scalaで違い見つけたので貼っておくhttps://gist.github.com/xuwei-k/9e988896648fd7389de1350b8cb9d81e

Java8のラムダとScala 2.12(LambdaMetafactoryによるシングルトンのキャッシュ)

結論から言うと、Scalaでも以下と同じように頑張るようになるんやで、なので2.12以降はSAMかつ純粋なシングルトンにできる場合は、明示的にnewしないほうが効率いいかもしれないよ、という話

squerylのコミット権限もらった

「メンテする気ないの?プロジェクト死んでるの?コミット権限くれ?」

Scalaでwebpushのサンプルを作った

https://webpush-scala.herokuapp.com世間に、JavaScript(Node.js)で全部やるサンプルはいくつかあったけど、(コレ作った時点で)JavaやScalaのサンプルがほぼ見当たらなかったので。

kind-projectorにscalaz.NaturalTransformationなどを短く書ける機能(polymorphic lambda)が入った件

アルパカさんありがとうございます!