<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Development on Development notes</title>
    <link>https://dev-pages.info/categories/development/</link>
    <description>Recent content in Development on Development notes</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Wed, 02 Jun 2021 21:34:39 +0300</lastBuildDate><atom:link href="https://dev-pages.info/categories/development/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How to install Docker and Docker Compose on Raspberry Pi 4</title>
      <link>https://dev-pages.info/how-to-install-docker-and-docker-compose-on-raspberry-pi-4/</link>
      <pubDate>Wed, 02 Jun 2021 21:34:39 +0300</pubDate>
      
      <guid>https://dev-pages.info/how-to-install-docker-and-docker-compose-on-raspberry-pi-4/</guid>
      <description>This blog post describes how to install Docker and docker-compose on Raspberry Pi 4. In short, to install docker and docker-compose we need to make sure that our system is up to date, install required dependencies, and install docker with docker-compose. Also, we can add our user to the docker group to run docker without sudo.
Make sure system is up to date sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y Install required dependencies sudo apt install python3 python3-pip libffi-dev libssl-dev -y Install Docker curl -sSL https://get.</description>
    </item>
    
    <item>
      <title>Go Slices and Maps</title>
      <link>https://dev-pages.info/go-slices-and-maps/</link>
      <pubDate>Sun, 25 Oct 2020 20:18:42 +0300</pubDate>
      
      <guid>https://dev-pages.info/go-slices-and-maps/</guid>
      <description>&lt;p&gt;This post describes some slice and maps features which may be opaue.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Methods and Interfaces in Go</title>
      <link>https://dev-pages.info/methods-and-interfaces-in-go/</link>
      <pubDate>Thu, 30 Apr 2020 22:43:33 +0300</pubDate>
      
      <guid>https://dev-pages.info/methods-and-interfaces-in-go/</guid>
      <description>&lt;p&gt;This post is a small cheatsheet for Methods and Interfaces in Go. Here I provide main features and describe what methods, interfaces, pointer receiver and value receiver are.&lt;/p&gt;
&lt;p&gt;There are no detailed explanations or tricky examples about how to use them. For such content please see other resources.&lt;/p&gt;
&lt;p&gt;At the end of the page, there is a small list of useful links to read&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Setup Github Actions for Hugo</title>
      <link>https://dev-pages.info/setup-github-actions-for-hugo/</link>
      <pubDate>Sun, 19 Apr 2020 17:35:37 +0300</pubDate>
      
      <guid>https://dev-pages.info/setup-github-actions-for-hugo/</guid>
      <description>&lt;p&gt;This blog-post describes how to set up &lt;a href=&#34;https://github.com/features/actions&#34;&gt;Github Actions&lt;/a&gt; for building and deploying &lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo&lt;/a&gt; using Docker container.&lt;/p&gt;
