Building an application that is driven by properties using Spring Boot.

Image for post
Image for post
Photo by Arno Smit on Unsplash

This post counts as the second part of my previous post on some very commonly used annotations in the Spring framework. In this post I wanted to specifically focus on how we can build backend services using Spring/Spring Boot and drive certain sections of the application using properties, that could also be supplied from outside the codebase. When I say properties driven, at a very high level I mean the ability to change the behavior of the application by merely using properties. …


How record classes in Java compares to Kotlin’s data classes.

Image for post
Image for post
Photo by Mike Kenneally on Unsplash

Recent releases of Java have had some very noteworthy and developer-friendly features including a concept of record classes. From the Java docs of the Record class:

A record class is a shallowly immutable, transparent carrier for a fixed set of values, called the record components. The Java language provides concise syntax for declaring record classes, whereby the record components are declared in the record header. The list of record components declared in the record header form the record descriptor.

My first thought on seeing this class and as someone who has used Kotlin for some time now, I couldn’t help but wonder how similar this sounds to Kotlin’s data classes. …


Caveats to keep in mind while working with Json Web Tokens!

Image for post
Image for post
Photo by Riccardo Ginevri on Unsplash

JSON Web Tokens (abbreviated as JWTs) are digitally signed tokens that can be used to verify the authenticity of an incoming request, as well as ensure the request is authorized to make the request being made. Jwt.io has a wonderful article explaining what a JWT is, its components, and how it is used. If you are new to JSON Web Tokens, I highly recommend giving this blog post a read before reading on, because this post assumes you are familiar with a JWT and know how it works.

In this post, I would like to talk about a few things I learned from implementing and using JSON Web Tokens. Before we jump into things that need to be taken into consideration while implementing JWTs, it is important to note that one of the most important characteristics of a JWT is its immutability. While immutability is good, it can also be inconvenient because old JWTs cannot be invalidated without additional work. So with that in mind here are a few JWT-specific considerations for your next…


Image for post
Image for post
Photo by Jon Tyson on Unsplash

With most tech companies moving to having more and more employees work full time remote, the option to work remote should no longer come as a surprise. But working across timezones definitely puts a big dent in that option. Time is a mess to work with be it in code or with remote work. The longer the time difference the more hard it gets to decide and manage how to make sure your work is not affected. …


Making backend API services easy to use and work with!

Image for post
Image for post
Photo by Jess Bailey on Unsplash

What makes a backend service (that exposes functionality in the form of ReSTful APIs) fun to work with? Not just for the devs working on the service but also for everyone else using it including but not limited to developers who consume those APIs. I think this question is more valuable if flipped: What makes working with a backend service a nightmare? What feels like you are fighting the service at every point in your code?

In this post I want to draw on my experience building API services and talk through a few considerations I like to look into while building backend services. Some of these could be provided by the framework itself while others might be functionality worth building! …


Image for post
Image for post
Photo by Kaleidico on Unsplash

As a developer, chances are you have created, consumed (or both) APIs at some point in your career. If you are a mobile/web/UI developer, you have definitely interacted with APIs because the data to be displayed needs to come from somewhere and if you are a backend developer, you have definitely created APIs to interact with other services (UIs and other backend services alike).

One of the best things available to software engineers especially those that have to build APIs is the availability of an RFC for all things API related: status codes, headers, cookies, request/response bodies etc. With that said the not-so-good part about this is the fact that the RFC is just a spec i.e. …


Image for post
Image for post
Photo by Kimberly Farmer on Unsplash

Spring uses a good chunk of annotations for the purposes of dependency injection. For someone who is new to the Spring eco system, it can get quickly overwhelming because not only are there a good number of annotations to understand, but also several ways to achieve the same thing by using different annotation or a different combination of annotations! So this post is aimed at going over a few basic annotations that are sure to come in handy as you get started with your first Spring application. …


Image for post
Image for post
Photo by Math on Unsplash

We all love lambdas, don’t we? Lambdas are powerful (passing methods around, getting rid of anonymous classes…you get the picture) and with great power comes great responsibility. When we switched to using Java 8 at work, I was excited about finally getting to use lambdas! But very quickly, I found myself cramming all my code into a lambda. I was not only trying to overuse it, I was also writing code that was very unreadable.

Over the course of the past couple of years, I have gathered some “wows” and “gotchas” with using lambdas, that I have run into AND more importantly, run away from (all examples pertain mainly to…


Image for post
Image for post
Photo by Jason Dent on Unsplash

Though google was one of the first companies to announce full support for Kotlin in Android, I think other frameworks have come a LONG way in providing first class support for Kotlin out of the box. Spring boot is one of them! Developing Spring boot, in my opinion is so much fun in itself and adding Kotlin to the mix only makes it double FUN!

If you are a Java dev looking to switch over to Kotlin this blog post is for you! Because I think some of the Spring folks have done a wonderful job of providing (and maintaining) code samples/tutorials, I am just going to link out to some of them at the end of my post that should provide good resources for anyone looking to get started with Spring and Kotlin (consider yourself warned: There are no code samples in this post!). …


Image for post
Image for post
Photo by Roberto Salinas on Unsplash

A big part of any job is the people you work with. Tech is no different, in that, the members of your team, who you spend a big chunk of your day with, play a huge role in how happy or sad you are in your career. Working with devs who are KIND is probably one of those things I completely and totally lucked out on! It has also given me some insight into how I want to see myself evolve and grow as a software developer.

So getting back to the title what do I mean when I say kind? Well, I love lists and I have one for this one…

About

Janani Subbiah

Product Architect | Ice cream lover | Newbie gardener

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store