InfoQ Homepage Programming Content on InfoQ
-
Test-Driven Development: Really, It’s a Design Technique
Using a step-by-step example in Java, this article provides a practical example of how to use test-driven development (TDD) to divide, test, and conquer larger problems when coding.
-
Open Source Robotics: Getting Started with Gazebo and ROS 2
An introduction to Gazebo, a powerful robot simulator that calculates physics, generates sensor data and provides convenient interfaces, and ROS 2, the latest version of the Robot Operating System, which offers familiar tools and capabilities, while expanding to new use cases. Both are open source and used by academia and industry alike.
-
API Gateways and Service Meshes: Opening the Door to Application Modernisation
Modernising applications by decoupling them from the underlying infrastructure on which they are running can enable innovation, reduce costs, and improve security. An API Gateway can decouple applications from external consumers, and a service mesh decouples applications from internal consumers.
-
The Data Science Mindset: Six Principles to Build Healthy Data-Driven Organizations
In this article, business and technical leaders will learn methods to assess whether their organization is data-driven and benchmark its data science maturity. They will learn how to use the Healthy Data Science Organization Framework to nurture a data science mindset within the organization.
-
Using TypeScript with the MySQL Database
TypeScript has emerged as a powerful environment for authoring web applications, providing significant improvements over standard JavaScript while remaining consistent with the language. In this article we'll explore in depth the details necessary to use TypeScript with Node.js, MySQL, and TypeORM to create a powerful solution for managing database access with server-side TypeScript.
-
Service Virtualization Meets Java: Hoverfly Tutorial
Service virtualization is a technique used to simulate the behavior of dependencies of service during automated testing. This article explores this topic, and includes a tutorial using Hoverfly Java.
-
The Many Flavors of “Low-Code”
While the low-code hype often tells how "citizen developers" can create enterprise applications without the need to code, these platforms can serve an important role for professional developers.
-
Robust Engineering: User Interfaces You Can Trust with State Machines
Industrial-strength modelling techniques used in safety-critical domains can be leveraged for the specification and implementation of user interfaces. This article explains how state machine modelling may lead to robust, testable and maintainable user interfaces.
-
Bots Are Coming! Approaches for Testing Conversational Interfaces
Voice-based computing interfaces need testing with an adapted approached, suited for their specificity and context. Some things need to be adapted (test strategy, testing approach, validation criteria), while others can be re-used (e.g. API testing approaches and tools), and some require learning new things (e.g. testing artificial intelligence models and components).
-
Kotlin Multiplatform for iOS Developers
Leveraging the similarities between Swift and Kotlin, Kotlin Multiplatform makes it easy to create cross-platform components that you can reuse across iOS and Android projects. This article will lead you through all the steps required to set up Android Studio to build a framework you can import into Xcode.
-
Upgrading from Java 8 to Java 12
Why upgrade to Java 12? Lots of things have changed since Java 8: licensing, updates and support. On top of that, there are new language features. Now that major libraries, frameworks and build tools have adopted the latest versions of Java, it is a good time to migrate your application to Java 12.
-
Q&A on the Book Why Do So Many Incompetent Men Become Leaders?
In the book Why Do So Many Incompetent Men Become Leaders?, Tomas Chamorro-Premuzic explains why it is so easy for incompetent men to become leaders and so hard for competent people - especially women - to advance. He explores leadership qualities and dives into how to recognize them, paving the way to improve leadership in organizations.