Skip to content

Instantly share code, notes, and snippets.

Christian Lück clue

Block or report user

Report or block clue

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@clue
clue / 2018-10-24 introducing-reactphp-buzz.md
Last active Nov 5, 2018
Introducing async HTTP requests with ReactPHP
View 2018-10-24 introducing-reactphp-buzz.md

Today, I'm happy to announce the v2.5.0 release of clue/reactphp-buzz 🎉

Simple, async PSR-7 HTTP client for concurrently processing any number of HTTP requests, built on top of ReactPHP.

As the version number suggests, this is not exactly a new project. In fact, this has been used in production in a larger number of projects for a few years already. So I guess it's about time to write an introductory blog post about this project, why async HTTP requests are such a powerful feature and also a bit about the motivation for this project and why I think @ReactPHP is a perfect fit for sending HTTP requests.

HTTP all the things!

I'm probably not telling you something new when I say the web is built on top of HTTP. This blog post is served over HTTP. Your YouTube videos are served over HTTP. Your downloads are served over HTTP. RESTful backend APIs are served over HTTP. GraphQL APIs are served over HTTP. SOAP APIs are served over HTTP. Yes,

@clue
clue / 2018-09-21 introducing-reactphp-mysql.md
Last active Nov 28, 2018
Introducing MySQL streaming with ReactPHP
View 2018-09-21 introducing-reactphp-mysql.md

Today, we're very happy to announce the immediate availability of the next major beta release of friends-of-reactphp/mysql, the async MySQL database client for ReactPHP. 🎉

Now that v0.4.0 has been tagged and released today, let's look into why I think this is not only a major milestone for this project, but could also possibly be a game changer in how people use databases with ReactPHP and eventually maybe with PHP in general.

This post aims more for the "why" instead of "what" has changed. If you're upgrading from a previous version of this project, you may want to take a look at the changelog describing all the changes in greater detail. Alright, so let's dive right in.

Promise all the things!

Originally, this project was maintained by Jin Hu who did an excellent job figuring out all the protocol details and building an API that can be cons

@clue
clue / 2018-08-14 introducing-reactphp-csv.md
Last active Jun 3, 2019
Introducing streaming CSV with ReactPHP
View 2018-08-14 introducing-reactphp-csv.md

I'm happy to announce the very first stable release of clue/reactphp-csv 🎉

Streaming CSV (Comma-Separated Values or Character-Separated Values) parser and encoder for ReactPHP.

Now that v1.0.0 has been tagged and released today, let's look into what CSV is, how it compares to other formats such as NDJSON and how CSV can be used in PHP and @ReactPHP.

CSV format

CSV (Comma-Separated Values or less commonly Character-Separated Values) is a very simple text-based format for storing a large number of (uniform) records, such as a list of user records or log entries.

@clue
clue / 2018-07-12 non-blocking-io-for-the-masses-webengdus.md
Last active Jul 13, 2018
Non-blocking I/O for the masses (WebEngDUS)
View 2018-07-12 non-blocking-io-for-the-masses-webengdus.md

I/O is everywhere. I/O is slow. There's no denying it. Using traditional blocking I/O calls can thus be seen as a huge contributor to slow applications. This talk discusses how non-blocking I/O can help in building high performance, event-driven, reactive, concurrent, single-threaded applications (bingo). Don't worry, no need to install Node.js and npm install half the internet. Let's build high-performance applications from scratch with whatever language you're most comfortable with!

20 minutes talk at @WebEngDUS (2018-07-12)

Slides

The slides are available on https://speakerdeck.com/clue/non-blocking-io-for-the-masses-webengdus.

These slides were used as part of a presentation at @WebEngDUS. The full presentation took around 20 minutes including live demonstration and a short Q/A followed by some very nice discussions.

@clue
clue / 2018-07-11 announcing-reactphp-lts.md
Last active Jul 11, 2018
Announcing stable ReactPHP LTS release
View 2018-07-11 announcing-reactphp-lts.md
View FdServer.php
<?php
namespace React\Socket;
use Evenement\EventEmitter;
use React\EventLoop\LoopInterface;
use InvalidArgumentException;
use RuntimeException;
final class FdServer extends EventEmitter implements ServerInterface
@clue
clue / 2018-05-25 introducing-reactphp-flux.md
Last active Apr 14, 2019
Introducing concurrent stream processing with ReactPHP and Flux
View 2018-05-25 introducing-reactphp-flux.md

I'm happy to announce the very first stable release of clue/reactphp-flux 🎉

Flux, the lightweight stream processor to concurrently do many (but not too many) things at once, built on top of ReactPHP.

Now that v1.0.0 has been tagged and released today, let's look into why streaming processing is useful, how this compares to keeping many operations in memory and how this can be used to process a large number of operations with @ReactPHP.

Concurrency with ReactPHP

In one of the previous posts, we've looked into doing many (but not too many) things concurrently with ReactPHP. If you're new to the concept of concurrently processing multipe things at once with ReactPHP, go check out that post, I'll wait.

View 2018-05-24 privacy-policy.md

We are very delighted that you have shown interest in our enterprise. Data protection is of a particularly high priority for the management of the clue·engineering (Christian Lück). The use of the Internet pages of the clue·engineering (Christian Lück) is possible without any indication of personal data; however, if a data subject wants to use special enterprise services via our website, processing of personal data could become necessary. If the processing of personal data is necessary and there is no statutory basis for such processing, we generally obtain consent from the data subject.

The processing of personal data, such as the name, address, e-mail address, or telephone number of a data subject shall always be in line with the General Data Protection Regulation (GDPR), and in accordance with the country-specific data protection regulations applicable to the clue·engineering (Christian Lück). By means of this data protection declaration, our enterprise would like to inform the general public of

@clue
clue / 2018-05-17 introducing-ndjson-reactphp.md
Last active Apr 5, 2019
Introducing streaming newline-delimited JSON (NDJSON) with ReactPHP
View 2018-05-17 introducing-ndjson-reactphp.md

I'm happy to announce the very first stable release of clue/reactphp-ndjson 🎉

Streaming newline-delimited JSON (NDJSON) parser and encoder for ReactPHP.

Now that v1.0.0 has been tagged and released today, let's look into what NDJSON is, how it compares to other formats such as JSON, CSV etc. and how NDJSON can be used in PHP and @ReactPHP.

Introduction to NDJSON

NDJSON vs. JSON

You can’t perform that action at this time.