Troubleshooting
Troubleshooting

Recently I have to investigate an issue where it works fine locally with both Linux and Windows local dev setup and failing in Docker-based container deployment. The issue was some of the characters like £ are printing as ?? symbol.

Since the issue works fine locally, the initial guess was it might be something related to Docker deployment.

Let’s troubleshoot this kind of issue.

Locale command- you can get the information of locale-specific information using the below command

locale

in my case, I run the above command in VM. output was like below


Photo by Christian Wiediger on Unsplash

What is AWS?

Amazon Web Services (AWS) is a subsidiary of Amazon that provides on-demand cloud computing platforms and APIs to individuals, companies, and governments, on a metered pay-as-you-go basis.

AWS Certified Solutions Architect — Associate

The AWS Certified Solutions Architect — Associate examination is intended for individuals who perform a solutions architect role and have one or more years of hands-on experience designing available, cost-efficient, fault-tolerant, and scalable distributed systems on AWS.

Let’s get started.

I recently passed the AWS Certified Solutions Architect — Associate exam and I like to share my experience which will help someone else as well.

A new version of the AWS Certified…


Photo by Sara Bakhshi on Unsplash

I created an article before about how to create a spring boot application using dynamo DB. But configurable values are hardcoded. So, there should be a mechanism to change those values. Since we are running our Springboot application as a docker image, we need to pass those dynamic values into a docker container.

So we need to do 2 things.

  1. Change spring-boot project to accept value from environment variables
  2. Passing values into the docker container

Let’s start.

Change the code

First, we need to change the spring-boot application in order to accept environment variables

@Value("${DOCKER_PER_SMS_CHARGE:0.12921}")
private String PER_SMS_CHARGE = "" ;

In the…


Photo by Guillaume Bolduc on Unsplash

Today I am building a spring-boot application to save and read data with dynamoDB. Also gonna talk about how to deploy it to EC2 instance with docker.

Previously I wrote an article on how to create a notification system with AWS resources. This REST API is used to inserting data into DynamoDB as mentioned in that article.

Let’s start.

Spring-boot application

I am not going to explain the Spring boot code in depth. because it is self-explanatory and you can find a lot of articles on how to create spring boot applications with dynamoDB.

Dependency

<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-dynamodb</artifactId>…


If you are a person working close to the stock exchange, or regularly working with foreign currency, then currency conversion rates to your local currency is something you keep eyes on a daily basis.

I had a similar requirement and created this notification alert system. Normally I want to know the conversion rates to GBP(U.K. Pound) to LKR(SriLankan Rupees) daily basis based on the daily rates given by the respective bank. Rates differ from one bank to another.

This is part one of the series of tutorials on how to build this application. …


There are lots of definitions of what is called ‘Programming to Interface, not implementation”. Let’s try to understand this design principle.

All design principles are used to maintain variable parts in an efficient way so that the application welcomes changes in future without breaking. your code should be flexible with future enhancements or changes. This can be achieved with ‘programming to interface’ pattern.

Interfaces are just contracts or signatures and they don’t know anything about implementations.

So let’s learn it by an example.

Recently, I saw a code where this design principle is not used and it leads me to…

Harsha Siriwardana

Senior Software Engineer

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