Claude Code && GLM 4.7 不指定

2026 年,这里终于有一点不一样了:用 Claude Code + 智谱的 GLM 4.7 给这个十几年的老博客换了个新皮。

实际还做得更多一些,把旧的 PHP5 代码改造升级为 PHP7-Compatible,并且修了几个潜在的安全问题。

总体上做得还不错,但是在换皮的细节上有点坑,有个问题来来回回说了好几遍,也没完全改好,就先将就了。

Anyway,有个助手还是不错的,终于把早就想做的事情落地了。

如果你也需要的话,可以通过我的邀请链接注册购买(我买了超大杯,完全没有token焦虑了):

引用
速来拼好模,智谱 GLM Coding 超值订阅,邀你一起薅羊毛!Claude Code、Cline 等 20+ 大编程工具无缝支持,“码力”全开,越拼越爽!立即开拼,享限时惊喜价!

链接:https://www.bigmodel.cn/glm-coding?ic=2HQBSJHLXR


以及这是智谱官方的上手教程,非常简单:

https://docs.bigmodel.cn/cn/coding-plan/quick-start

Gitea cleanup 不指定

Gitea does not provide official way to cleanup action running history.


Had to do it manually by


#!/bin/bash

mysql giteadb -e "delete from action where created_unix < UNIX_TIMESTAMP(date_sub(now(), interval 45 day))"
mysql giteadb -e "delete from action_run where created < UNIX_TIMESTAMP(date_sub(now(), interval 45 day))"
mysql giteadb -e "delete from action_task where created < UNIX_TIMESTAMP(date_sub(now(), interval 45 day))"
mysql giteadb -e "delete from action_run_job where created < UNIX_TIMESTAMP(date_sub(now(), interval 45 day))"
mysql giteadb -e "delete from action_task_step where created < UNIX_TIMESTAMP(date_sub(now(), interval 45 day))"

find /home/gitea/.cache/act -maxdepth 1 -ctime +45 | xargs rm -rf

Maven: 阿里云镜像 不指定

引用

<settings>
    <!-- omitted xml -->
    <servers>
          <server>
            <id>private_repo</id>
            <username>USERNAME</username>
            <password>PASSWORD</password>
          </server>
    </servers>
    <mirrors>
        <mirror>
            <id>aliyunmaven</id>
            <mirrorOf>*,!private_repo</mirrorOf>
            <name>阿里云公共仓库</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </mirror>
    </mirrors>
</settings>

Intellij IDEA: cannot resolve symbol 不指定

结论:IDEA 是 SH*T.


问题:报错,找不到符号,通常是 Lombok annotation 生成的,比如 @Builder 生成的 XXXBuilder。


【可能】的解决方案

(1) IDE 参数,玄学,可能有用

Help -> Custom VM Option
引用
-Xms2g
-Xmx16g


Settings -> Compiler:
- Shared VM Options: "-Xss1024m"
- Heap Size: 16384 (Mbytes)


(2) 将 IDE 构建/运行操作委托给 Maven
Settings -> Build Tools -> Delegate IDE Build/Run actions to Maven.


(3) 跳过 IDE 的编译

- 使用 mvn compile -T 4 、 mvn test-compile -T 4(编译测试代码)
- 在Run Configuration的 "Modify options" 里选择 "Do not build before run"

MySQL/MariaDB 主从同步 不指定

== Master ==

$ vi /etc/mysql/mariadb.conf.d/50-server.cnf
引用
server-id              = 1
log_bin                = /var/log/mysql/mysql-bin.log
expire_logs_days      = 10
max_binlog_size        = 1024M
binlog_do_db          = testdb


$ mysql
CREATE USER 'username'@'%' IDENTIFIED BY '12345678';
GRANT ALL PRIVILEGES ON giteadb.* TO 'username'@'%';
GRANT REPLICATION SLAVE ON testdb.* TO 'username'@'%';
[/code

[code]
mysqldump --databases testdb --master-data > testdb.sql


== Slave ==

$ vi /etc/mysql/mariadb.conf.d/50-server.cnf
引用
server-id              = 2
relay_log = /var/log/mysql/mysql-relay-bin.log
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = testdb
read_only = 1



mysql> CHANGE MASTER TO
MASTER_HOST='HOSTNAME',
MASTER_USER='testdb',
MASTER_PASSWORD='12345678',



$ mysql < testdb.sql



mysql> start slave;

mysql> SHOW SLAVE STATUS\G




另:如果报错

引用
mysql error 1273 (hy000) at line 33: unknown collation: 'utf8mb4_0900_as_cs'


需要把 sql 里的 utf8mb4_0900_as_cs 替换成 MariaDB 的 utf8mb4_unicode_520_ci

git pre-commit hook 不指定

vi .git/hooks/pre-commit

#!/bin/bash

function color() {
    scheme=$1
    shift
    echo -e "\e[${scheme}m"$*"\e[0m"
}

rebasing=`git status | grep 'currently rebasing'`
if [ ! -z "$rebasing" ]; then
        color '31;43' "currently rebasing, commit not allowed"
        echo
        exit 1
fi

ClickHouse Playground 不指定

docker-compose.yml
引用

services:
  clickhouse:
    image: clickhouse/clickhouse-server:latest
    container_name: my-clickhouse
    ports:
      - "8123:8123"  # HTTP API 端口,用于Web界面和HTTP请求
      - "9000:9000"  # 原生TCP协议端口,用于clickhouse-client连接
    volumes:
      - ./data:/var/lib/clickhouse  # 数据持久化到主机的 ./data 目录
    environment:
      - CLICKHOUSE_DB=default
      - CLICKHOUSE_USER=default
      - CLICKHOUSE_PASSWORD=123456
      - CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1
    deploy:
      resources:
        limits:
          cpus: '4.0'
          memory: 8G
        reservations:
          cpus: '1.0'
          memory: 2G



启动

$ docker compose up -d

连接

$ docker exec -it my-clickhouse clickhouse-client --user default --password 123456

CREATE DATABASE learn;

CREATE USER 'learn' IDENTIFIED WITH sha256_password BY '123456';

GRANT ALL ON learn.* to 'learn';



Playground:

$ git clone https://github.com/VKCOM/lighthouse.git


访问(替换 $CLICKHOUSE 为部署的 IP 或域名)
http://127.0.0.1/lighthouse/#http://$CLICKHOUSE:8123/?user=learn&password=123456