Recently I have come across an interesting issue when working on a project. I was developing a RESTful API with NodeJS. A resource was exposed through the API, and to create this resource, a request to another API is required. This dependent component is a non-blocking API. Hence, the request’s actual result is delivered through a web socket.

Fig 01: Sequence diagram of the API

Figure 01 represents how my API under development should behave when creating resource X. As shown in the diagram, waiting for an actual response from the dependent API was necessary to complete the request to create resource ‘x’. …


Short answer, you can’t

See, react-intl resolve translations in compile time. If you define your messages using defineMessage to resolve in runtime, your app will fail to compile, an error like the below will be thrown.

Cannot read property 'name' of undefined

So never use defineMessage as below

defineMessage(attachment.message)

Instead define it like this

defineMessage({      
id: "attachment.quoteCostCalculation.label",
defaultMessage: "Cost calculation",
description: "Cost calculation label"
})

Fig 01: A huge Pull request can take a long time to review

When considering the development phase of software, we often overlook the time taken for reviewing code. Large and complex changes might lead to unforeseen delays in reviewing and merging code, and this in turn delays delivery.

Consider this:

  1. The story at hand is fairly complex and has an assigned value of 8 story points where 1 is the lowest 13 is the highest.
  2. The story cannot be broken down further

And this is the story:

A developer should be able to modify the name, quantity, and price, of a line item in an order — through a REST endpoint.

Before…


So there, I was developing a scripted pipeline in Jenkins. Everything was going fine until I did a quick refactoring to the pipeline script. Pipeline started stopping in a stage following an error.

Okay, by the look on it, error doesn’t say a much in what actually failing. What we can see is pipeline has executed waitForQualityGate() step in Quality Gate stage. In the middle of it, pipeline has failed.

So, let’s have a look on the part of script which is failing.

From the look of it, we are not doing anything waitForQualityGate() step. In fact we…

Dinanjana Gunaratne

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