Saturday, November 5, 2011

Digging into the Git domain

Most of the time when you use Git it's enough to have a raw domain in the mind.

Branch, checkout, create branch, commit, push -- operations which can be easily learned and applied in everyday life.

But sometimes it's necessary to dig into details.

Last few days I was working on Git plugin development for our Target Process product, and now it's obvious that my knowledge was not so good to handle NGit API (the port of JGit).

First it's necessary to understand the Git domain.

I started with deep revising of Git manual to sort out all entities which Git operates with.

Here is my first domain diagram :)

By looking at this diagram it's quite easily to understand how root entities related to each other.

Tuesday, October 11, 2011

distributed architectures - importance of self-diagnosis and self-fixing

While implementing my first ESB architecture we've faced many environment configuration issues which was spotted by our customer support team.

Now I think that every environment-sensible application should meet several conditions:

1. It should be self-diagnostic. It means that in case if an application failed to start it is necessary to provide the full list of causes to user -- via log or other ways.
2. Application should be able to fix all misconfiguration cases.

We'll start to implement it here, then I'll post the results :)

Location:vulica Šaranhoviča,Minsk,Belarus

Wednesday, February 23, 2011

Software Craftsmanship Belarus

Yesterday attended a small meeting regarding MongoDB.



http://www.linkedin.com/groupItem?view=&gid=3180862&type=member&item=43449653&qid=f86f59c7-e576-47ea-b91d-d991b5a24e56&goback=%2Egmp_3180862


During coffebreak I had a small conversation with the organizer -- Aliaksei Kliuchnikau

We touched some BDD-related questions like problems and possible solutions -- here at Target Process Inc. we acquired rich experience regarding BDD.

By the end we agreed that it would be interesting if I conducted the next presentation. The topic will be about Enterprise Service Bus architecture and it's NServiceBus implementation.

Let's see... 15th of March -- that's the date! :)

Tuesday, February 15, 2011

Unit Tests: Antipatterns presentation

It was a while since I did my presentations - 4 months already.

But today I starting preparations for the next one -- "Unit Testing -- antipatterns and patterns".

It seems that we need to cover not only unit tests themselves, but acceptance UI tests as well (Page Object pattern rules!)

NServiceBus acceptance tests

Yesterday I was fighting with Selenium WebDriver and NServiceBus.

The idea is to test our plugin system (which is written with using of NServiceBus) via Selenium WebDriver.

There are about 2500 functional tests already written with using of just Selenium, and it would be nice to keep them running, so we need to use WebDriverBackedSelenium

For now I stopped on trying to revise possibilities emulate old Selenium API.

Thursday, January 27, 2011

BDD programming should be more intuitive than now

For one and half a year I am using NBehave project for executing BDD scenarios.

At the beginning here at Target Process we considered BDD scenarios executing as just plain text files because of lack of integration with NUnit (is used in our CI process) and hard-t0-debug from Visual Studio problem which is essential for BDD development.

Finally we came to idea how to integrate BDD written in plain text into common NUnit

OOP 2011

Thanks to my current company - TargetProcess - I had chance to attend this conference.

It's 1 and half a day left, but I've got a couple of notes regarding this conference.

There is a few bright people here (Martin Fowler, Erich Gamma, and a couple more persons) who worth to attend.

But the main crowd does not pretend to be interesting. Sometimes I feel that they are just wasting my time.

May be my demands are too high?

Of course, there are some new terms, names, and ideas that were acquired here.