Go compiler can produce a binary file which is can natively run on any machine(given its built for that). However, there are times it is more convenient to containerize your application and this tutorial will help you to build a basic RESTFul API built-in go and containerize it.
We will write a simple Go application which exposes a simple greeting when a call is made to URI http:localhost:8080
. In order to build this first, we will create a folder, and let's say we call it as Go-App
and inside it we will create a folder called server
which is the…
So you have your interview with a company in which you always to longed to work say Google and you aced that pair-programming session and next comes whiteboard session which is a very subjective topic as there are no few right answers like how you solved that coding challenge but you want to ace that 1-hour session and show your abilities that you could design an efficient system to crack that job. But how can you plan your preparation for this type of interview?
In this series of posts, I will try to layout a systemic approach to ace your…
Java 15 which came into General availability brought a very good set of 14 features. Out of those 14 features, few are additions and few are removed/disabled from current java eco-system. Here is the list of features added
Most often the question arises if it has to be the experienced people on the team who should review the code
Junior developers are the right people to Review Code to start with. One of the main reason being is “Code Readability”. There is a saying that “If you can’t explain it to a 6-year-old, you don’t understand it yourself”. …
Go has three variations of similar commands go run, go build, and go install. We will see in this story what is the purpose of each command and how to use them.
Each of these commands either takes a single Go file or a list of Go files. Here in this story, we will use a Go hello world program for example to refer along the way.
// file name : hello.go
package mainimport "fmt"func main(){
fmt.Println("Hello, world!")}
go run
If you run the command go run hello.go
in your terminal/command prompt you should see the output as Hello…
Interfaces play an important role in Java programming language and they are widely used for abstraction and to support multiple inheritances.
Interface is achieved by using a keyword interface and declare methods in it. Classes can implement interfaces with the implements keyword, and then provide implementations for the declared methods. One of the design principles to keep in mind while writing interfaces is the Interface Segregation Principle.
In Interface Segregation Principle interface should not have methods that implementing classes don’t require. Implementing classes are for no reason forced to provide implementations for those methods it does not require to. …
One of the principles from the twelve-factor app is store application configuration in the environment because it is most likely application config will determine the variations of deployment to various regions such as staging, production, developer environments, etc
Configurations here are such as :
GO provides a standard os
package which consists of functions that can help to work with environment variables programmatically. Below are the functions that can be used to interact with environment variables
os.Setenv()
This function sets the value into the system environment, In order to set you to need to…
If you were following me from the previous blog where I have explained about the mindset and preparation method before appearing your next system design interview, you are in the right place as promised here in this following blogs.
I will list out important topics, provide a brief overview and additional reading material of fundamentals to improve your system design, problem-solving. Although it’s a big list, by no means it’s an exhaustive list. So what I’m going to do is go through them one by one and give a one-line explanation on each of the concepts. Obviously, I cannot go…
RSocket (Reactive Socket) is a messaging protocol that works over TCP or Websockets. Communication modes this protocol provides are fire-and-forget, request-response, and streaming. Since RSocket is fully reactive, it's ideal for high-throughput applications.
In this post, we will explore three communications modes which are fire-and-forget
, request-response
and streaming
and test with the RSocket Client CLI (RSC)
, a postman-type application but to test application over the socket.
start.spring.io
, select RSocket
as a dependency and a stable version of spring boot version at the point of time and clicking on Generate
…Sr Software eng @Wipro 🥇 I love computers 💻, travel ✈️ I write about tech👩💻 Website: https://rakeshmothukuri.dev Twitter: https://twitter.com/rockey5520