InfoQ Homepage Programming Content on InfoQ
-
IBM's Swift on the Server
Since Swift's open-source release, IBM has been working on the project and providing libdispatch on Linux, as well as providing a Swift web-based runtime and a managed catalog of Swift projects. InfoQ spoke to Chris Bailey and Patrick Bohrer, who presented at QCon London 2016, and asked them where they see Swift going in the future.
-
0 Bugs Policy
Gal Zellermayer describes the 0 bugs policy, a process for handling bugs that is based upon 1 rule: whenever you encounter a new bug, you should either fix that bug, or close it as "won't fix" and don't think about it again.
-
C#/Web API Code Generation Patterns for the RAML User
In this article, Jonathan Allen outlines the design patterns that users of REST specification languages such as RAML, Swagger, and API Blueprint should adhere to when generating code for C# and ASP.NET Web API. This includes topics such as model validation, async support, and request cancellation.
-
Enterprise Mobility is Going Beyond “Mobile First” Approach. Are You Ready?
The mobile revolution is changing the way organizations work and manage their operations, as well as engage with their employees. As a result, organizations are reconsidering their technologies and techniques to make their traditional organizational cultures and roles more mobile friendly, making ‘mobile first’ a must have strategy.
-
Full Stack Testing: Balancing Unit and End-to-End Tests
Full-stack testing can be a widespread and involved task. There are unit tests and end-to-end tests, but how do you know where to focus your efforts? In this article, David Copeland looks at the kinds of tests and how to balance the interplay between those tests and the overall software development effort.
-
High Load Trading Transaction Processing with Reveno CQRS/Event Sourcing Framework
Reveno is a powerful new, easy to use, highly performant, JVM based lock-free transaction processing framework based on CQRS and event-sourcing patterns. In this article we will develop a simple trading system implementation using the Reveno framework.
-
Invokedynamic - Java’s Secret Weapon
invokedynamic was the first new Java bytecode since Java 1.0 and was crucial in implementing the "headline" features of Java 8 (such as lambdas and default methods). In this article, we take a deep dive into invokedynamic and explain why it is such a powerful tool for the Java platform and for JVM languages such as JRuby and Nashorn.
-
Microservices Evolution at SoundCloud
At the MicroXchg conference in Berlin, Bora Tunca from SoundCloud presented the evolution of SoundCloud’s microservices architecture throughout the years. We had the opportunity to interview him and learn more about SoundCloud’s architecture evolution and microservices in general.
-
Beyond Page Objects: Next Generation Test Automation with Serenity and the Screenplay Pattern
Automated acceptance testing reduces time wasted in manual testing and bug fixing, and when combined with Behaviour-Driven Development, can guide development effort. But it requires skill, practice and discipline. The Screenplay Pattern helps teams address these difficulties and is where you may end up by mercilessly refactoring Page Objects using SOLID design principles.
-
Will WebSocket survive HTTP/2?
HTTP/2 is poised to eliminate much of the waste that developers deal with. Multiplexed connections will eliminate the need to bundle JavaScript libraries together. But is HTTP/2 a panacea to all our problems? What about WebSocket? Allan Denis tells us what HTTP/2 is good at and debunks some myths about what it can do.
-
One API, Many Facades?
An interesting trend is emerging in the world of Web APIs, with various engineers and companies advocating for dedicated APIs for each consumer with particular needs. Beyond any ideal design of your API, reality strikes back with the concrete and differing concerns of varied API consumers. You might need to optimize your API accordingly.