The purpose of this blog is to help those who are new to Go Programming Language and wants to create an application or have never worked on creating a CLI application before.
Though this will be a very small step towards learning Go applications, it will be a potentially useful one.

So let’s start.

Let's consider a scenario, where you have a log file. A standard logfile format has basically 3 fields Timestamp and Log Level followed by a message of some sort.

While writing test cases, most of the golang developer must have struggled with mocking the value of time in their tests. The purpose of this blog is to address this problem with the help of a package i.e go-mpatch.

Let us understand how to mock time in your test cases using go-mpatch with the help of an example.

package mainimport (
//PrintTime method : returning string containing current time.
func PrintTime() string {
return fmt.Sprintf("Current Time Is %s: ", time.Now())
func main() { //printing returned string from PrintTime method

The above code consist…

The Purpose of this blog is to show a way by which we can make a mock call to a method which takes pointer as an argument.

When is Mocking Needed ?

Mocking is done when you invoke methods of a class that has external communication like database calls or rest calls. Through mocking you can explicitly define the return value of methods without actually executing the steps of the method.

So, from above statement it is clear that it is the response from the method call that we mock.

But Consider a scenario, where argument to the method is…


The purpose of this article is to demonstrate integration of Machine Learning with DevOps.

We will be performing following tools and technologies to perform the practical:

Machine Learning :

Libraries Required :

  1. keras
  2. numpy
  3. pillow
  4. tensorflow
  5. sklearn

DevOps :

Tools Required :

  1. Docker
  2. Jenkins
  3. Github

Jobs To Be Performed

We will create Tasks in Jenkins for automating the whole process :

Job1 : Pull the Github repo automatically when some developers push ML Model to Github.

Job2 : Recognize the libraries used in the ML code and Launch the respective containers( i.e for General Model or Deep Learning Model)

Job3 :Jenkins should automatically start…

The Purpose of this article is to solve Image Recognition Problems in a fast and easy way using Transfer Learning. For Demonstration purposes we will create a Deep Learning Code using Keras and its Pre-trained Model.

Before jumping straight into practical, let us first understand what Transfer Learning really is.

Nowadays, Deep Learning is playing a major role in Artificial Intelligence Applications and most of them are in the field of Computer Vision or Natural Language Processing or Speech Recognition.

But Deep Learning has done a tremendous job majorly in the field of Computer Vision and to be specific in…

This article is a walkthrough of the details of setting up Continuous Integration (CI) and Continuous Delivery (CD) of application using Jenkins, Git and Docker.

Continuous Integration (CI) and Continuous Delivery(CD) is rapidly becoming an integral part of software development process as it makes our monotonous and repetitive tasks a little less grindy.

Continuous Integration (CI) is a project development practice where developers integrate code into a shared repository frequently. Each Integration is then verified by an automated build that allows the team to detect problems in an early stage.

Continuous delivery (CD) is a software engineering approach in which…

Sagar Sonwane

Software Engineer @Josh Software Pvt. Ltd.

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