Communications · Foundation · Uncategorized

Scalable HTTP sockets for the cloud, Part 2

In this article we will expand on our TgoHttpClient class by adding some core new features including non-blocking http responses, unifying HTTP 1.1, HTTP/S and HTTP/2 support into a common class, incremental data transfers, various fixes and performance improvements. In a previous article we discussed the scalable client socket problem and how it creates a… Continue reading Scalable HTTP sockets for the cloud, Part 2

Foundation · Libraries · Tips & Tricks · Uncategorized

Build your own Error Reporter – Part 2: Android

In this second part on error reporting, we add support for Android. For that, we need to manually walk the call stack and configure the Delphi project to export symbols. In the previous article in this series, we shared some building blocks for implementing error reporting functionality on iOS. To recap, these blocks are: Intercepting… Continue reading Build your own Error Reporter – Part 2: Android

Foundation · Libraries · Tips & Tricks · Uncategorized

Build your own Error Reporter – Part 1: iOS

We share some building blocks for rolling your own error reporter in Delphi. From intercepting unhandled exceptions, to retrieving a stack trace to symbolicating the error report. This part focuses on iOS. In the next part, we handle Android, which does things a bit differently. We won’t cover Windows here, since there are already some… Continue reading Build your own Error Reporter – Part 1: iOS

Communications · Foundation · Uncategorized

Receiving push notifications from Apple’s Push Notification and Google’s Firebase Cloud Messaging services

In the previous article we demonstrated how to roll your own Google Firebase Cloud Messaging and Apple APNS push notifications from Delphi apps in a unified manner. This article continues the conversation about how to easily receive and consume them in your Delphi mobile app. Introduction If you are authoring a Delphi service for the… Continue reading Receiving push notifications from Apple’s Push Notification and Google’s Firebase Cloud Messaging services

Foundation · Libraries · Uncategorized

Efficient and easy-to-use JSON and BSON library

We share our efficient and easy-to-use JSON and BSON library that supports a Document Object Model (DOM), direct reading and writing in JSON and BSON format, and automatic serialization of Delphi records and classes to and from JSON and BSON. Why another JSON library? There are already quite a few JSON libraries out there, so… Continue reading Efficient and easy-to-use JSON and BSON library

Foundation · Uncategorized

Expand your Collections collection – Part 2: a generic ring buffer

We continue our tour of custom collections with a generic ring buffer. What is a ring buffer? A ring buffer (also known as a circular buffer) is a fixed-size buffer that is connected end-to-end. It is similar to a queue in that behaves like a FIFO (First-In-First-Out) buffer. But unlike a queue, it does not… Continue reading Expand your Collections collection – Part 2: a generic ring buffer

Foundation · Tips & Tricks · Uncategorized

Unit Testing Generic Types

So you created a generic class. Maybe a specialized generic collection, like a generic set. Professional as you are, you are going to need some unit tests for this class. But how do you test a class that can have so many variations depending on the type argument. You could write test cases for just… Continue reading Unit Testing Generic Types