Things I learned from working remotely as a software developer

Unexpectedly, during the past weeks, remote work became a thing.

Because of coronavirus pandemic, more and more organizations started to apply precautions.If only it’s possible, companies worldwide started shifting their teams into remote work mode and sending their employees to home offices.

If you didn’t notice this remote work trend recently, take a look at that Google Trends data:

Probably this is not how remote revolution was supposed to look like.

But if you just begin to work remotely these days or just preparing yourself for it, I have few things to share with you.

As I’m working remotely for a while now, I decided to gather simple rules I follow in order to work from home in the most effective way.

Although I work as a software developer myself, the tips I described here are quite universal and you can use it for barely any type of remote work.

Of course, depending on the organization or the project, your own situation may vary.  But I hope you’ll find something useful for you here.

Continue reading Things I learned from working remotely as a software developer

Provide basic security for your Spring Boot application with Spring Security and Kotlin

When you’re creating your REST API, most of the time you don’t want it to be publically accessible. Moreover, sometimes you’d like to restrict certain paths for users with specific roles (for example administrators).

In this blog post, I’m going to provide very basic Spring Security integration for Spring Boot application written in Kotlin language.

Please note that I’m using the example REST API I provided in the previous article. So if you don’t have your Spring Boot REST API built yet, move through the steps I described there.

Continue reading Provide basic security for your Spring Boot application with Spring Security and Kotlin

Swagger documentation for your Spring Boot API with Springfox

If you’d like to provide Swagger documentation for your Spring Boot REST API in a nice way, you’re in the right place.

Today I’m going to show you how you can achieve it in an automated way, without using tons of annotations in your controllers.
Springfox is a nice tool that allows you to do it.

In this text, I’ll be using the REST API built previously in this text using Spring Boot and Kotlin language, as an example.

Continue reading Swagger documentation for your Spring Boot API with Springfox

REST API with Spring Boot and MongoDB using Kotlin

If you think about Kotlin you could probably think about Android and mobile development.
It’s true. When Google announced Kotlin as the preferred language for the Android platform, its overall popularity increased sharply.

According to The State of Developer Ecosystem 2019, the survey made by JetBrains (Kotlin language creators), 62% of Kotlin-based apps were mobile. But 41% of Kotlin projects were related to web back-end development.

Indeed, Kotlin may be a good choice for server-side development. Among other frameworks, Kotlin is one of the officially supported languages of the Spring Framework.

In this text, I’d like to show you how easy it is to create a Spring application using Kotlin. I’m going to implement a simple CRUD REST API with Spring Boot and MongoDB as a database using Kotlin as a language.

So, get started with implementation and try it yourself.

Continue reading REST API with Spring Boot and MongoDB using Kotlin

How to disable Liquibase in your JHipster project?

JHipster is a great tool to quickly build your application or just the prototype. And when you’re building your MVP you most of the time need to move fast.

Liquibase is a tool that comes by default with JHipster and it’s for database version control. It tracks the changes in the database schema but sometimes it can also be painful.

If you’re here, you’re probably looking for a way to disable it temporarily or once for good.

In this text, I’m going to show you how you can achieve it.

Continue reading How to disable Liquibase in your JHipster project?

Passing data between Angular components with @Input

If you want to pass the data from parent to child components in Angular application, I hope this article will help you to find the answer.

Recently, I described the process of passing data between child and parent components in Angular using @Output and EventEmitter.

Now it’s time to show you the capabilities of @Input decorator for data sharing between parent and child components.

Continue reading Passing data between Angular components with @Input

Angular 8 with Leaflet map – geocoding using Nominatim API

Geocoding is the term used to describe the proccess of exchanging address into corresponding geographical data (coordinates).

If you’re looking for out-of-the-box geocoding services there are plenty of them. For example, you can consider the most popular one – Google Maps Geocoding API which is pretty good but it’s not really free to use.

There’s a different solution, especially if you’re using OpenStreetMaps-related maps engine. It’s called Nominatim and basically it’s the OSM searching engine with open web API.

Continue reading Angular 8 with Leaflet map – geocoding using Nominatim API

Use Leaflet in your Angular 8 project for interactive maps

If you’re considering using interactive maps in your Angular application definitely Leaflet is a great choice. It’s open, easy to integrate with and has strong community support.

In my opinion, it’s the best alternative to the Google Maps. So, don’t lose the opportunity and check it yourself. I hope it will fit your needs.

Continue reading Use Leaflet in your Angular 8 project for interactive maps

Passing data between Angular components with @Output and EventEmitter

If you’re looking a way to communicate between Angular components I hope you’ll find your answer here.

In this article I’d like to show you how you can benefit from using @Output and EventEmitter in order to pass the data from child to parent component.

Continue reading Passing data between Angular components with @Output and EventEmitter

Drop-down terminal in macOS with iTerm2

Recently I switched from my ThinkPad to MacBook Pro. Coming from Linux world I soon started missing some of my previous favorite tools.

One of them is Guake – a drop-down terminal tool. There’s no macOS version of it but luckily there’s a way to get terminal with similar behaviour on macOS.

Continue reading Drop-down terminal in macOS with iTerm2