Qafoo GmbH - passion for software quality

Help you and your team benefit from new perspectives on cutting-edge quality engineering techniques and tools through the Qafoo team weblog.

Software Architecture

  • Methods Of Teaching

    by Kore Nordmann on Wed, 28 Jun 2017 07:26:46 +0200

    There are many different ways to teach topics of software developments. From recorded lectures to pair programming. Over the time we tried many of them with different customers and different topics. I want to provide you with an overview of what worked best for us for which topic.

    Read more on Methods Of Teaching…
  • Scaling Constraints of Languages

    by Kore Nordmann on Tue, 02 Aug 2016 07:45:07 +0200

    Micro-Services or any set of small services are common again right now. While it can make a lot of sense to use a dedicated service for a well defined problem those services are sometimes used just to play with a different server software. While it is pretty obvious for most that selecting the right database is important the same is true for selecting the right language (virtual machine) for the job.There are different types of services or server applications where different types of virtual machines (executing the opcodes / bytecode of the compiled source code) make more or less sense. What are the criteria we should base such a decision on and which language should we choose when?

    Read more on Scaling Constraints of Languages…
  • How To Synchronize a Database With ElasticSearch?

    by Kore Nordmann on Sat, 10 Sep 2016 10:35:21 +0200

    Since search engines like Apache Solr and ElasticSearch are easy to use and setup more and more applications are using them to index their content and make it searchable by the user. After all the underlying Lucene index engine provides far more powerful features then a plain MySQL full text search or similar solutions. With Apache Solr and ElasticSearch you can enhance the performance and the functionality of your website. What we often stumble across, though, is the naiive approach of synchronizing both data storages which tends to fail in multiple ways. Let me show how you can fix this.

    Read more on How To Synchronize a Database With ElasticSearch?…
  • How To Refactor Without Breaking Things

    by Tobias Schlitt on Wed, 01 Jun 2016 12:46:18 +0200

    Refactoring means to change the structure of your code without changing its behavior. Refactoring is an essential part of everyday programming and should become knee-jerk for your whole development team. It is very helpful to cleanup feature spikes, revise earlier decisions and keep a maintainable code base in the long run. In a perfect project world - with extensive automated tests of various types - this is just a matter of getting used to. But there are only very few such projects, so getting into proper refactoring is much harder. This article will show you important tips to master this challenge with your team.

    Read more on How To Refactor Without Breaking Things…
  • Why Architecture Matters

    by Kore Nordmann on Tue, 22 Mar 2016 09:35:38 +0100

    We experience that the system architectures of our customers grow more and more complex. This is either because of scaling requirements or because developers like to try out new technologies like implementing Microservices. What are the challenges with this and how can we overcome them?

    Read more on Why Architecture Matters…
1