InfoQ Homepage Development Content on InfoQ
-
The 2018 InfoQ Editors’ Recommended Reading List: Part One
As part of our core values of sharing knowledge, the InfoQ editor team has listed and commented on their most recent recommended reading.
-
Ethics, a Psychological Perspective
With emerging technologies like machine learning, developers can now achieve much more than ever before. But this new power has a downside. Only recently, Facebook’s chief executive apologised in front of the European Parliament for not taking enough responsibility for fake news, foreign interference in elections and developers misusing people’s information.
-
JShell: A Comprehensive Guide to the Java REPL
JShell provides an interactive shell for quickly prototyping, debugging, and learning Java and Java APIs. In this article, we’ll take a comprehensive look at JShell, understanding all its commands, its uses, and how to use it most effectively.
-
The DDD Do-Over
Jimmy Bogard had a rare opportunity to do what many developers want after finishing a tough project -- a do-over. His team worked on two very similar projects, both using DDD. He discusses the lessons learned from the first project and how the team avoided common pitfalls and was more successful on their later project.
-
Chaos Conf Q&A: The Benefits, Challenges and Practices of Chaos Engineering
This Q&A, from the upcoming Chaos Conf event that is running in San Francisco in September, examines the benefits and challenges of chaos engineering. The article also provides emerging good practice, and contains prerequisites, recommendations, and tips for getting started.
-
14 Things I Wish I’d Known When Starting with MongoDB
I’ve been a database person for an embarrassing length of time, but I only started working with MongoDB recently. When I was starting out with MongoDB, there are a few things that I wish I’d known about. With general experience, there will always be preconceptions of what databases are and what they do. In hopes of making it easier for other people, here is a list of common mistakes.
-
How the TOGAF Standard Serves Enterprise Architecture
Any architect working with large enterprise systems has probably looked for guidance on how to manage the complexity and communicate with various stakeholders. This introductory overview of the TOGAF standard explains the structure of the framework, as well as discusses the benefits of using enterprise architecture to manage complex systems.
-
Democratizing Stream Processing with Apache Kafka® and KSQL - Part 2
In this article, author Robin Moffatt shows how to use Apache Kafka and KSQL to build data integration and processing applications with the help of an e-commerce sample application. Three use cases discussed: customer operations, operational dashboard, and ad-hoc analytics.
-
Async Streams in C# 8
Asynchronous programming is an important technique for many modern apps to improve responsiveness. C# 8 debuts Async Streams, which allows an async method return multiple values. Bassam Alugili provides an informative introduction to this new technique.
-
Adopting Continuous Delivery at teamplay, Siemens Healthineers
Continuous Delivery is about working in a way that keeps the system in a releasable state throughout its development. This article describes how a large software development organization at Siemens Healthineers started the transformation towards Continuous Delivery. It describes the strategy and tactics used to gradually and safely change the development process in a regulated medical domain.
-
Refactoring to a Deeper Model
Paul Rayner uses a case study to demonstrate how refactoring your code can lead to a deeper understanding of your domain model. Through common code refactorings, combined with the implementation of patterns, the codebase became more cohesive and easier to reason about, reducing the time to perform some common tasks from weeks or months to just hours.
-
The Best CLI Is the One You Don’t Have to Install
We tend to install a lot of CLI’s, and they can be tricky to configure. The Azure Cloud Shell is a browser-based CLI with zero commitments or configuration on your part.