&lt;p&gt;The described approach is a starting point for further improvements but it will automate the deployment of new blog posts to a remote server where your blog is hosted.&lt;/p&gt;
&lt;p&gt;This blog post doesn&amp;rsquo;t explain every line of the configuration but describes the used approach and refer to the official Github Action documentation.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Intellij Idea Hotkeys worth knowing</title>
      <link>https://dev-pages.info/intellij-idea-hot-keys-worth-knowing/</link>
      <pubDate>Tue, 14 Jan 2020 21:42:44 +0300</pubDate>
      
      <guid>https://dev-pages.info/intellij-idea-hot-keys-worth-knowing/</guid>
      <description>&lt;p&gt;Here is a list of useful Hotkeys for IntelliJ IDEA which will help to navigate over IDE and code in a more productive way&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>How to run Spring Boot and MongoDB in Docker using Docker Compose</title>
      <link>https://dev-pages.info/how-to-run-spring-boot-and-mongodb-in-docker-using-docker-compose/</link>
      <pubDate>Tue, 26 Dec 2017 08:44:33 +0000</pubDate>
      
      <guid>https://dev-pages.info/how-to-run-spring-boot-and-mongodb-in-docker-using-docker-compose/</guid>
      <description>Into the previous post How to run Spring Boot and MongoDB in Docker container I described how to start Spring Boot web application and MongoDB in docker using Dockerfiles. Described approach works, but has some drawbacks: we need to remember all commands and repeat them from time to time. Into this tutorial I&amp;rsquo;ll describe how to build locally a Docker image with Java application and run it together with MongoDB in Docker containers using Docker Compose.</description>
    </item>
    
    <item>
      <title>Scala expressions and definitions cheatsheet</title>
      <link>https://dev-pages.info/scala-categories-of-expressions-cheatsheet/</link>
      <pubDate>Wed, 13 Sep 2017 21:00:55 +0000</pubDate>
      
      <guid>https://dev-pages.info/scala-categories-of-expressions-cheatsheet/</guid>
      <description>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.</description>
    </item>
    
    <item>
      <title>Principles of Object Oriented Design</title>
      <link>https://dev-pages.info/principles-of-object-oriented-design/</link>
      <pubDate>Tue, 10 Jan 2017 07:53:47 +0000</pubDate>
      
      <guid>https://dev-pages.info/principles-of-object-oriented-design/</guid>
      <description>Intro Here is a list of main principles of Object Oriented Design (OOD) with short description of them. I&amp;rsquo;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.</description>
    </item>
    
    <item>
      <title>Partitioning in Relational databases</title>
      <link>https://dev-pages.info/partitioning-in-relational-databases/</link>
      <pubDate>Wed, 21 Dec 2016 07:08:59 +0000</pubDate>
      
      <guid>https://dev-pages.info/partitioning-in-relational-databases/</guid>
      <description>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. queries or updates access a large percentage of a single partition because of sequential scan of that partition instead of using an index and random access reads scattered across the whole table Seldom-used data can be migrated to cheaper and slower storage media Performing maintenance operations on one or more partitions can be made more quickly.</description>
    </item>
    
    <item>
      <title>How to run Spring Boot and MongoDB in  Docker container</title>
      <link>https://dev-pages.info/how-to-run-spring-boot-and-mongodb-in-docker-container/</link>
      <pubDate>Sun, 11 Dec 2016 16:40:42 +0000</pubDate>
      
      <guid>https://dev-pages.info/how-to-run-spring-boot-and-mongodb-in-docker-container/</guid>
      <description>Introduction This tutorial describes how to run Spring Boot application and Mongo DB in Docker containers.
For a demo purposes we&amp;rsquo;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:</description>
    </item>
    
    <item>
      <title>How to install Docker on Ubuntu 16.04</title>
      <link>https://dev-pages.info/how-to-install-docker-on-ubuntu-16-04/</link>
      <pubDate>Sat, 10 Dec 2016 20:52:50 +0000</pubDate>
      
      <guid>https://dev-pages.info/how-to-install-docker-on-ubuntu-16-04/</guid>
      <description>Introduction Docker is software containerization platform which makes it easier to create, deploy, and run applications by using containers. It&amp;rsquo;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.</description>
    </item>
    
    <item>
      <title>SQL Query explain plan and Optimization</title>
      <link>https://dev-pages.info/sql-query-explain-plan-and-optimization/</link>
      <pubDate>Mon, 05 Dec 2016 19:20:00 +0000</pubDate>
      
      <guid>https://dev-pages.info/sql-query-explain-plan-and-optimization/</guid>
      <description>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&amp;rsquo;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&amp;rsquo;s prepare a table with test data.</description>
    </item>
    
    <item>
      <title>Indexes into Relational Databases</title>
      <link>https://dev-pages.info/indexes-into-relational-databases/</link>
      <pubDate>Tue, 29 Nov 2016 18:35:55 +0000</pubDate>
      
      <guid>https://dev-pages.info/indexes-into-relational-databases/</guid>
      <description>A database index is a data structure that improves the speed of data retrieval operations on a database table (increase database performance). But such performance has a cost of additional writes to hard drive and storage space to maintain the index data structure. In nutshell, index is a quick path to a single row into database. Indexes allow us to go directly to he required column without scanning the entire database table.</description>
    </item>
    
    <item>
      <title>SQL Transactions and ACID</title>
      <link>https://dev-pages.info/sql-transactions-and-acid/</link>
      <pubDate>Sun, 27 Nov 2016 14:50:12 +0000</pubDate>
      
      <guid>https://dev-pages.info/sql-transactions-and-acid/</guid>
      <description>Transaction is a sequence of one or more SQL operations treated as a logical unit. Transaction could be completed either entirely successfully or not executed at all. Transactions and locking are important aspects of database for supporting multiple users. Into this tutorial we&amp;rsquo;ll take a look atTransaction, ACID, Isolation Levels.
