ASP.NET Core ships with Kestrel server, which is the default, cross-platform HTTP server. Deploying a .NET 8+ with Angular 18+ is possible on different scenarios and we can also think of using a sort of encapsulation for rendering the front-office app, containing the bare minimum to serve a Web-based app with HTML, JS and the minimal backend features, to render the app on a web browser. We can use Kestrel with a reverse proxy server such as Nginx.
// IO: A Monad for side-effects. | |
import $ivy.`org.typelevel::cats-effect:1.3.1` | |
import cats.effect.IO | |
import scala.concurrent.ExecutionContext | |
implicit val IOTimer = IO.timer(ExecutionContext.global) | |
implicit val IOShift = IO.contextShift(ExecutionContext.global) | |
// ---------------------------------------------- |
We could try to use the Async type class to model the kind of effects that can be executed concurrently.
Async is a Monad that can describe asynchronous or synchronous computations that produce exactly one result.
The first data type that we can think of is cats.effect.IO
but the key aspect to keep in mind is that
either a Future or an IO might be synchronous/blocking operations.
For every developer, terminal is their weapon, so why don't you customize it to become a powerful, and a beautiful weapon?
Powerline style refers to a terminal style that helps developer to keep track of their workflow easily, allows them to have perfect visual on current directories and new changes. It is also git recognizable, and failure detector that will help your development process becomes more interact and much faster.
In this guideline, I will introduce you with 2 smart shells: Zsh
and Fishshell
. Both are perfect for the development jobs due to its rich of resources, and user-friendly.
Solid (derived from "SOcial LInked Data") is a proposed set of conventions and tools for building decentralized social applications based on Linked Data principles (LDP).
Solid is a set of [modular and extensible specifications][solid-specs], which build on, and extend the founding technology of the world wide web (HTTP, REST, HTML). They are 100% backwards compatible with the existing web. Each spec, taken in isolation, provides extra features to an existing system. However, when used in combination, they enable exciting new possibilities for web sites and applications.
The key principles at the base of this set of conventions - it's worth to repeat that concept to avoid any ambiguity - are basically 3:
Users should have the freedom to choose:
package com.codersbistro.controllers | |
import akka.actor.ActorSystem | |
import akka.event.Logging | |
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport | |
import akka.http.scaladsl.model.{StatusCodes} | |
import akka.http.scaladsl.server.Route | |
import akka.http.scaladsl.server.Directives._ | |
import com.codersbistro.controllers.EmployeeController.QueryEmployee | |
import com.codersbistro.repository.EmployeeRepository |
This document is based on dnvriend/akka-http-test. Probably the best place to start is Akka HTTP — The What, Why and How pairing it with these slides.
Akka http now has its own release scheme and is not tied to that of akka anymore. As such, you should update your build file accordingly.