InfoQ Homepage Development Content on InfoQ
-
Key Abstractions for IoT-Oriented Software Engineering
This article provides an overview of the key general characteristics of complex IoT systems and applications. Based on them, the author identifies the software abstractions that could provide the basis for IoT-oriented software engineering, including stakeholders and users, requirements, avatars, and coalitions.
-
Benchmarks Don't Have to Die
Are tracing and profiling the future of performance engineering outside of the fast-moving JavaScript community? Do all benchmarks have a shelf-life? In this article, Matt Fleming talks about benchmarks and what keeps the good ones alive and why others die. By adapting benchmarks, they can live forever.
-
A Roadmap to the Programmable World
The emergence of millions of remotely programmable devices in our surroundings will pose significant challenges for software developers. This article proposes a roadmap from today’s cloud-centric, data-centric Internet of Things systems to the Programmable World highlights those challenges that haven’t received enough attention yet.
-
Are Unit Tests Part of Your Team’s Performance Reviews?
No matter how often you conduct performance reviews, there is no doubt unit testing should be one of the metrics measured. Eli Lopian explains what makes a good unit test and how to measure them to ensure your development team is truly agile.
-
Machine Learning Techniques for Predictive Maintenance
In this article, the authors explore how we can build a machine learning model to do predictive maintenance of systems. They discuss a sample application using NASA engine failure dataset to predict the Remaining Useful Time (RUL) with regression models.
-
Under The Hood with the JVM's Automatic Resource Management
The deprecation of Object::finalize is an unusual step for the Java ecosystem. We dive deep into the Hotspot JVM to see how it works. We also compare it to RAII and the Java 7, try-with-resources syntax. The article contrasts these very different approaches to automatic resource management, and explains why TWR should be used in place of finalization by application programmers.
-
Article Series: Reactive JavaScript
Reactive programming techniques are becoming more prevalent in the constantly changing JavaScript landscape. This article series hopes to provide a snapshot of where we're at, sharing multiple techniques; variations on a theme. From new languages like Elm to the way Angular has adopted RxJS, there's something for every developer, no matter what they're working with.
-
Predicting Movie Ratings: NLP Tools is What Film Studios Need
In this article, the author discusses how to use Natural Language Processing (NLP) techniques to predict the movie ratings using the data shared on social media platforms. Sentiment analysis of movie reviews can also be used to classify movies into different genres and to improve the movie recommendation systems.
-
Q&A with Paul Daniels and Luis Atencio on RxJS in Action
RxJS In Action provides a solid introduction to RxJS and lays out what the future of reactive JavaScript programming looks like. In this Q&A session, authors Paul Daniels and Luis Atencio talk more about RxJS, where it fits into the JavaScript landscape and how it affects JavaScript developers.
-
Taking an Application-Oriented Approach to Cloud Adoption
Taking an infrastructure-centric approach to cloud adoption can lead to unrealized benefits. Architect Amit Kumar outlines eleven principles to consider when introducing cloud services into your architecture.
-
Self Contained Systems (SCS): Microservices Done Right
Everybody seems to be building microservices these days. There are many different ways to split a system into microservices, and there appears to be little agreement about what microservices actually are - except for the fact that they can be deployed independently. Self-contained Systems are one approach that has been used by a large number of projects.
-
Pascal Desmarets on NoSQL Data Modeling Best Practices
NoSQL databases are specialized to store different types of data like Key Value, Documents, Column Family, Time Series, Graph, and IoT data. Pascal Desmarets talks about how to perform data modeling in NoSQL databases compared to the modeling in Relational databases.