记一次 RAID 硬盘离线

事故 使用 Dedipath 的服务器应该已经超过三年了吧。价格便宜,客服服务也挺不错的。但是,这次的事情,让我对其服务的可靠性及服务态度产生了怀疑。 事情应该是发生在今年的12月1日,收到Uptime-Kuma发来的邮件, 说我的 OpenID 的后端似乎离线了。 检查了一下,发现其所在的服务器 文件系统变成了 Readonly Filesyste...

发布于 技术

Centos 编译安装 php81

出于 开发环境配置及学习的需求, 需要直接在 Centos 7 上编译安装 php-81. 最近在使用 webman 重构 拾光 的后端, 虽然 这次迭代可能存在一定的破坏性, 但得益于 Webman 的现有生态 以及 复用了多数的 Composer 库. 将会为 以后的版本迭代及功能扩展 带来一定的便利. 我们可以直接在 官网 找到源码, 这里选...

发布于 技术

Redis 统计实时在线人数

zsetRedis 中的 sorted set (有序集合) 也称为 zset. 它提供了两个参数, 一个为 score, 一个为 member. 其中, score 为排序的分数, 它可以是双精度或者整数. 其结构类似 123 | (score) member1key => | (score) member2 |...

发布于 技术

Nginx 重写 Query 参数

由于旧版项目, 依旧使用php-fpm模式提供api服务, 采用 类似 /api.php?m=account&act=login类似这种方式进行控制器分类. 目前的话 打算更换为其他框架, 使用路由来分配控制器. 由于前端及软件迁移成本较高, 就想着是否可以通过Nginx的伪静态来重写. 于是一开始尝试使用 1234location / ...

发布于 技术

邮件退订的设计与实现

何为邮件退订在平常的验证码, 推广邮件中, 我们通常会在最下角找到 退订链接。通常访问它, 我们就不会再收到他们发送的邮件。 但是, 如何以最简单, 最节省性能的方式去实现这一功能呢? 一开始其实最简单的方式, 貌似就是在 发送邮件时, 生成一段随机字符, 存储在数据库或缓存中(已经缓存, 可直接读取), 然后拼接成一个网址, 附在邮件底部. 用户打...

发布于 技术

Flutter event_bus 发布/订阅 总线

最近在捣鼓Flutter的时候, 一直在解决有关fileProvider的问题. 当需要打开安卓设备自带的文件管理器时, 一直报错exposed beyond app through Intent.getData() 在配置 FileProvider相关权限后, 依旧不行, 貌似需要原生调用.这估计就需要flutter与原生相互调用了, 奈何我暂时没有...

发布于 技术

MySQL 全文索引 实现相似度搜索

模糊查询Mysql实现模糊查询 最简单的是LIKE关键字, 如 1SELECT * FROM `content` WHERE `topic` LIKE '%地球%'; 而当然也可以使用LOCATE(),POSITION()等内置函数来实现. 不过 这种模糊查询都存在一定的局限性. 举个?: 记录为: 你好,我的世界, 此时通过关键...

发布于 技术

pve容器环境下开启tun/tap

简介最近在pve上创建的lxc容器中, 安装zerotier-one是发现无法连接但设备显示在线, 通过命令zerotier-cli listnetworks发现返回状态为PORT_ERROR. 在Github issues中了解到 容器未开启tun/tap 如何开启我目前使用的pve版本为7.1-8不通版本间操作可能不一样. 我们只需要在...

发布于 技术

Flutter项目 安卓 运行时闪退解决方案

问题Flutter在安卓上无论是debug还是release打包后安卓 均闪退. 通过 Flutter build apk --target-platform android-arm64 编译后, 将打包完后的apk文件安装只Andriod studio自带的模拟器, 打开后直接白屏闪退, 因为我使用Vscode进行开发, 在debug模式下依旧无法查...

发布于 技术

简单使用Git管理项目

这篇文章将会 介绍基本的Git使用 与 远程仓库操作 何为GitGit是一个优秀的分布式版本控制软件,他可以协助你完成项目开发。 Git可以用于合作开发,且易于合并/比较多人的开发进度。 Git与Svn的区别Git与Svn都是版本管理控制软件, 相比于Svn,Git是分布式存储的, 更加安全。 Git是按照元数据方式存储,而Svn按照文件...

发布于 技术