ACID Transaction must have the following properties called ACID, which means the following:
Atomicity: means that transaction must happen as a single unit and exactly once.</description>
    </item>
    
    <item>
      <title>PostgreSQL functions</title>
      <link>https://dev-pages.info/postgresql-functions/</link>
      <pubDate>Wed, 23 Nov 2016 23:14:00 +0000</pubDate>
      
      <guid>https://dev-pages.info/postgresql-functions/</guid>
      <description>PostgreSQL has a lot of built-in functions, such as Trigonometric Functions, String Functions, IP address functions, etc. But we&amp;rsquo;re not limited by built-in functions. PostgreSQL (as well as other RDBMS) allows creating custom functions. In this tutorial we will take a look at user-defined functions.
PostgreSQL supports the following programming languages for writing functions:
SQL PL/pgSQL C PL/Python PL/Tcl some other languages Create functions with PL/pgSQL Functions written in PL/pgSQL can contain a variable declaration, conditional and looping constructions, exception handling and so on.</description>
    </item>
    
    <item>
      <title>How to install Maven on Windows 10</title>
      <link>https://dev-pages.info/how-to-install-maven-on-windows-10/</link>
      <pubDate>Wed, 23 Nov 2016 17:45:00 +0000</pubDate>
      
      <guid>https://dev-pages.info/how-to-install-maven-on-windows-10/</guid>
      <description>Maven is build tool primary for Java projects. In this tutorial I will describe how to install maven on Windows 10 operating system.
Download and install Java To use maven we need to install Java first. If maven is used for Java projects java jdk should be installed, otherwise jre would be enough. Jdk or Jre could be found here.
Download maven After Java (jre or jdk) is installed we need to download Apache Maven from official web site https://maven.</description>
    </item>
    
    <item>
      <title>Git cheat sheet</title>
      <link>https://dev-pages.info/git-cheat-sheet/</link>
      <pubDate>Tue, 22 Nov 2016 20:38:33 +0000</pubDate>
      
      <guid>https://dev-pages.info/git-cheat-sheet/</guid>
      <description>Git is distributed version control system It is very powerful tool and has a lot of features. Also there&amp;rsquo;re a lot GUI tools for working with git. But in this post I&amp;rsquo;ll show how to work with git from terminal (console) in Linux or using git-bash in Windows.
The list of commands will be updated periodically.
Identifying yourself To add user name and email globally:
git config --global user.name &amp;#34;John Doe&amp;#34; git config --global user.</description>
    </item>
    
    <item>
      <title>PostgreSQL data types cheat sheet</title>
      <link>https://dev-pages.info/postgresql-data-types-cheat-sheet/</link>
      <pubDate>Sun, 06 Nov 2016 14:52:39 +0000</pubDate>
      
      <guid>https://dev-pages.info/postgresql-data-types-cheat-sheet/</guid>
      <description>In this tutorial I will show main PostgreSQL data types such as Boolean, Character, Number, Temporal. Also I will describe when and how we can use them.
By the way, Postgres is not limited by the mentioned data types. It also supports such types like JSON, Monetary, Geometric , Network Addresses, etc. The full list of supported data types could be found here: Data Types
Boolean Data Type The boolean type (could be shortened to bool) can store only 2 possible values true or false and NULLin case when value is unknown.</description>
    </item>
    
    <item>
      <title>Java: Ambitious method call</title>
      <link>https://dev-pages.info/java-ambitious-method-call/</link>
      <pubDate>Sun, 30 Oct 2016 18:25:36 +0000</pubDate>
      
      <guid>https://dev-pages.info/java-ambitious-method-call/</guid>
      <description>Ambicious method call error occurs when Java compiler doesn&amp;rsquo;t know which of the overloaded method to call. Let&amp;rsquo;s assume that we have the following overloaded methods: first method accepts the String parameter and prints it. The second method accepts Integer parameter and also prints it.
