Dec 19

Gitea cleanup 不指定

felix021 @ 2025-12-19 22:37 [IT » 软件] 评论(0) , 引用(0) , 阅读(173) | Via 本站原创
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
Dec 18

Maven: 阿里云镜像 不指定

felix021 @ 2025-12-18 18:30 [IT » 程序设计] 评论(0) , 引用(0) , 阅读(175) | Via 本站原创
引用

<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>

Dec 16
结论: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"
Dec 14

MySQL/MariaDB 主从同步 不指定

felix021 @ 2025-12-14 19:12 [IT » 数据库] 评论(0) , 引用(0) , 阅读(207) | Via 本站原创
== 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
Dec 12
Dec 3

git pre-commit hook 不指定

felix021 @ 2025-12-3 21:06 [IT » 软件] 评论(0) , 引用(0) , 阅读(296) | Via 本站原创
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
Oct 21

ClickHouse Playground 不指定

felix021 @ 2025-10-21 16:39 [IT » 数据库] 评论(0) , 引用(0) , 阅读(605) | Via 本站原创
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

Oct 16

ClickHouse: Dictionary 不指定

felix021 @ 2025-10-16 10:18 [IT » 数据库] 评论(0) , 引用(0) , 阅读(498) | Via 本站原创
备查

CREATE DICTIONARY xxx.ip_region_dict
ON CLUSTER default_cluster
(
    `prefix` UInt32,
    `province` Nullable(String),
    `province_code` UInt32,
    `city` Nullable(String),
    `city_code` UInt32,
    `area` Nullable(String),
    `area_code` UInt32
)
PRIMARY KEY prefix
SOURCE(CLICKHOUSE(HOST '127.0.01' USER 'user' PASSWORD 'xxxx' DB 'test' TABLE 'ip_region' ))
LIFETIME(MIN 0 MAX 0) -- 需要手动刷新
LAYOUT(HASHED())


or from mysql:

SOURCE(MYSQL(HOST '127.0.0.1' PORT 3306 USER 'root' PASSWORD 'xxxxx' DB 'test' TABLE 'xxx'))
LIFETIME(MIN 300 MAX 600) -- 5~10分钟自动刷新
LAYOUT(HASHED())


Manually reload:
SYSTEM RELOAD DICTIONARY
ON CLUSTER default_cluster
ip_region_dict;


Usage
dictGet('xxx.ip_region_dict', 'city', intDiv(IPv4StringToNumOrDefault(ip), 256))



UDF:
CREATE FUNCTION getIPCity
ON CLUSTER default_cluster
AS (ip) ->
        dictGet('xxx.ip_region_dict', 'city', intDiv(IPv4StringToNumOrDefault(ip), 256));
分页: 1/101 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]