Development notes

Thoughts, notes and ideas about development

Scala expressions and definitions cheatsheet

2017-09-13 Scala Alexey Bogdanov
Intro This is a cheatsheet of Scala expressions and definitions from Coursera online course Functional Programming Principles in Scala What is Expression Expression is any bit of Scala code that yields a result. In other words expression evaluates to a result or results in a value Categories of expressions An identifier such as x, isValid A literal, like 0, 2, abc A function application, like sqrt(x) An operator application, like -x, x+y A selection, like math. Continue reading

VSCode: How to change the font size

2017-05-22 VSCode Alexey Bogdanov
Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. It’s developed by Microsoft. Here a guide how to change the Editor’s font and the font of the hole application (tabs, explorer, etc). This article describes how to change the VSCode’s fonts. How to open setting There 2 way of opening VSCode’s setting: Over main menu or hot keys: go to File -> Preferences -> Setting (or click on Ctrl + Alt + S) Continue reading

Principles of Object Oriented Design

Intro Here is a list of main principles of Object Oriented Design (OOD) with short description of them. I’ll provide detailed descriptions for some of the principles in later posts. OOD principles can be divided into two groups. The first group well known and named SOLID (has 5 principles) and describes class design. The second group (6 principles) is related to the packaging of the application. Principles from these group describe how package and component design helps us to organize large application into packages or components. Continue reading

Partitioning in Relational databases

Introduction Partitioning is a process of dividing a table into multiple smaller pieces, where each piece of such a database object is called a partition. This tutorial describes what is Partitioning and provided an example of Range partitioning in PostgreSQL database. Benefits of partitioning Query performance could be increased when: most of the heavily accessed rows of the table are in a single partition or a small number of partitions. Continue reading

How to run Spring Boot and MongoDB in Docker container

Introduction This tutorial describes how to run Spring Boot application and Mongo DB in Docker containers. For demo purpuses we’ll use the following project: spring-mongo-demo. All sources can be found on Github. Our goal is to run our Spring Boot application and MongoDB in its own containers. Some words about Demo project Demo project (spring-boot-demo) is very simple and does the following: it saves the users into Mongo DB. A new added user is displayed in the Users table on the bottom of the page: Requirements We need: Continue reading

How to install Docker on Ubuntu 16.04

2016-12-10 docker Alexey Bogdanov
Introduction Docker is software containerization platform which makes it easier to create, deploy, and run applications by using containers. It’s the most popular containerization platform in our days. More details about Docker could be found on Docker official web site or Wikipedia. This tutorial describes only how to install Docker on Ubuntu 16.04. Installation process on other distribution looks very similar but can have some differences. How to use Docker will be described into future tutorials. Continue reading

SQL Query explain plan and Optimization

2016-12-05 SQL Alexey Bogdanov
Query optimization is determination by relational database the most efficient way to execute a given query by considering the possible query plans. Mostly query optimizer is used by databases for optimizing the query in the best possible way. User doesn’t work directly with query optimizer. But some queries can be optimized by exploring its execution plan. Prepare test data Before we dive into queries optimizations and explain plan, let’s prepare a table with test data. Continue reading
Older posts Newer posts