分类 开发笔记 下的文章

在 PHP 8.5 中引入的 pipe 管道操作符 (|>) 是一个非常实用的新语法特性,它为函数调用链式表达提供了更清晰的写法。传统上,如果我们需要把一个值依次传入多个函数,往往要么嵌套调用(可读性差),要么借助临时变量。管道语法的核心思想是:将左边的表达式结果,作为参数传递给右边的函数。这样可以让代码像数据流一样从左到右自然流动。

例如,过去我们可能会写:

$result = strtoupper(trim($name));

使用管道语法后,可以改写为:

$result = $name |> trim($$) |> strtoupper($$);

- 阅读剩余部分 -

在 Linux 系统中,僵尸进程(Zombie Process) 是指已经结束但其父进程未调用 wait() 或 waitpid() 回收其退出状态的子进程。这类进程仍然保留在进程表中,状态为 Z(Zombie),虽然不占用 CPU 和内存资源,但长期不处理可能导致系统资源耗尽。

本文介绍如何查看 Linux 系统中的僵尸进程数量与详细信息。

查看僵尸进程数量

使用 ps 和 grep 命令统计僵尸进程数:

ps -eo stat | grep -c '^Z'

• ps -eo stat:列出所有进程的状态字段。
• grep -c '^Z':统计以 Z 开头的行数,即为僵尸进程数。

- 阅读剩余部分 -

2025-10-09T09:55:53.png

阿里昨天发布的代码模型 Qwen3-Coder,有 4800 亿参数,是阿里迄今为止最具代码推理能力的代码模型,官方宣称“可以与 Cluade Sonnet4 媲美”。

下面是官方宣称的一些关键信息:

  • 旗舰版本 Qwen3‑Coder‑480B‑A35B‑Instruct 是迄今为止最具“agentic coding”能力的开源模型;
  • 在 Agentic Coding、浏览器和工具使用等任务上达到了开源界 SOTA,与 Anthropic 的 Claude Sonnet 4 不相上下;
  • 上下文支持 256K token 原生,配合 YaRN 可扩展至 1M,使其可胜任大规模仓库与多轮交互场景;
  • 通过 7.5T 数据(70% 代码)增强训练,并加入 agentic RL,达成在 SWE‑Bench Verified 等实际工程任务上的 SOTA 性能。

还好是阿里发布的,这要是菊花发布的,大嘴高低得喊俩小时的遥遥领先。

2025-10-09T09:56:15.png

我在社区看到很多人体验后说效果确实很不错,编码能力确实出众。我本来也想试试,但在看到很多网友吐槽费用后,果断放弃了:

- 阅读剩余部分 -

方法一:使用 ALTER USER(推荐,适用于 MySQL 5.7+ 和 8.0+)

ALTER USER CURRENT_USER() IDENTIFIED BY '123456';

修改指定用户(例如 root 用户)密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

方法二:旧版本(MySQL 5.6 及以下)使用 SET PASSWORD

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

公司有个项目用了 hyperf 框架,需要安装 swoole 扩展,我的新 m4 macbook air 尚未装过,执行 pecl install swoole,结果报错了。

In file included from /private/tmp/pear/temp/swoole/ext-src/php_swoole.cc:26:
/opt/homebrew/Cellar/php@8.3/8.3.19_1/include/php/ext/pcre/php_pcre.h:23:10: fatal error: 'pcre2.h' file not found
   23 | #include "pcre2.h"
      |          ^~~~~~~~~
1 error generated.
make: *** [ext-src/php_swoole.lo] Error 1
ERROR: `make' failed

提示缺少文件,手动安装了一下 pcre2,发现早就装过了,看来问题是找不到,而不是没有装。

- 阅读剩余部分 -

/var/log/journal/ 是 systemd 的持久化日志目录,用于存储通过 journald(Systemd Journal)收集的系统日志。相比传统的 /var/log/syslog 或 /var/log/messages,journald 的日志更结构化、压缩存储,支持更丰富的查询。

/var/log/journal/ 包含的日志内容

  • 内核日志(类似 dmesg)
  • systemd 服务日志(替代了 syslog)
  • 各种系统事件(启动、关闭、错误、服务状态变化等)
  • 用户登录记录、安全事件等

如何查看这些日志?

journalctl -b         # 查看本次启动以来的日志
journalctl -xe        # 查看最近的错误日志
journalctl -u nginx   # 查看 nginx 服务的日志

清理日志的方法

方式一:清理旧日志(按时间)

sudo journalctl --vacuum-time=7d
只保留7天内的日志,删除 7 天前的日志。

- 阅读剩余部分 -

我有一台 mac mini m2,本来是放在办公室用的,但发现还是带笔记本更方便,所以就闲置了。
家里已经有了群晖 nas,所以暂时也没有用途了。

这两年 AI 很火,就琢磨着可以搞个相关的小服务放在 mac mini 上跑,然后对外提供接口,这就需要打通网络。

调研了一番,还是选择了以前用过的 frp

环境准备

客户端是我的 mac mini,系统是最新版的 macOS 15.4。

服务端是我的阿里云 ECS,系统是 ubuntu 22.04。

下载好 frp,目前最新的版本是 v0.62.0

服务端下载 frp_0.62.0_linux_amd64.tar.gz,解压后放到 /opt/frp 目录。

客户端下载 frp_0.62.0_darwin_arm64.tar.gz,解压后放到 /Users/tony/apps/frp 目录。

- 阅读剩余部分 -