Recent posts

Best practices working with GIT

Here are some of my takeaways on working wth git: Theoretically rebasing is better, but merging is fine. When there are many commits in your feature branch, but there is no point of keeping those commits individually in the history, one should squash the changes, so it will be one commit in master branch. Let’s aim to have everything you have been working on during the day to be merged to master in the evening.

REST API Design Resources

I want to share with you a small some useful resources on REST API design.

Dynamic containers dynamic ports

Running integration tests locally with Docker on fixed ports is not always possible due to port conflicts. This is especially true when running tests in shared CI environment. Fortunately, testcontainers allow to start Docker containers listening on a random port. Here is an example: // create and start container val container = new GenericContainer("softwaremill/elasticmq-native") .withExposedPorts(9324) .withReuse(true) container.start() // create sqsClient val sqsPort = container.getMappedPort(9324) val clientBuilder = SqsAsyncClient.builder() .credentialsProvider(DefaultCredentialsProvider.create()) .region(Region.EU_CENTRAL_1) .

Logging Policy

There are different points of view on how logging levels should be used in code. I will share mine.

My assumption is: “There should be no errors in logs when everything is fine."

Kotlin Playground Shortcode for Hugo

Kotlin Playground is HTML component which creates Kotlin-aware editors capable of running code from HTML block elements. Here I explain how to embed runnable Kotlin code block in your Hugo-powered blog.

Spring Boot Configuration Best Practices

Spring Boot comes with very neat configuration mechanism. Default default application configuration is defined in one configuration file and environment specific setting in separate files. But still this mechanism is often not used properly resulting in verbose and unmaintainable configurations.

All posts

logo   Never miss a story, subscribe to our newsletter