Best Practices for Creating Knockout Components

With the release of version 3.2.0, knockout introduced Components, which are a clean and powerful way of organizing and structuring code. We have increasingly used components in our projects since then and enhanced our understanding about what is a good component and what is not. In this blog post, I will present our best practices for creating components. Components - general principles The idea…

Checklists for improving the development process, part three: adaptations of the checklist for creating pull requests

In my last two blog posts about checklists I have presented some checklists for handling pull requests and described their effect and the team's reaction. I have also stated that checklists continuously need to be altered and adapted in order to be truly helpful. In this blog post I am going to explain which changes I have made to the checklist for creating a pull requests and what were the…

How to use knockout-bindings to set style of DOM-element

Knockout.js is a very powerful MVVM framework to do some web-application. I want to explain a trick how you can bind a style of DOM-element in runtime. The simplest way to use a css-binding is: <label data-bind="css: 'red'"> so your label will be defined by class ‘red’: <label class="red"> Another way goes through the binding parameter 'attr'. You can set all attributes of DOM-element…

Checklists for improving the development process, part two: effects and reactions

A couple of weeks ago I wrote a blog post about checklists and how I created several checklists of my own to improve the way we handle pull requests. Today I'd like to share the results of the first weeks' trial period: which effects did the checklist have on the development process and how does the team feel about them. Here are the two checklists again as I originally drafted them: Effects on…

Kurierdienst DHL Kurier Extension für Magento

Mit dieser Extension erhalten Ihre Kunden genau zum gewünschten Zeitpunkt die bestellte Ware! Durch den neue Service von DHL Paket DHL Kurier können Sie mit diesem Magento Modul Ihren Kunden eine ungeahnte Vielfalt an Einstellmöglichkeiten bieten. Das DHL Kurier Plugin wurde speziell für Magento entwickelt und angepasst. Besonders die intelligente Auswahl der möglichen Versandarten macht diese…

nginx gegen LogJam absichern

Sicherheit und Absicherung von Servern ist wie ein eisernes Vorhängeschloss - wenn man es nicht pflegt und prüft, rostet es und wird immer weniger sicher. Wir sind uns unserer Verantwortung sehr bewusst, dass Sie uns Ihre Daten anvertrauen. Daher sind wir immer daran interessiert unsere Server gegen gängige und neueste Attacken zu messen. Heute ist die sogenannte LogJam Sicherheitslücke bekannt…

MTM vs. Selenium – How to run tests in parallel?

MTM: You need to set up an environment including multiple machines in the same role. The test controller organizes the tests in buckets of 10 or 100 tests (linked to how much tests you have in your test run) and sends bucket for bucket to its agents/machines. Selenium: When you change the parameter in your Test Settings, then the tests will be executed in parallel. But the hub isn't able to…

MTM vs. Selenium – Is it possible to run automated tests on Android and iOS devices?

We already have our Test environment set up with Selenium. But we also use VSO (Visual Studio Online), which means that it could be better to change or to additionally use MS Testmanager (MTM) to organize and execute manual and automated tests. I wrote down some questions and started to analyse if any of the nice features would be lost by changeing from Selenium to MTM. During my research I…

Command Query Responsibility Segregation (CQRS)

Command Query Responsibility Segregation (CQRS) is an architectural design pattern whose origins are attributed to Greg Young. It is based on Bertrand Meyer’s Command and Query Separation Principle (CQS), according to which a method should either be a command that performs an action, or a query that returns data, but never both at the same time. CQRS - what it is Following this train of thought,…

Checklists for improving the development process

The idea Having recently been entrusted with the task of reviewing the team's pull requests, I realized that many things can go wrong in the process of merging branches into master if it is not handled with care. For example, it happens from time to time that changes are accidentally overwritten because someone edited an automatically generated file and forgot to forward the changes to the…