<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>software engineering on Moritz Halbritter's personal blog</title><link>https://www.mkammerer.de/tags/software-engineering/</link><description>Recent content in software engineering on Moritz Halbritter's personal blog</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><lastBuildDate>Wed, 19 Feb 2020 08:50:41 +0100</lastBuildDate><atom:link href="https://www.mkammerer.de/tags/software-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Break your builds with the SonarQube build breaker</title><link>https://www.mkammerer.de/blog/break-your-builds-with-the-sonarqube-build-breaker/</link><pubDate>Wed, 19 Feb 2020 08:50:41 +0100</pubDate><guid>https://www.mkammerer.de/blog/break-your-builds-with-the-sonarqube-build-breaker/</guid><description>As you may know, I work for QAware, and in one of my projects we had the requirement to break the build if the SonarQube quality gate turns red.
As the SonarQube guys removed that feature from their Maven plugin, I decided to write a new plugin which does exactly that. You can read the full story on the QAware blog.
We decided to make this Maven plugin open source, and you can find it here.</description></item><item><title>Things I wish I had known before using MSSQL in production</title><link>https://www.mkammerer.de/blog/things-i-wish-i-had-known-before-using-mssql-in-production/</link><pubDate>Mon, 11 Feb 2019 21:35:58 +0100</pubDate><guid>https://www.mkammerer.de/blog/things-i-wish-i-had-known-before-using-mssql-in-production/</guid><description>The project I&amp;rsquo;m currently working on at work uses a MSSQL database in production. Since then I have learned a lot of things, which I want to summarize here.
First: Name every unique constraint, foreign key or default constraint (yes, a DEFAULT clause on a column in MSSQL creates a constraint). If you don&amp;rsquo;t name your constraint, MSSQL will auto-generate a name for it, and this generated name is not deterministic.</description></item><item><title>Visualizing the dependencies between Maven modules</title><link>https://www.mkammerer.de/blog/visualizing-the-dependencies-between-maven-modules/</link><pubDate>Sat, 31 Mar 2018 15:57:44 +0200</pubDate><guid>https://www.mkammerer.de/blog/visualizing-the-dependencies-between-maven-modules/</guid><description>I was looking for (and found) a way to visualize the dependencies between the Maven modules in a multi-module Maven project. In other words: draw a graph with the modules as nodes and the dependencies between them as edges.
I found this plugin. By default it also shows the 3rd party dependencies, so I had to tweak the configuration a little bit.
Running
mvn com.github.ferstl:depgraph-maven-plugin:3.0.1:aggregate -DcreateImage=true -DreduceEdges=false -Dscope=compile &amp;quot;-Dincludes=your.group.id*:*&amp;quot; will create the file dependency-graph.</description></item><item><title>Noke - Reactive Spring-Webflux and Cassandra note-taking</title><link>https://www.mkammerer.de/blog/noke-reactive-spring-webflux-and-cassandra-note-taking/</link><pubDate>Wed, 18 Oct 2017 18:37:57 +0200</pubDate><guid>https://www.mkammerer.de/blog/noke-reactive-spring-webflux-and-cassandra-note-taking/</guid><description>Hi,
maybe you are interested in a small project I hacked together this afternoon:
https://github.com/phxql/noke
It&amp;rsquo;s a note taking software, which is built with the new Spring 5 Webflux. It uses the Spring Data reactive Cassandra repository, so it&amp;rsquo;s possible to run the whole application non-blocking.
I wrote it primarly to learn the Spring Webflux and Project Reactor (the Mono and Flux you see all over the code). It&amp;rsquo;s pretty cool!</description></item><item><title>Git Feature Branching With Jenkins and SonarQube</title><link>https://www.mkammerer.de/blog/git-feature-branching-with-jenkins-and-sonarqube/</link><pubDate>Thu, 14 May 2015 11:34:37 +0200</pubDate><guid>https://www.mkammerer.de/blog/git-feature-branching-with-jenkins-and-sonarqube/</guid><description>In this article I&amp;rsquo;m going to explain how to work with git feature branches and get CI with Jenkins and source code metrics with SonarQube.
First, open your Jenkins Update center and install the Multi-Branch Project Plugin, the SonarQube Plugin and the Git plugin.
Now create a new job, choose the &amp;ldquo;Freestyle multi-branch project&amp;rdquo; type. The setting &amp;ldquo;Sync Branches Schedule&amp;rdquo; determines how often the plugin should look for added/removed feature branches.</description></item><item><title>Introducing RESTwars</title><link>https://www.mkammerer.de/blog/introducing-restwars/</link><pubDate>Wed, 18 Feb 2015 18:45:00 +0100</pubDate><guid>https://www.mkammerer.de/blog/introducing-restwars/</guid><description>In this post, i&amp;rsquo;m going to introduce my hobby project, RESTwars to you. RESTwars is a multiplayer game like the good old browser games, but with a twist: instead of preventing bots from the game, it encourages bots to play the game. RESTwars itself has no GUI, it is playable, as the name suggests, via a REST interface.
The game is set in a sci-fi universe with planets, ships and stuff.</description></item></channel></rss>