“Cancellable HTTP requests via Scala's Tapir” This sample shows an HTTP server & client that can cleanly cancel requests (Tapir, Sttp, Cats Effect). #Programming#Snippet#Scalahttps://alexn.org/blog/2024/09/29/cancellable-http-server-client-requests-via-scala-s-tapir/
Time flies by, but Dependency Injection never gets old ;) Presenting autowire, the latest addition to MacWire! #Scala#DI#nocontainerssoftwaremill.com/autowire-zer...
Read more about autowire newest addition to MacWire, a zero-cost, compile-time, type-safe dependency injection library.
Programmer-friendly structured concurrency for #Javasoftwaremill.com/programmer-f...
Jox integrates nicely with all the other Java features, starting with virtual threads, through trywith-resources and exceptions, and blocking I/O operations.
Sane concurrency for #Java#JVMdevoxx.pl/talk-details...
Blocking, asynchronous stream processing - isn't that an oxymoron?No! Thanks to Virtual Threads, we can have both: concurrent data processing and a straightforward, direct-style API. How is that possi...
The first tapir tutorial is now also available as a video, in addition to the text-only tutorials we published yesterday. Enjoy! :) It was never easier to learn & start a tapir project! www.youtube.com/watch?v=WV1b...
Tapir: rapid development of self-documenting HTTP APIs How to start your adventure with Tapir? How can a functional programming language, such as Scala, benefit your daily work as a programmer? In the tutorial, we'll setup a simple project, and expose a single endpoint. You *should* try this at home :) RESOURCES * tapir tutorial as text: https://tapir.softwaremill.com/en/latest/tutorials/01_hello_world.html * tapir on github: https://github.com/softwaremill/tapir * IntelliJ Scala Plugin: https://www.jetbrains.com/help/idea/get-started-with-scala.html * Metals for VSCode: https://scalameta.org/metals/docs/editors/vscode/ * scala-cli: https://scala-cli.virtuslab.org * sdkman: https://sdkman.io CHAPTERS 00:00 Introduction 00:40 Basic tools: text editor, java, scala-cli 02:00 Adding dependencies 02:40 Defining our app's entrypoint, using "endpoint" 03:17 Endpoint inputs & outputs 04:00 Printing the endpoint description 04:40 Adding a query parameter 05:18 Endpoints as data structures 06:20 Adding server logic 08:14 Starting an HTTP server 09:00 Testing 09:40 Summary
Developer experience - everybody wants it, but what is it? And how to do it RIGHT? Michał Ostruszka shares a story from a project he took part in, which is an example to follow. Stay tuned for next parts - where we'll look at some anti-patterns as well! softwaremill.com/michal-ostru...
In this series we’ll discuss some of our recent projects from the developer experience perspective, highlighting what worked well, what didn’t, and areas for improvement.
The first three Tapir tutorials are here! Slow-paced, starting from the basics: 1. Hello, world! Exposing a single endpoint 2. Auto-generating @OpenApiSpec docs 3. Using #JSONtapir.softwaremill.com/en/latest/tu... Since these are our first tutorials - please leave some feedback :)