TNWiki Article Spotlight - Historical event

The time in Redmond WA USA is 18:00 Pm now. If you are in USA and you open the TV, then you're probably watching the news which shows an event that is defined as a "historical event" - Trump meeting with Kim Jong Un.

The time here in Israel is 04:00 AM, and you might think that I am awake in order to watch the meeting, but in fact there is currently a much more important event...

It's time for the TechNet Wiki spotlight!


Good day and welcome all to "Thursday Council Spotlight" , where we highlights an article which impressed us, with our recommendation to read it.

We invite all the active members in the community to help us in choosing the best articles. If you read an article in the TechNet Wiki (old or new) and you feel in your bones that this article must win its two minutes of fame, then please feel free to contact one of the TechNet Wiki bloggers. All you need to do is to convince us that you are right - after all there are no clear rules, although there must be good reasons to select the article of the week.

This week’s choice

Today I want to bring you a two parts series about "Defensive data programming", written by  Karen Payne .

A Defensive Data Programming is a form of defensive design in the application side, which intended to ensure the content of data we store in the database or the data we retrieve from the database under unforeseen circumstances. Defensive Data Programming should not come instead of adding limitations in the database level, but in addition to these. With that being said in some cases we as developers cannot control the database side or the database is not well designed, and in these cases Defensive Data Programming is our only option.

For example using constraints in the database level we can control the data which is allowed to be stored in a table according to our rules, but we probably do not want to send the data to the database in the first place if it does not meet our constraints. We can enforce rules in the application side, which will prevent us to even connect to the database if the data does not meet our rules.

In this series of articles you will learn what we need to avoid in the first place, how to implement Defensive Data Programming in general, limit the values of data that is inserted or updated, prevent inserting duplicate records, handling constraint violations, and more...

The first part in the series was published on February 2018 and won a gold medal.

The second part in the series was published a month ago on May 2018 and it's participate in the monthly competition being held these days.

What next?

If you are developers then the information in these articles is a must to read, and this topic in general is something that you should take into consideration in your daily work! I HIGHLY recommend to go over the articles.


Have a great week,