Storytelling with tests #2: setting up the stage
The Roman theatre in Bosra by Alessandra Kocman This is the second part of the post series dedicated to quality of automated tests. In the previous part I wrote about test names and granularity. Today I am going to focus on test data setup, its readability and how it is related with the evolution of … Continue reading "Storytelling with tests #2: setting up the stage"
Read MoreBash Tips #6 – Embedding Files in a Single Bash Script
Scripts that utilize multiple files are not easy to distribute. We usually distribute those as archives and rely on the end user to unpack and run them from a predetermined location. To improve the experience we can instead prepare a single script with other files embedded inside it. Here are the goals: The first requirement … Continue reading "Bash Tips #6 – Embedding Files in a Single Bash Script"
Read MoreBash Tips #5 – Parallelism using xargs
Running things in parallel in bash scripts may seem like a difficult task, but thanks to great utility programs that are available out-of-the-box on most GNU/Linux distributions it is not. In this brief article, I would like to focus on using xargs to run operations in parallel in a convenient manner. This is an approach … Continue reading "Bash Tips #5 – Parallelism using xargs"
Read MoreBash Tips #4 – Error Handling in Bash Scripts
There is no single way to handle unexpected behavior in our bash scripts. By default, bash simply ignores any failed calls and proceeds with the execution. Therefore we have to explicitly implement behavior that would help us handle such events. I would like to present a few simple techniques that can be used in these … Continue reading "Bash Tips #4 – Error Handling in Bash Scripts"
Read MoreBash Tips #3 – Templating in Bash Scripts
Software deployment systems such as Ansible or Puppet come with a templating engine to help us create and manage configuration files. Such functionality can be also achieved using bash. It might not be as easy to use or feature-rich, but it is a mechanism that can be useful when you cannot or choose not to … Continue reading "Bash Tips #3 – Templating in Bash Scripts"
Read MoreBash Tips #2 – Splitting Shell Scripts to Improve Readability
Codebase grows over time and so do shell scripts. Those usually start small and serve a single purpose, but new features get added, unforeseen situations are handled, and suddenly shell scripts have hundreds of lines, losing readability in the process. From what I have observed when collaborating with other developers, it is in our nature to … Continue reading "Bash Tips #2 – Splitting Shell Scripts to Improve Readability"
Read MoreGoing native: enabling Specification Argument Resolver for GraalVM
In one of the previous articles, we described the GraalVM native image technology. The main motivation of the previous article was our willingness to evaluate technology in context of usage in our apps in the future. However, there is one additional motivation which stands behind our interest in this topic, the open source project maintained … Continue reading "Going native: enabling Specification Argument Resolver for GraalVM"
Read MoreSuper-fast Java with Spring Boot Native
Above the horizon of the Java ecosystem, a new star called “GraalVM” has started to shine. Are you tired of slow startups of your Java microservices, i.e. the time from starting the process to the service readiness seems to be too long? You have come to the right place. We decided to evaluate GraalVM by … Continue reading "Super-fast Java with Spring Boot Native"
Read MoreBash Tips #1 – Logging in Shell Scripts
A visual indication of steps performed by a shell script not only improves the experience of the user of the script, but a well detailed log helps to debug any problems that could occur and to confirm that the script performed the operations correctly. Introducing a proper logging to shell scripts can help with that. … Continue reading "Bash Tips #1 – Logging in Shell Scripts"
Read MoreOpen-source for the win! Benefits of contributing to OSS
At Tratif we believe that contributing to open-source software has very positive effect on organizations and individual developers. We rely on open-source software in almost every project that we have delivered. This is the foundation of our approach: open and proven solutions of highest quality and the fastest approach to fixing issues, supported by the … Continue reading "Open-source for the win! Benefits of contributing to OSS"
Read More