Notes

Foreword

1https://akka.io↩

2http://slick.lightbend.com↩

3https://typelevel.org/cats/↩

4https://typelevel.org/cats-effect/↩

5https://http4s.org/↩

6https://tpolecat.github.io/doobie/↩

7https://github.com/fthomas/refined↩

8https://fs2.io/↩

9https://github.com/softwaremill/tapir↩

10https://github.com/julien-truffaut/Monocle↩

Maybe there is another way

Impure implementation

1http://slick.lightbend.com/doc/3.3.1/database.html↩

Pure implementation

1https://pureconfig.github.io/↩

2https://github.com/typelevel/kittens↩

3https://typelevel.org/cats-effect/typeclasses/sync.html↩

4http://slick.lightbend.com/doc/3.3.1/sql.html↩

5https://blog.acolyer.org/2019/07/03/one-sql-to-rule-them-all/↩

6https://httpie.org/↩

7https://github.com/http4s/http4s/issues/2371↩

8https://www.wartremover.org/↩

9https://typelevel.org/cats-effect/datatypes/ioapp.html↩

What about tests?

1http://www.scalacheck.org/↩

2http://www.scalatest.org/user_guide/selecting_a_style↩

3https://rspec.info/↩

4https://github.com/scalatest/scalatest/issues/1370↩

Adding benchmarks

1https://jmeter.apache.org/↩

2https://github.com/http4s/http4s/issues/2855↩

Documenting your API

1https://swagger.io/↩

2https://swagger.io/tools/swagger-ui/↩

3https://swagger.io/tools/swagger-editor/↩

4https://github.com/swagger-akka-http/swagger-akka-http↩

5https://www.youtube.com/watch?v=snbsYyBS4Bs↩

6http://julienrf.github.io/endpoints/↩

7https://github.com/http4s/rho↩

8https://github.com/softwaremill/tapir↩

9https://www.servant.dev/↩

10https://www.cs.ox.ac.uk/people/jeremy.gibbons/publications/poptics.pdf↩

11https://github.com/julien-truffaut/Monocle↩

12https://github.com/milessabin/shapeless↩

13https://tools.ietf.org/html/rfc4122↩

14https://www.ecma-international.org/ecma-262/5.1/#sec-7.8.5↩

Moving to Scala 3…

1We could have used scalafix here but I consider this overkill for such a thing.↩

2https://github.com/optics-dev/Monocle/issues/1001↩

3https://github.com/scalatest/scalatestplus-scalacheck/issues/36↩

4https://github.com/pureconfig/pureconfig/issues/970↩

5https://docs.scala-lang.org/scala3/reference/other-new-features/opaques.html↩

6https://github.com/softwaremill/quicklens↩