Future for business analysts

October 20 , 2016

A Business Analyst today is a kind of compromise in the field of software development. That is, not everybody realises that an Interaction Designer (IxD) is a crucial component when it comes to the software development yet everyone wants to create software. Business analyst is also the person who fulfills the majority of tasks at the earliest stages of the process, when the  interaction between a customer and a software development company takes place. At the same time, business analyst is the very person who can eventually become an Interaction Designer and potentially significantly increase the quality of software products.

Read article

3 steps to create integration tests for your ASP.NET MVC 5 application

October 2 , 2016

When you develop an ASP.NET MVC application you should test it anyway. You can cover different parts of your application logic with unit tests or you can create tests that look like user interaction scenarios. These tests have several advantages over unit tests:

  • These tests are independent of implementation and you can't break your test by refactoring (the only scenario when you should modify your test is functional requirement change).
  • These tests are good documentation for your application.
  • These tests can give you idea about that your users need and how will they supposed to use concrete feature.
Read article

Merge SQL databases

May 27 , 2016

Imagine you have 2 databases with identical schema. These databases were working for different application instances for some time. And now you need to merge them together for some reason.

You can use different tools to achieve this goal. For example dbForge Data Compare or SQL Data Compare. But these tools cost money and if you don't merge databases every day this is probably not an option for you. Also these tools does not know full specific of your database structure including unique indexes, check constraints and triggers.

Another big deal is identity columns that are using as primary keys. For two databases these keys can be same but represent different entities. 

In my practice I face database merge task second time and here is how I handle it.

Read article

How to keep your production config secured on public GitHub repo

February 14 , 2016

GitHub is a great place to store your projects. However, free plan allows you to have only public repositories. That means all your source codes will be available for everyone to see. This is not bad. This is great actually to share knowledge among developers. But what you don't want for sure is to share configuration settings from your production server like database connection string or email address credentials. 

There is a way how to secure all sensitive data in your config file in a way when only you and your production server can read values from it.

Read article

RabbitMQ poisoned messages handling

February 9 , 2016

You never know what will come from remote system. Even if you keep everything under control, there always can be something unexpected. In microservice architecture each component must be ready for everything.
When your software architecture involves message queue broker (like RabbitMQ) the interaction between your micro services looks like follows:

The problem is that if message consumer is not able to handle message, the message will be returned to queue broker and then will be delivered to the message consumer once again for the second attempt.

Read article