Since multicore processors have spread more and more, the focus on concurrent programming has also greatly increased. And not only since the Concurrency API in Java or the Reactive Streams libraries, Java offers the possibility of concurrent programming.
While the microservice architecture style has many advantages, it makes some common QA practices impractical: there is no big release that can be extensively tested before it goes into production; not a single big log where you can find the cause of a bug, not a solid team to which you can assign a bug.
Dependency management is simultaneously a curse and a blessing: on the one hand, it allows us to quickly develop new features through the use of libraries. On the other hand, managing dependencies and resolving conflicts over time can be a nightmare.
With the introduction of In-Memory OLTP technology, Microsoft has already come up with an answer to massively parallel OLTP workload in times of increasing digitization with SQL Server 2014! This session is based on experience and know-how from numerous trainings, workshops and project support on the subject.
Many current IT components (Docker, Kubernetes, Prometheus) have been implemented in the Go language. In this talk we will use examples to illustrate different patterns in the development of web applications in Go. The goal is to get all the knowledge necessary to create a web service in Go yourself.
By shortening the release cycle of Java and the JDK to only six months now, two major releases are released each year. This made it hard to keep track of all the new features, discussions, and ideas. The focus of this previous day is therefore the developments and innovations of the last year, so Java 11 and 12. In addition, the planning for Java 13 and other relevant topics and discussions are presented around the JDK.
Agile software development thrives on change. “Hot requests changes welcome late in development,” says the agile manifesto.
In the first sprints, design and implementation confessions are often made to achieve a minimal viable product that needs to be improved later. In addition, requests can be added or changed between the sprints. This should not be seen as a problem, but as a potential competitive advantage.
The presentation introduces the principles, practices, and patterns of Domain Driven Design. Finally, it becomes clear that there is no doubt about the meaningfulness of this approach.
No matter what kind of software is developed, nothing is as important as ensuring that it works as expected. In times of microservices, containers, clusters, build pipelines and DevOps, as much as possible should be automated in order to concentrate on the essentials: the software product! This talk will show how to create fully automated, controllable, and reproducible build, test, and deploy life-cycle lifecycles using a handful of open source tools, with a focus on the challenges of integration testing in container environments.
Scrum is a lightweight, agile approach to project management that promotes rapid and effective software development. In doing so, Scrum follows a step-by-step approach and focuses on adding value, team responsibility and the close involvement of customers. Scrum is widely used in the IT industry, but any other project could benefit from its principles. Agile ways of thinking and working are moving into many teams and organizations.