Scala FS2 and HTTP4S
Startdata en plaatsen
Beschrijving
Course Overview
A solid understanding of fs2 and http4s is essential for a more comprehensive grasp of Scala. If you are looking for an efficient and speedy polymorphic stream processing library, then FS2, or Functional Streams for Scala, is for you. It is compatible with Cats-effect typeclasses and can be used with other effect libraries. Built on FS2, HTTP4S is the ideal companion topic for this course and is the minimal Scala interface for your HTTP services.
Course Prerequisites
Students should be familiar with the Scala programming language (preferably version 3), cats and cats-effect (preferably version 3). We advise students to follow our SCALA-CATS course.
Outline
fs2
- Introdu…
Veelgestelde vragen
Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.
Course Overview
A solid understanding of fs2 and http4s is essential for a more comprehensive grasp of Scala. If you are looking for an efficient and speedy polymorphic stream processing library, then FS2, or Functional Streams for Scala, is for you. It is compatible with Cats-effect typeclasses and can be used with other effect libraries. Built on FS2, HTTP4S is the ideal companion topic for this course and is the minimal Scala interface for your HTTP services.
Course Prerequisites
Students should be familiar with the Scala programming language (preferably version 3), cats and cats-effect (preferably version 3). We advise students to follow our SCALA-CATS course.
Outline
fs2
- Introduction to fs2
- Compare fs2 to other streaming libraries
- Defining pure streams
- using core operations (map, flatMap, take, …)
- Combining Streams
- Define effectful streams
- Understand stream compilation to F[_]
- List key fs2 API (Stream, Pipe, Chunk, Pull, …)
- Transforming values using pipes
- Handling errors
- Building Retry logic
- Building declarative flows
- Handling and releasing Resources
- Introduction to Concurrency
http4s
- Introduce https as a functional HTTP client/server
- Introduce its Architecture
- Understand the relevance of Kleisli, MonoidK and other typeclasses
- Understand the role of fs2
- Introduce Blaze
The Server and APIs/DSL
- Configure the BlazeServer
- Introduce the server DSL
- Build polymorphic http4s code
- Understand make aResponse (body, headers)
- How map HTTP Requests
- Extract Path Parameters
- Use Query Parameters
- Introduce Entity Handing and codecs
- Understand how EntityDecoder/EntityEncoder works
- Using built-in codecs (strings, fs2 Stream, …)
- Introduce/Recap Circe for Json handling
- Integrate http4s and circe
- Accessing the request body (for POST)
- Adding request Validation using cats
- Introduce and use Middleware
- Define your own Middleware
- Apply Middleware to your routes (logging, Authentication, CORS, etc)
- Testing http4s routes
The Client API/DSL
- Set up a Blaze client
- Introduce the client API
- Making requests use the Client DSL
- Handling the responses
- Working with Headers
- Discuss client middleware (retry, follow-redirects,.. )
Welkom bij EDC4IT: Uw Innovatiehub voor IT-Training
Ontdek de kracht van onze interactieve Open Source Technologieën, DevOps en Infrastructuur cursussen:
- Praktisch & Toepasbaar: Cursusmateriaal dat direct impact maakt in uw werk.
- Persoonlijke Groei: On-the-job coaching en gepersonaliseerde consultancy.
- Deskundige Trainers: Leer van de besten, met state-of-the-art materiaal.
- Voorop in IT: Blijf vooruit met onze actuele en innovatieve aanpak.
Zet Nu de Stap met EDC4IT – Vergroot uw vaardigheden, versnel uw carrière.
Blijf op de hoogte van nieuwe ervaringen
Deel je ervaring
Heb je ervaring met deze cursus? Deel je ervaring en help anderen kiezen. Als dank voor de moeite doneert Springest € 1,- aan Stichting Edukans.Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.