Why are engineering values important?

Everything else will grow from values and behaviour Wikipedia writes „… Values can be defined as broad preferences concerning appropriate courses of action or outcomes. As such, values reflect a person’s sense of right and wrong or what „ought“ to be… Values tend to influence attitudes and behavior [value].“ And culture comes from these shared …

How to specify Java Source and Target Compatibility in a Gradle multi project

I have a multiple project setup and I want to build top level projects using different JDKs. I did some experiments by myself and the following configuration worked for me (using gradle 3.1 and the wrapper function). At the root level my gradle.properties file looks like this: [code] org.gradle.daemon=true JDK7_HOME=/usr/lib/jvm/jdk-7-oracle-x64 JDK8_HOME=/usr/lib/jvm/oracle-java8-jdk-amd64 [/code] Default JDK should be JDK 7. …

Analyze application performance with CDI Interceptors

Using interceptors for analyzing performance issues Do you know statements in your code like this? [code] … long start = System.currentTimeMillis(); //some computing… long end = System.currentTimeMillis(); long duration = end – start; … [/code] Analyzing how long the execution of a method takes is a cross-cutting concern. Cross-cutting concerns like transactions, caching or measuring latencies are aspects of a …

Test JSON with a few lines of code

JSONassert helps you writing JSON unit tests You have to write a unit test and JSON is involved. Usually this will end up in a lot of lines of code. You know the situation, I bet. Here JSONassert comes into play. It allows to write JSON unit tests with just a few lines of code. For example checking an …

Are we doing microservices?

Recently, an admin asked me if we are doing microservices. I thought about it for a few moments. And what I said comes here as a checklist. It’s a really simple test with quick yes or no. Single Responsibility Principle Is your service small and focused on doing one thing well? Domain-Driven Design Is your service …

Getting Eclipse Neon running under Kubuntu (14.04 LTS)

Here I write about the pitfalls getting Eclipse Neon running Black tooltips First issue was an easy one. I fixed the behaviour as follows: System Settings > Common Appearance and Behaviour > Application Appearance > Colours > Colour > Tooltip Background > Tooltip Text Choose a different color and click apply.   Eclipse crashes opening some …

Reading YAML configurations in Java

How can I use YAML for my Java application? YAML is human-readable and a cool datat interchange format. It’s lean appearance make it special e.g. for configuration files or when humans view or edit data structures. It’s well suited for hierachical data presentation and you can easily map common data structures. Jackson and SnakeYaml Here I …

Initializing HashMaps in Java

How can I initialize a HashMap with some pre-defined entries? In this article I’ll show you how you create a HashMap with values. Java doesn’t provide a method like Array.asList(). For initializing a map you have to implement something like that: [code] //Old fashion way Map<Integer, String> oldFashion = new HashMap<Integer, String>() {{ put(1, "one"); put(2, "two"); }}; …

Stability Patterns: Use Timeouts

„A resilient system keeps processing transactions, even when there are transient impulses, persistent stresses, or component failure disrupting normal processing.“ This is Michael Nygards definition of stability. In his book „Release it!“ he describes design and architectures patterns, which stop cracks from propagating and preserve at least partial functionality instead of total crashes. So, what are …

Release It!

Design and Deploy Production-Ready Software Michael Nygard erzählt wirklich spannende Geschichten, die sich wie ein Krimi lesen lassen. Er gibt Tipps, was man alles beachten muss, wenn man Software in Produktion bringen möchte. Das Buch fängt mit dem Thema Stabilität an, dann kommt Kapazität, gefolgt von allgemeinen Design Richtlinien und Operation, also Dingen die beim Betrieb …

Consent Management Platform von Real Cookie Banner