Posts

Developing Spring Boot Application using Docker - Part 3

Introduction  Now that we are able to run and Debug the application inside the container let us add Database connection for our service. In this part we will be adding Database service to our Docker Compose file and use that inside the application. For the purposes of simplicity we can use MYSQL as backend database. Get started to build CRUD using Spring Boot To begin with let us add the below to our gradle file to get the required support for our DB We can now define our data model to be added. It is time to create our CRUD repository Lets add our own Service that can be used by the REST Controller Lets add our own Rest Service that can be invoked to access our database With the above code, we should have something to get into our Docker friend. Get your docker stuff ready Let us now add the database for us to test the docker compose This docker compose file has inline comments help you understand what is happening here If you pay close attention to what has be

Developing Spring Boot Application using Docker - Part 2

Image
Hopefully you have now got your Spring Boot Application run inside the container. If you are not there yet, please visit Developing Spring Boot Application using Docker - Part 1 to go start. There is one thing as an Architect on my daily job, I used to ask myself, if we run the application inside the container, how do we debug? How to view logs? How to triage issues on local? The biggest of all is debugging the Spring Boot Application that is running inside the container. Setting up Debugging environment The concept of debugging any Java Based Application that is running inside the container can be done using the most common way is using remote debugging. Typically, whenever we wanted to debug applications that are running in a machine that is outside of our own, we use Remote Debugging. Most IDEs like Eclipse and IntelliJ ship with those capabilities. The good news is, the setup required to get that started are fairly common. Lets see how to get that setup when running on docker. To

Developing Spring Boot Application using Docker - Part 1

Image
Recently I have been stormed by the now old buzz word Docker. I have been reading a lot about Docker for quite some time and found some abundant resources out there on internet. I am planning to add more to the series in my later posts. I will be posing my blogs as and when I am learning and discovering something new in my journey. It's never too late to start something is what I believe. Lets get started. Prerequisites Prerequisites for this project. An IDE of your choice Java 11 Docker Section 1: L ets Start from start.spring.io If you already have a working Spring Boot Application, head to Section 2. We can build the Spring Boot Project by just visiting the below link. URL to generate Simple Spring Boot App on start.spting.io This should get you started with a typical Spring Boot Application Now lets download and extract the project to workspace. Extract files using $ unzip -d ~/your/fav/location/ docker-example.zip or your GUI tool installed on you computer. Now it is time for

Terminalize your Prompt

Image
Introduction As a Software Developer, it is often productive to use the terminal. I am used to the terminal so much and spend most of my time on the terminal. To enhance your experience on your terminal I strongly recommend the @ohmyzsh to be part of your terminal. It has been a few years now, not sure from when, I cannot imagine a terminal without @ohmyzsh. There are a lot of details found on Oh My Zsh - a delightful & open source framework for Zsh please feel free to visit and be prepared to be awesome-struck. Here is my Terminal that I had posted on my Twitter a while ago https://twitter.com/reflexdemon/status/1216679064565702656 Let's get started with awesomeness! Here I would recommend you to make sure you have the wget tool. This is a utility from the GNU Free Software Foundation. Visit Wget to make sure it is in your ecosystem. There is another very important tool that you will need is the jq . That helps in parsing the json output. Chuck Noris Jo

Installing Open JDK on Ubundu

Introduction Here we come with another Java cool stuff. Ever wondered how to keep yourself upto date with Java's new release structure. I am going to talk on how to keep yourself upto date with Java, JDK on your Ubundu/Deb flavored Linux that you love. I personally use Linux Mint and was struggling to have a nice way to keep up with the new versions of Java and had written multiple scripts to automate the upgrades and stay current. When I found that the feature of using Java alternatives can be the right tool I did do some investigation and found that that is the best way I have found sofar that is working. Hence, I decided to quickly make some notes for myself then thought of putting it as a blog so that I could potentially share with my friends and to the community. How To: Install Open JDK. Prerequisites Here are somethings that you will require, A system with Ubundu/Deb flavored Linux You will have to have root access Some disk space to install the software

Java SSL/TLS Testing Tool: Cipher Suite

Image
Recently I was reading about the TLS/SSL and Ciphers. I was also interested to read about the Ciphers that are provided out of the box with JDK. This looked to me like this is something we take it for granted and do not do our due diligence when talking about the Ciphers. We often times leave those topic to our organization's network and security team. From my experience, it is a topic that all the developers leave it to the Sr. Developers and then the Sr. Developers pass it on to the Management. Guess what? It is not a sweet topic to discussion. To break this kind of symptom, I have choose to make it simple and want everyone to understand the complexity and importance of knowing this. Lets get started Before we wet our hands here is some basic information that you will require to know, Word Meaning Protocol A defined set of rules and regulations that determine how data is transmitted in telecommunications and computer networking SSL

PWA: Building and publishing a PWA in 15ish minutes using Angular 5 and Service Worker

Image
Introduction Here is an express start to your first PWA with service workers and a 100% score from lighthouse. I have taken it as a challenge to be able to present it to you so that you may be able to put your first pwa "hello world" app in 15ish minutes. What is PWA? Progressive web apps (PWAs) take traditional web sites/applications — with all of the advantages the web brings — and add a number of features that give them many of the user experience advantages of native apps. This set of docs tells you all you need to know. - Source: https://developer.mozilla.org/en-US/Apps/Progressive If the above definition sounds interesting, then this is to get you kickstarted with PWA using Angular 5 and inspire you to build more PWAs. End of this post you should be able to build, host and publish a PWA and get motivated to read more about it. Ever since I read about PWAs It has intrested me like crazy. Before, you get excited about PWA, please look into the supported brow