深入 Hyperf:Inject 注解是如何工作的? 她和她的猫 3 months 1 week ago 周五的时候,我在 Hyperf 群里看到有群友提出了一个问题:为什么 Inject 注解在使用 new 关键字实例化类时依然能够生效?按理说,Inject 注解不是应该只在通过容器实例化类
译|理解容器镜像层 她和她的猫 4 months 1 week ago 原文:Understanding Container Image Layers 容器非常神奇。它让简单的进程可以像虚拟机一样运行。在这背后的优雅设计中,有一套模式和实践使得一切可以正常运作。而
使用 Rust 实现高性能预写日志(Write Ahead Log) 她和她的猫 6 months ago 不知不觉已经三个多月没有更新博客了,这段时间也想写一点东西,但因为各种原因一直没有动笔。或许我的拖延症已经到达晚期了 ¯\(ツ)/¯。最近,我看到一句挺
译|使用 Linux 命名空间隔离系统 她和她的猫 9 months ago 原文:Separation Anxiety: A Tutorial for Isolating Your System with Linux Namespaces 随着 Docker、Linux Containers 这些工具的出现,将 Linux 进程隔离到自己的小系统环境中隔离变得非常容易。这使得在
深入 Hyperf:HTTP 服务是如何处理请求的? 她和她的猫 11 months ago 上一篇文章介绍了 HTTP 服务启动时发生了什么,让我们对于 Hyperf 框架以及 HTTP 服务的启动过程有了更进一步的理解。今天我们继续来了解一下,当我们访问 HTTP 服务时,它是如何处
Linux 文件权限学习笔记 她和她的猫 1 year 1 month ago 在 Linux 中,文件权限分为所有者、群组、其他人三种身份。 所有者:指拥有该文件/目录的用户,默认是创建该文件/目录的用户。 群组:指该文件/目录所属的群组,默认
译|了解 Bitcask:基于日志结构的 KV 存储引擎 她和她的猫 1 year 4 months ago 最近我在微信上看到了一篇介绍 rosedb 的文章,从这篇文章中,我了解到 rosedb 是一个基于 Bitcask 存储模型的 KV 存储引擎,并在此基础上做了大量了优化工作,它兼容 Redis 协议、支持丰富
还原 SM2 压缩公钥的几种方法 她和她的猫 1 year 5 months ago 写这篇文章的起因是朋友让我帮忙解决一个与 SM2 算法加密相关的问题。由于我对 SM2 算法并不熟悉,因此在解决问题的过程中走了很多弯路,花了很多时间去了解 SM2 算法以及
深入 Hyperf:HTTP 服务启动时发生了什么? 她和她的猫 1 year 6 months ago 当我们创建 Hyperf 项目之后,只需要在终端执行 php bin/hyperf.php start 启动命令,等上几秒钟,就可以看到终端输出的 Worker 进程已启动,HTTP 服务监听在 9501 端口的日志信息。 [INFO] Worker#3 started. [INFO] Worker#1 started. [INFO]
一次 Hyperf 注解失效问题分析 她和她的猫 1 year 9 months ago 问题环境 PHP: 8.0.13 Swoole: 4.6.2 Hyperf: 2.2.33 运行环境: Docker Desktop on WSL2 问题背景 有同事说我之前使用注解实现的某个功能有问题,具体表现就是有部分使用了注解的类没有被 Hyperf 收集到注解收集器中,
将博客迁移到又拍云 她和她的猫 1 year 10 months ago 考虑到使用一台独立的服务器来部署静态博客多少有点浪费,所以决定将博客迁移到又拍云上,一是可以节省服务器成本;二是可以利用又拍云多节点 CDN 提升博客的访问速
译|PHP 7 新的 Hashtable 实现 她和她的猫 2 years 1 month ago 大约三年前,我写了一篇分析 PHP 5 中数组的内存使用情况的文章。即将到来的 PHP 7 作为我工作的一部分,我重点关注于优化数据结构的大小以及内存分配上,为此重写了 Zend
排查 ES 查询问题:深入了解 json_encode() 函数 她和她的猫 2 years 6 months ago 在使用 Elasticsearch 时,有时候会需要通过某个字段批量查询数据,比如通过用户 ID 批量获取用户信息,DSL 语句如下: { "query": { "bool": { "must": [ { "terms": { "user_id": ["123", "456"] } } ] } } } 在 PHP 中,通常会
浅析 Redlock 分布式锁实现原理 她和她的猫 2 years 6 months ago 前言 不知不觉中,这篇文章在我的草稿箱已经躺了半年多了。 起初写这篇文章是准备做一次技术分享,后来因为一些原因将分享的主题换成了什么是惊群问题 ,这篇文章也
Yar 源码阅读笔记:RPC 服务端 她和她的猫 2 years 10 months ago 前言 在前面的文章中介绍了 Yar 客户端以及相关模块的实现,弄清楚了客户端的远程调用是如何发送出去的、发送的内容是什么、以及如何处理响应结果。 今天我们就来看看
Yar 源码阅读笔记:客户端的并行调用 她和她的猫 2 years 10 months ago 前言 在上一篇文章中,介绍了客户端同步调用的具体实现的,主要还是通过调用传输模块的相关函数,完成发送和接收远程调用的数据。 在调用多个远程方法时,同步调用
Yar 源码阅读笔记:客户端的同步调用 她和她的猫 2 years 10 months ago 前言 今天这篇文章,主要介绍 Yar 客户端是如何实现远程调用的,进一步了解各个模块在远程调用的过程中都做了些什么。 客户端介绍 Yar 客户端的远程调用分为同步调用和并
Yar 源码阅读笔记:数据传输模块 她和她的猫 2 years 10 months ago 前言 在前面几篇文章中,更多的是在研究 Yar 传输的内容,比如协议的格式是什么样的、如何对数据进行编码等等。 今天这篇文章,主要介绍 Yar 编码模块的结构体定义,以及
Yar 源码阅读笔记:消息编码模块 她和她的猫 2 years 11 months ago 前言 在 上一篇文章 中,我们知道了 Yar 通信协议的格式及作用,还提到了在 Yar 客户端发送请求前和收到响应后,需要先对数据进行编码与解码才能继续进一步操作。 今天我们
Yar 源码阅读笔记:RPC 通信协议 她和她的猫 3 years 1 month ago 前言 在上一篇文章中简单的介绍了 Yar 的基本功能,今天我们来了解一下 Yar 的通信协议。 通信协议是服务端与客户端之间进行数据交换的一种约定,只有遵循这种约定才能进