Scala code fluency with functional composition

Would you like to see an example on how to use Scala 'andThen'? If so, read along.

This article will discuss the usage of functional composition in Scala to achieve concise and fluent code. It will demonstrate how code can evolve from a naïve approach to a fluent one. Scenario We’ll write code that describes how to make pizza which consists of the following steps: Mixing ingredients to make the dough Kneading the dough to turn it into smooth dough Rolling out the smooth dough to make the base Adding toppings on the base to make the base with toppings Baking the base with toppings to produce the final product, pizza In a nutshell, the steps above must be performed in this predefined sequence to work. [Read More]

Cucumber from Intellij and command line with SBT

Want to bring your Cucumber tests to IntelliJ or the command line? Here is how to configure your architecture to make it easy for you.

In this post, we’ll see how to have Cucumber tests running in IntelliJ and the command line using SBT. Adding Cucumber to the project and how to configure SBT multi-module won’t be covered this time, as these topics are well-covered elsewhere. Motivation Executing Cucumber tests from IntelliJ is necessary to help during development as you just want to start your application and run the Cucumber tests right from the IDE. [Read More]

Automated Monitoring With Grafana and Prometheus

In this article, I would like to explain a Docker image that I created to keep Grafana dashboards in sync across environments.

Depending on the number of environments in which you have monitoring enabled, it may be cumbersome to keep all your Grafana dashboards synchronized across environments when changes occur. In this article, I would like to show a Docker image I created to keep Grafana dashboards in sync across environments. What’s in the Image Prometheus. Grafana. Supervisor. How to Use It With all options: docker run --name automated-grafana -d -p 9090:9090 -p 6666:6666 \ -e "ENVIRONMENT=prod" \ -e "GF_SERVER_HTTP_PORT=6666" \ -e "WAITING_TIME=20" \ -v `pwd`/prometheus-config:/prometheus-config \ -v `pwd`/dashboards:/dashboards \ -v `pwd`/users:/users \ -v `pwd`/sources:/sources \ serragnoli/automated-grafana-prometheus -p 9090:9090: Exposes the Prometheus default port to the host. [Read More]

Vaadin with Scala

Vaadin's Scala documentation doesn't include a full example, so here's how to get your app up and running from start to finish.

This post shows a fully working ‘Hello World’ application in Vaadin 8 with Scala 2.12 running on Jetty. Following my frustrated attempt to Dockerize an Ionic application as the Web UI of my petty Akka project, I started evaluating the latest version of Vaadin. I followed the “Using Vaadin with Scala” documentation to create a ‘Hello World’, but the documentation doesn’t contain a fully working example. So I’ve put the steps below to help others who might be in the same situation as I was. [Read More]

Clusters of Docker Containers in AWS with GitLab

If you're just starting off with Docker deployment in AWS, read on to learn how to use GitLab to deal with clusters of Docker containers in AWS.

This is meant to be a quick how-to reference for people who are new to Docker deployment in AWS. Before starting, have a certificate that allows admin access to AWS. This is the *.pem that the web browser offers to download when a key-pair in EC2 is created. Familiarity with the concepts of AWS/ECS, Docker, and Pipelines is assumed. It’s also assumed that the app is already in a Docker image. [Read More]

Vaadin 8 + Scala 2.12

Starting a project with Vaadin 8 with Scala 2.12

This post is about running the Vaadin 8 Hello World with Scala 2.12 and Jetty. Following my frustrated attempt to Dockerise an Ionic 3 application for web browser, I went back to Vaadin in order to get a UI quickly working for my Akka project. I found the following Vaadin+Scala documentation which is a good start but it doesn’t show how to actually run it using the Maven Jetty plugin. [Read More]

RestyGWT with Remove Restful API

In this article we'll see how to use RestGWT invoking a remote RESTful API

Introduction I quite like the concept of GWT to convert Java code into optimised Javascript that runs on major browsers out of the box. Last weekend I read the RestyGWT documentation and tried to fulfil my goals using it. My goal Invoking a web service directly from the Javascript-GWT-compiled on the client side. Invoking the API directly from the compiled Javascript In order to fulfil my requirement, I imported RestyGWT into my ‘RestExternalApi. [Read More]