Tony 发布的文章

因为墙的缘故,github 仓库经常推送拉取慢或者断连,我一般的做法是开启终端的代理:

export https_proxy=http://127.0.0.1:7897 http_proxy=http://127.0.0.1:7897 all_proxy=socks5://127.0.0.1:7897

这种做法会让当前窗口所有的流量走代理,有额外的心理负担。

今天在社区看到一个更 nice 的做法,就是在 .ssh/config/ 里设置代理命令:

Host github.com
  User git
  HostName github.com
  ProxyCommand ncat --proxy-type socks5 --proxy 127.0.0.1:7890 %h %p

这样就不需要每次设置了。

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

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

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

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

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

- 阅读剩余部分 -

有个独立的应用模块是用 Python 开发的,需要特殊的部署环境,公司没有完善的发布机制,所以是直接手动 docker build 发布的。多次发布后,发现构建缓存占用了大量磁盘空间,于是清理一波。

下面是相关的操作命令:

- 阅读剩余部分 -

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

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

查看僵尸进程数量

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

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

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

- 阅读剩余部分 -

iTerm2 有一个很讨厌的默认配置,就是选中了就默认给你复制到剪贴板了。

实际上在工作中我喜欢选中去阅读信息,但不知不觉就复制到剪贴板了,等我真要粘贴某个东西的时候发现完犊子了。

非常讨厌。

我问了 ChatGPT 如何更改这个配置, ChatGPT 连续两次告诉我的都是错误的——也许不是错的,可能是老版本的,但好在告诉我的配置项名称是对的,我搜索了一下找到了。

我用的最新的版本配置修改位置如下:

2025-07-18T01:52:33.png

如果还是找不到建议搜索一下 Copy to clipboard on selection

2025-07-18T01:57:05.png

如果搜不到就试试 Copy to pasteboard on selection,老版本可能叫这个名字。

前天晚上朋友问我 wildcard 是不是跑路了,还发了张图:

2025-07-14T02:04:24.png

我试了一下,发现官网确实打不开了。

朋友里面还有一百多刀,我里面还有20刀,有点扎心。

很多网友知道或者使用WildCard都是为了购买国外的 AI 类服务,比如 ChatGPT、GitHub Copilot 等。这次『跑路』我感觉很蹊跷。

因为 wildcard 看起来并不像是亏本买卖,除了卡片有年费,还有每笔充值的手续费,肯定可以cover 运营成本的。

我当时就猜测大概率是政策原因。

第二天晚上6点多,wildcard 官网突然恢复访问,并贴出通知,说48小时内恢复服务,不过充值和退款暂时用不了了,正在寻找合规的解决方案。

截止目前,wildcard 官网仍然被墙,不过还是可以看得到通知。

2025-07-14T03:38:23.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,发现早就装过了,看来问题是找不到,而不是没有装。

- 阅读剩余部分 -