Protocol buffers (Protobuf) are a language-agnostic data serialization format developed by Google. Protobuf is great for the following reasons:
Low data volume: Protobuf makes use of a binary format, which is more compact than other formats such as JSON. Persistence: Protobuf serialization is backward-compatible. This means that you can always restore previous data, even if the interfaces have changed in the meantime. Design by contract: Protobuf requires the specification of messages using explicit identifiers and types.
I was recently alerted because my Bioconductor package openPrimeR was failing the automated package tests.
The reason for this is that the Bioconductor team has decided to set a new environment variable when testing the packages.
For designing object-oriented software, five principles have emerged over the years. These principles are summarized by the acronym SOLID, which stands for:
S: The single-responsibility principle O: The open-closed principle L: The Liskov substitution principle I: The interface segregation principle D The dependency inversion principle In this post, I aim to give a succinct summary of the principles together with practical examples on how to apply them.