‹ jan0sch.de

Tags / Scala


With the release of version 1.9.0 sbt is deprecating the IntegrationTest configuration. Read on to learn how to migrate to tagged tests instead.

While the recommended migration path is to create a subproject in which you pool all your integration tests, I respectfully disagree and suggest to use tagging to filter tests during test runs.

VCS usually have hooks into which commands can be “plugged” to be executed automatically upon certain events and the great darcs is no exception.

Having your code checked for formatting guidelines before you record (commit) it is quite convenient and so let us implement a prerecord hook for darcs that instruments sbt to check you code style.

For some time now the usage of metals for Scala development is no longer a choice for the brave but could be considered the “should be default” variant. However the installation for the neovim plugins has changed from using coursier bootstrap to something supposed to be easier. But at least under FreeBSD I ran into some issues. So here is a workaround to get a clean installation.

My colleague Maali discovered an issue that raises its ugly head if you’re using the typesafe config library in combination with Cats effect and certain versions of SBT.

Today I finished my book about “Pure functional HTTP APIs in Scala”!

This book is intended for the intermediate Scala programmer who is interested in functional programming and works mainly on the web service backend side. Ideally she has experience with libraries like Akka HTTP and Slick which are in heavy use in that area.

However maybe you have wondered if we can’t do better even though aforementioned projects are battle tested and proven.

The answer to this can be found in this book which is intended to be read from cover to cover in the given order. Within the book the following libraries will be used: Cats, Cats Effect, http4s, Doobie, Refined, fs2, tapir, Monocle and probably others. ;-)

This is an updated version of my previous guide and reflects the latests changes in the scala ecosystem. So if you would like to use neovim for your Scala development work flow then this guide will get you started.

Because ENSIME is dead and gone we will use the metals language server for Scala.

Unser Buch “Come out and Play” über Webentwicklung mit Scala, Scala.js, Akka und dem Play Framework ist fertig.

Die finale Version kann bei LeanPub: https://leanpub.com/comeoutandplay erworben werden. Alternativ auch bei Thalia: https://www.thalia.de/shop/home/artikeldetails/ID151410922.html oder Amazon: https://www.amazon.de/dp/B09317XB5J und anderen.

Mit diesem Buch erfolgt ein praxisorientierter Einstieg in die Entwicklung größerer Webanwendungen mit dem Play Framwork, Scala, Akka und Scala.js.

Was lange währt, wird endlich gut - so sagt man jedenfalls. ;-)

Heute haben wir die erste Version unseres Buches “Come out and Play” veröffentlicht: https://leanpub.com/comeoutandplay. Alternativ via Thalia: https://www.thalia.de/shop/home/artikeldetails/ID151410922.html oder Amazon: https://www.amazon.de/dp/B09317XB5J zu haben. Es handelt sich um ein Fachbuch über Webentwicklung mit Scala, Scala.js sowie dem Play Framework und Akka.

If you would like to use neovim for their Scala development workflow then this guide may get you started.

It is possible to simply edit the source files but some configuration and plugins will make your workflow way more productive. This includes using projects like ENSIME, SBT and several plugins for neovim.

If you work with sbt (or activator) and want to restrict the resolvers to the ones that you choose then you might get frustrated that overriding the resolvers setting does not suffice.

If you happen to use the fine postgres extension for slick named slick-pg then you might stumble into an issue where the compiler complains about missing implicits for column types that should be provided by slick-pg if you override the api method of the custom postgres driver.

« ältere Beiträge neuere Beiträge »