page banner
avatar
'Best Practices of Safe Pattern Matching in a Scala Application' post illustration
Best Practices of Safe Pattern Matching in a Scala Application

Making pattern matching in a Scala application isn't very straightforward. In our article, we review a few ways to handle exceptions or mitigate the problem when using pattern matching.

avatar
'How to Use HTTPS with Play Framework' post illustration
How to Use HTTPS with Play Framework

How do you run a Scala application built with Play 2.3 using a safe HTTPS protocol? We provide our solution in this article.

avatar
'Tracking Email Status with Amazon SES and SNS in a Scala Application' post illustration
Tracking Email Status with Amazon SES and SNS in a Scala Application

Your Scala applications often need to track the status of the sent emails. In this article, we’ll review how to employ Amazon SNS to track email statuses via Amazon SES.

avatar
'Pagination with Scala and Slick: How to Properly Build Select Queries' post illustration
Pagination with Scala and Slick: How to Properly Build Select Queries

Implementing pagination with Slick is a common task in Scala projects. But it’s rarely obvious how to build efficient queries on the server to get the necessary entities with additional data. Read our article to find a solution.

avatar
'Storing polymorphic objects with ReactiveMongo and Play' post illustration
Storing polymorphic objects with ReactiveMongo and Play

ReactiveMongo is an extremely convenient toolkit for working with MongoDB in Scala applications. But, at the same time, its documentation does not cover some of the typical scenarios, so sometimes it takes time to find the right solution. One of such tasks - storing polymorphic objects in a database - is the focus of this blog post.

avatar
'Manage session creation timestamp in Lift' post illustration
Manage session creation timestamp in Lift

Lift framework lacks the ability to fetch a session creation timestamp by default. This post will provide a short example of how one can do this while working with Lift.

avatar
'Implementing file download functionality in Lift' post illustration
Implementing file download functionality in Lift

This post describes two approaches to implementing file download in Lift framework. Firstly, we will have a look at the implementation that uses ResponseShortcutException described in the Lift Cookbook. Then, I'll show how to solve the same task with the help of REST service in the way that follows a common Lift approach. Each of the methods has its own pros and cons, so it's up to you to decide which one works better for your task.

avatar
'How to set request throttling on a dispatch HTTP client' post illustration
How to set request throttling on a dispatch HTTP client

Let's consider the ability to limit the number of HTTP requests being handled by an application simultaneously.

avatar
'How to build a simple MongoDB DAO in Scala using SalatDAO' post illustration
How to build a simple MongoDB DAO in Scala using SalatDAO

Usually a data access object for MongoDB consists of common routine CRUD methods. Those methods should be implemented, tested, maintained just like any other code. In this post, I'm going to show you how to use SalatDAO to vastly simplify the process.

Generally, Salat is used for serialization of case classes, enums and collections to

avatar
'RESTful service load testing using Gatling 2' post illustration
RESTful service load testing using Gatling 2

In this post, I am going to show how to create load tests for a REST API application with the help of Gatling 2. This will be a step-by-step guide — starting from integrating Gatling 2 using SBT plugin, creating/configuring test scenarios, and all the way to running the Gatling tests.

avatar
'Managing configuration of a distributed system with Apache ZooKeeper' post illustration
Managing configuration of a distributed system with Apache ZooKeeper

One of the steps towards building a successful distributed software system is establishing effective configuration management. It is a complex engineering process which is responsible for planning, identifying, tracking and verifying changes in the software and its configuration as well as maintaining configuration integrity throughout the life cycle of the system.

Let's consider how to store and manage configuration settings of the entire system and its components using Apache ZooKeeper, a high-performance coordination service for distributed applications.

avatar
'Scala REST API Integration Testing with Spray-testkit' post illustration
Scala REST API Integration Testing with Spray-testkit

Here you can find out how to create integration tests for RESTful service on the example of application shown in the article "Building REST service with Scala". To create the tests, I am going to use spray-testkit DSL, as it provides a simple way to test route logic for services built with spray-routing.

avatar
'Building REST service with Scala' post illustration
Building REST service with Scala

Enterprise application might be developed using a variety of architectural styles. And REST is one of the most powerful of them. It allows us to build simple, scalable, highly productive APIs with independent components on the basis of widespread standards like HTTP, MIME etc, engaging their true potential.

Let's discuss how to create a lightweight, but full-featured RESTful service from scratch.

avatar
'Table existence check using Slick' post illustration
Table existence check using Slick

I'm using Slick library in my project and need to ensure that all required MySQL tables are created on application start.

avatar
'How to update entire database record using Slick' post illustration
How to update entire database record using Slick

Slick documentation says how to perform update operation for specific column, but doesn't contain any examples of updating entire record.

Below is tiny example of how to do that.

avatar
'Native 0mq library version for akka-zeromq-2.0.x' post illustration
Native 0mq library version for akka-zeromq-2.0.x

I had a chance to try akka-zeromq module last month in order to implement solution for inter-service communication using Scala, Akka 2.0 and ZeroMQ.