The purpose of this blog is to help those who want to set up CI/CD for their projects. There are many popular tools present in the market right now like CircleCI and TravisCI and Github Actions is one of them.

Before moving forward with GitHub Actions, it is necessary for us to understand what are software development workflows and why is the need for them to be automated.

In a software development project, there is a team that consists of several individuals who work on the project, and is it obvious that the project needs to be hosted on some…

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 that takes a pointer as an argument.

When is Mocking Needed?

Mocking is done when you wish to 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 method.

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

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


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