InfoQ Homepage Development Content on InfoQ
-
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.
-
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.
-
To Multicluster, or Not to Multicluster: Inter-Cluster Communication Using a Service Mesh
Communication within Kubernetes clusters is a solved issue, but communication across clusters requires more design and operational overhead. Before deciding on whether to implement multicluster support, you should understand your communication use case.
-
Key Takeaway Points and Lessons Learned from QCon London 2019
QCon returned to London this past March for its thirteenth year in the city, attracting 1,500 senior developers, architects, and team leads.
-
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.
-
Linkerd v2: How Lessons from Production Adoption Resulted in a Rewrite of the Service Mesh
Linkerd 2.0 introduced a substantial rewrite of the widely adopted service mesh, using a split between Go and Rust. In this article, we discuss the lessons learned in the "cauldron of production adoption", and how those lessons became the basis of Linkerd 2.x’s philosophy, design, and implementation.
-
How Expedia Is Getting Rid of Java Bean Transformers
Expedia created and released BULL, an open-source Java Bean transformer library that can automatically transform all kinds of beans, including immutable and mixed beans, not just the traditional mutable case.
-
The Impact and Ethics of Conversational Artificial Intelligence
Improvements in natural language understanding and our changing relationship means we can use chatbots in ways we couldn’t before - both to augment human conversation and support, or indeed, to replace it. Those working in the software industry must understand and take responsibility for how we use Conversational AI and our users' data.