随便唠唠异步

操作系统
再看操作系统原理时,又“吸收”了一个名词“页缓存”,跟ChatGPT扯了下之后,就有了更深刻的理解,于是灵光一现问了以下问题: 异步I/O的本质就是提交I/O后,不会阻塞调用者,并在I/O完成后通知调用者结果。 现在分析一下我的问题。在用户层面实现I/O函数,并通过用户层面实现的“页缓存”(本质上就 …...
Read more →

数组越界导致的函数调用

编译原理
C语言中数组越界是未定义行为,因此以下代码在不同的编译器或者不同版本的同一编译器行为是不可预测的。在gcc某些版本中,以下代码会出现有意思的行为。 // demo.c #include <stdio.h> #include <stdlib.h> void jmp() { …...
Read more →

浅谈 FrankenPHP 对 PHP 的影响

PHP
今年PHP基金会宣布了一件事30 years of PHP: FrankenPHP is now part of the PHP organisation。那么FrankenPHP是什么?为何得到青睐? 示例 对官网的自定义示例进行了一点调整,毕竟那个有点正式框架的影子,刚开始也让我有点摸不着头脑。 …...
Read more →

用 composer 将 packagist 第三方库变成本地库

PHP
之所以有这个想法,是因为部分第三方库版本约束没有做好,导致版本不匹配的库也可以安装,库版本不兼容到运行时才得以暴露,影响很大。 以workerman/mqtt为例,2.1版本跟workerman/workerman:^4.0是不兼容的,但 composer.json 的require是 …...
Read more →