InfoQ Homepage Programming Content on InfoQ
-
Continuous Delivery Coding Patterns: Latent-to-Live Code & Forward Compatible Interim Versions
This article describes two novel practices for continuous delivery: Latent-to-live code pattern and Forward compatible interim versions. You can use these practices to simultaneously increase speed and reliability of software development and reduce risks. These practices are built on top of two other essential continuous delivery practices: trunk-based-development and feature toggles.
-
Using Templates to Transform Web Service Results into Markup
The HTTP-RPC open-source Java framework returns results in JSON by default, but can use the CTemplate system to respond with custom markup. In this article, Greg Brown shows how simple annotations can be used to automatically respond to a web service in any markup (HTML, XML, CSV, etc.).
-
Chris Fregly on the PANCAKE STACK Workshop and Data Pipelines
InfoQ Interviews Chris Fregly, organizer for the 4000+ member Advanced Spark and TensorFlow Meetup about the PANCAKE STACK workshop, Spark and building data pipelines for a machine learning pipeline
-
Getting Started with ASP.Net Performance Monitoring and Optimization
“This web page is slow” is a common and regular complaint about web sites, especially since web applications started replacing desktop applications. While the web brings some desirable characteristics such as global delivery, it also brings its share of challenges at the performance level.
-
Q&A with Diomidis Spinellis on Effective Debugging
The book Effective Debugging by Diomidis Spinellis describes 66 different approaches for effective debugging of applications and systems. It provides methods, strategies, techniques, and tools for finding and removing faults, and gives examples for using them in different settings.
-
Creating RESTful Services with T4 Based on Model and Interfaces
When generating RESTful services with WebAPI, a lot of boilerplate code has to be implemented. Amel Musić demonstrates how T4 and EnvDTE can be used to create a flexible code generator that dramatically reduces the amount of time and effort this takes.
-
JUnit 5 - An Early Test Drive - Part 2
JUnit, Java's most ubiquitous testing framework, is getting an update. In part one of our JUnit 5 coverage, we looked at how we got here and wrote some preliminary tests. In part two, we take a closer look at how to run tests and at some of the very cool new features JUnit 5 brings to the table for us developers.
-
Starcounter vs. ORM and DDD
The so-called “object-relation impedance mismatch” has long been discussed in engineering circles. Most attempts at a solution rely try to mask the issue by pulling logic into the application tier. Kostiantyn Cherniavskyi looks at these issues and shows how many of them can be solved with hybrid databases such as Starcounter.
-
F# in Numbers: A Look at the Annual F# Survey Results
In April, for the second time, fsharpWorks organized the F# community survey. Over 600 developers completed the survey in 2016 (which is 15% more than in 2015). The survey provides an insight into the brains of the F# community. In this article, I'll summarize some of the results.
-
Iterative Prototyping in the Mobile App Development Process
Mobile app development adopted an iterative, rapid development process and prototypes have a role to play in this agile approach, enabling developers to build, test, iterate, re-test and re-build rapidly and at lower cost (not to mention allowing all stakeholders in the process early on). This article guides through the essential steps of mobile app prototyping.
-
Working with Multiple Databases in Spring
Accessing multiple databases in enterprise applications can be a challenge. With Spring it is easy enough to define a common data source, but once we introduce multiple data sources things get tricky. This article demos a technique for accessing multiple databases in Spring Boot applications easily and with minimum configuration.
-
How to Deal with COTS Products in a DevOps World
Mirco Hering explains why we shouldn't leave COTS products (and the people working on them) left behind in a DevOps world. With creative solutions we can apply good practices from custom software. This leads to a significant effort reduction in the long term.