public void print(String param) { System.out.println(&amp;#34;Printing parameter + &amp;#34;param&amp;#34; + &amp;#34; as String&amp;#34;); } and
public void print(Integer param) { System.out.println(&amp;#34;Printing parameter + &amp;#34; + param + &amp;#34; as Integer&amp;#34;); } Calling one of the methods into the following way print(null) will attempt to the error like this:</description>
    </item>
    
    <item>
      <title>SQL Data Definition Language for Database in PostgreSQL</title>
      <link>https://dev-pages.info/sql-data-definition-language-for-database-in-postgresql/</link>
      <pubDate>Fri, 14 Oct 2016 19:47:42 +0000</pubDate>
      
      <guid>https://dev-pages.info/sql-data-definition-language-for-database-in-postgresql/</guid>
      <description>As was described into my previous post SQL Commands Types cheat sheet Data Definition Language, or just DDL, is a set of commands for creating, deleting, renaming databases and tables. In this tutorial I will describe how to use DDL with databases(schemes). PostgreSQL will be used for demonstration.
How to setup PostgreSQL (and PgAdmin3) on Ubuntu please refer to this tutorial: How to install PostgreSQL on Ubuntu 16.04
CREATE database CREATE DATABASE blog; PostgreSQL will create a database named blog with default parameters.</description>
    </item>
    
    <item>
      <title>SQL Commands Types cheat sheet</title>
      <link>https://dev-pages.info/sql-commands-types-cheat-sheet/</link>
      <pubDate>Tue, 11 Oct 2016 14:39:00 +0000</pubDate>
      
      <guid>https://dev-pages.info/sql-commands-types-cheat-sheet/</guid>
      <description>SQL language includes four types of command. In this tutorial I will describe them shortly.
Data Definition Language (DDL) DDL is a set of commands for creating, deleting, renaming databases and tables.
CREATE Creates a new database or a table. ALTER Modifies the structure of a database or a table. DROP	Deletes a database or a table. TRUNCATE Removes all table records, including allocated table spaces. Data Manipulation Language (DML) DML is a set of commands for inserting, deleting, updating and selecting data from the database.</description>
    </item>
    
    <item>
      <title>How to install PostgreSQL on Ubuntu 16.04</title>
      <link>https://dev-pages.info/how-to-install-postgresql-on-ubuntu-16-04/</link>
      <pubDate>Mon, 10 Oct 2016 17:05:00 +0000</pubDate>
      
      <guid>https://dev-pages.info/how-to-install-postgresql-on-ubuntu-16-04/</guid>
      <description>PostgreSQL is a powerful, open source object-relational database system which runs on all major operating systems, including Linux, UNIX and Windows. It is fully ACID compliant, has full support for foreign keys, joins, views, triggers, and stored procedures (in multiple languages).
In this guide, I will describe how to install and configure PostgreSQL on Ubuntu 16.04.
Before installing PostgreSQL let&amp;rsquo;s ensure that our system is up to date.
sudo apt-get update sudo apt-get upgrade Installation Almost all Linux repositories contain PostgreSQL and we can install PostgreSQL from there.</description>
    </item>
    
    <item>
      <title>How to install maven on OpenSUSE</title>
      <link>https://dev-pages.info/how-to-install-maven-on-opensuse/</link>
      <pubDate>Sun, 09 Oct 2016 00:18:56 +0000</pubDate>
      
      <guid>https://dev-pages.info/how-to-install-maven-on-opensuse/</guid>
      <description>By default OpenSUSE Linux distribution doesn&amp;rsquo;t have Maven into its repositories because of tons of dependencies which needed for Maven. But in spite of this Maven installation is straightforward in OpenSUSE.
In this tutorial I will show how to install Maven from its official web site.
First of all we need to download Maven from the official web site. There 2 types of archives there: tar.gz and zip. In this tutorial we will install Maven from the tar.</description>
    </item>
    
    <item>
      <title>Git: How to remove merged branches locally</title>
      <link>https://dev-pages.info/git-how-to-remove-merged-branches-locally/</link>
      <pubDate>Sat, 08 Oct 2016 22:56:08 +0000</pubDate>
      
      <guid>https://dev-pages.info/git-how-to-remove-merged-branches-locally/</guid>
      <description>Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Also Git is a very powerful tool.
Git supports branches. And branches in git cost almost nothing. As a result when we create a new feature, we create a &amp;ldquo;feature branch&amp;rdquo;, work there. When a feature is complete the &amp;ldquo;feature branch&amp;rdquo; is merged to development or master branch.</description>
    </item>
    
  </channel>
</rss>
