2026年2月

看到帖子询问威海本地美食,

想起来, 周末女朋友要来找我玩

平常也不出门, 想问问有没有青岛人, 或者来青岛玩过的朋友, 有没有推荐的好吃的馆子

上上周, 吃过一个双合园饺子, 戳子肉, 禾斗自助都感觉一般, 可能价钱还不到位

刷到视频说海鲜要去市场买, 让别人加工更好? 有推荐的吗

最好是市南市北, 其他地方真的有点远

Flux: 自动化GitOps好帮手

说在前面

推荐阅读:GitOps | GitOps is Continuous Deployment for cloud native applications

什么是 GitOps

GitOps 是一种实现云原生应用持续部署的方法。核心是使用我们熟知的 Git 工具,在一个包含了我们应用的基础设施的声明性描述(比如 k8s deployment.yaml))的 Git 仓库中,完成自动化流程部署;在我们需要在集群上部署新应用或更新现有应用时,就只需要在 Git 仓库上提交就行了。

为什么要搭建 GitOps

  1. 让你的部署更快并且还可以让你更频繁地执行部署

    • 采用 GitOps 的独到之处就是你不需要来回切换工具来部署应用
  2. 更简单更快的错误恢复

    • 错误恢复只需要使用 Git 进行回退还原即可
  3. 更便捷的证书部署管理

    • 你不需要真正访问到部署环境中才能管理
  4. 自文档化部署

    • GitOps 规范要求对任何环境的每次更改都必须通过 Git 完成,这样你不需要通过 ssh 登录到服务器,直接通过查看主分支就能知道服务器都运行了什么
  5. 团队知识共享

    • Git 仓库中包含了所有应用的基础设施完整描述,团队中的每个人可以随时快捷的了解变化

Flux 介绍

官方地址: Flux

Flux 是一个用于保持 k8s 集群和配置源(如 Git 仓库)同步的工具,它能够在新代码推送到仓库后自动更新集群上部署的应用

Flux应用示例

前置条件

  • 已部署 k8s 或 k3s 集群(我将以 k3s 为例)
  • 可访问的 Git 仓库(Github, Gitlab 或 Gitea, 下面将以我自己部署的 Gitea 仓库为例,公开仓库:Zpekii/go-example)

安装 Flux Cli 工具

通过 Bash 安装(适用于Linux)

curl -s https://fluxcd.io/install.sh | sudo bash

检查是否满足所需依赖

flux check --pre

执行后输出形如:

► checking prerequisites
✔ Kubernetes 1.34.3+k3s1 >=1.32.0-0
✔ prerequisites checks passed

将 Flux 安装到集群

flux bootstrap git \
    --url=$URL \
    --branch=$BRANCH \
    --username=$USER_NAME \
    --token-auth=true \
    --path=./clusters/app

其中$URL$BRANCH$USER_NAME需要替换成实际的 git 仓库地址、分支(一般是mainmaster主分支)以及拥有访问 git 仓库的账号名

我的例子:

flux bootstrap git \
    --url=https://git.0orz.top/Zpekii/go-example.git \
    --branch=main \
    --username=Zpekii \
    --token-auth=true \
    --path=./clusters/app

执行后,需要输入 git 账号密码,如果通过校验,则会输出形如:

► connecting to github.com
✔ repository created
✔ repository cloned
✚ generating manifests
✔ components manifests pushed
► installing components in flux-system namespace
deployment "source-controller" successfully rolled out
deployment "kustomize-controller" successfully rolled out
deployment "helm-controller" successfully rolled out
deployment "notification-controller" successfully rolled out
✔ install completed
► configuring deploy key
✔ deploy key configured
► generating sync manifests
✔ sync manifests pushed
► applying sync manifests
◎ waiting for cluster sync
✔ bootstrap finished

这个过程将会:

  • (如果你填写的 git 仓库地址还没有创建,那么它会帮你创建)
  • 在你的 git 仓库添加 Flux 组件(通过向你的仓库发起一个提交进行变更, 组件将会保存到项目根目录clusters/app下,这个由--path参数决定)
  • 在你的集群上部署 Flux 组件
  • 配置 Flux 组件跟踪仓库上的 clusters/app 路径(由--path参数决定)

克隆你的仓库

git clone $URL

请替换$URL为你实际的仓库地址,我的例子:

git clone https://git.0orz.top/Zpekii/go-example.git

创建 kustomize 目录来保存你的部署配置文档

cd $PRJ_PATH && mkdir -p kustomize

$PRJ_PATH替换为拉取仓库到服务器本地文件系统后的项目路径,我的例子:

cd go-example && mkdir -p kustomize

编写集群部署配置文档

使用 vim 创建和编辑文档

vim kustomize/deployment.yaml

按下 Insert 键,根据自己的实际情况编写吧,可以参考我的例子:

apiVersion: v1
kind: Namespace
metadata:
  name: helloapp
---
apiVersion: v1
kind: Service
metadata:
  name: go-example
  namespace: helloapp
spec:
  selector:
    app: go-example
  ports:
    - port: 8800
      targetPort: 8800
  type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: go-example
  namespace: helloapp
spec:
  selector:
    matchLabels:
      app: go-example
  replicas: 3
  template:
    metadata:
      labels:
        app: go-example
    spec:
      containers:
        - name: go-example
          image: harbor.0orz.top/go-example/go-example:8b5d44399e523027840a68ce17249d9ecfd5c094
          imagePullPolicy: IfNotPresent
          resources:
            requests:
              memory: "5Mi"
              cpu: "10m"
            limits:
              memory: "50Mi"
              cpu: "100m"
          ports:
            - containerPort: 8800
          volumeMounts:
            - name: config-volume
              mountPath: /config
            - name: helloapp-test-key
              mountPath: /certs
          command: ["/helloapp"]
          args: ["-f", "/config/.linux-config.yaml"]
      volumes:
        - name: config-volume
          configMap:
            name: go-example-config
        - name: helloapp-test-key
          secret:
            secretName: helloapp-test-key # 需要事先创建该 Secret 
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: go-example-config
  namespace: helloapp
data:
  .linux-config.yaml: |
    server:
      port: 8800
    certs:
      testKeyPath: /certs/test.key

我都配置了什么:

  • 创建了一个helloapp命名空间用来单独和管理我部署的应用
  • 创建了一个Service来暴露我的应用,让外部可以访问
  • 声明了我的应用Deployment信息,需要哪些资源、使用哪个镜像、创建几个副本,以及使用哪些配置和密钥
  • 创建了一个ConfigMap来声明我的应用配置

按下 Esc 键退出编辑,然后输入保存并退出 vim 编辑

:wq

将仓库源添加到 Flux 中

在 Flux 中创建一个git source

flux create source git $SOURCE_NAME \
  --url=$URL \
  --branch=$BRANCH \
  --interval=1m \
  --export > ./clusters/app/$SOURCE_NAME-source.yaml

请根据实际替换相应的变量,我的例子:

flux create source git go-example \
  --url=https://git.0orz.top/Zpekii/go-example.git \
  --branch=main \
  --interval=1m \
  --export > ./clusters/app/go-example-source.yaml

执行后,输出形如:

apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
  name: go-example
  namespace: flux-system
spec:
  interval: 1m
  ref:
    branch: main
  url: https://git.0orz.top/Zpekii/go-example.git

将部署信息添加到 Flux 中

在 Flux 中创建一个 Kustomization ,让 Flux 知道从哪个源读取部署配置文档,然后应用并部署到集群中

flux create kustomization $SOURCE_NAME \
  --target-namespace=$TARGET_NAMESPACE \
  --source=$SOURCE_NAME \
  --path=$CONFIG_PATH \
  --prune=true \
  --wait=true \
  --interval=30m \
  --retry-interval=2m \
  --health-check-timeout=3m \
  --export > ./clusters/app/$SOURCE_NAME-kustomization.yaml

请根据实际替换相应的变量(注意$CONFIG_PATH是填写前面创建的kustomize目录路径),我的例子:

flux create kustomization go-example \
  --target-namespace=helloapp \
  --source=go-example \
  --path="./kustomize" \
  --prune=true \
  --wait=true \
  --interval=30m \
  --retry-interval=2m \
  --health-check-timeout=3m \
  --export > ./clusters/app/go-example-kustomization.yaml

执行后,输出形如:

apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
  name: go-example
  namespace: flux-system
spec:
  interval: 30m0s
  path: ./kustomize
  prune: true
  retryInterval: 2m0s
  sourceRef:
    kind: GitRepository
    name: go-example
  targetNamespace: helloapp
  timeout: 3m0s
  wait: true

将修改提交到仓库

git add . && git commit -m "chore: add GitRepository and  Kustomization"
git push

查看 Flux 应用同步状况

flux get kustomizations --watch

输出形如:

NAME            REVISION                SUSPENDED       READY   MESSAGE
flux-system     main@sha1:bea43605      False           True    Applied revision: main@sha1:bea43605
go-example      main@sha1:bea43605      False           True    Applied revision: main@sha1:bea43605

查看应用部署情况

kubectl get all -n $TARTGET_NAMESPACE

$TARTGET_NAMESPACE请替换成实际的部署命名空间,我的例子:

kubectl get all -n helloapp

输出形如:

NAME                             READY   STATUS    RESTARTS   AGE
pod/go-example-6d6f47fd6-5w4xw   1/1     Running   0          23h
pod/go-example-6d6f47fd6-gj249   1/1     Running   0          23h
pod/go-example-6d6f47fd6-kwxg5   1/1     Running   0          23h

NAME                 TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)          AGE
service/go-example   LoadBalancer   10.43.64.67   10.0.0.16     8800:32615/TCP   24h

NAME                         READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/go-example   3/3     3            3           24h

NAME                                    DESIRED   CURRENT   READY   AGE
replicaset.apps/go-example-59996666bf   0         0         0       24h
replicaset.apps/go-example-6d6f47fd6    3         3         3       23h

最后

恭喜你🎉,你现在拥有了一套完全自动化的、基于 Flux 的 GitOps 持续部署流水线!如有疑问或任何想交流的内容,欢迎评论和留言😄


author: Smoothcloud-润云 Zpekii

Flux: 自动化GitOps好帮手

说在前面

推荐阅读:GitOps | GitOps is Continuous Deployment for cloud native applications

什么是 GitOps

GitOps 是一种实现云原生应用持续部署的方法。核心是使用我们熟知的 Git 工具,在一个包含了我们应用的基础设施的声明性描述(比如 k8s deployment.yaml))的 Git 仓库中,完成自动化流程部署;在我们需要在集群上部署新应用或更新现有应用时,就只需要在 Git 仓库上提交就行了。

为什么要搭建 GitOps

  1. 让你的部署更快并且还可以让你更频繁地执行部署

    • 采用 GitOps 的独到之处就是你不需要来回切换工具来部署应用
  2. 更简单更快的错误恢复

    • 错误恢复只需要使用 Git 进行回退还原即可
  3. 更便捷的证书部署管理

    • 你不需要真正访问到部署环境中才能管理
  4. 自文档化部署

    • GitOps 规范要求对任何环境的每次更改都必须通过 Git 完成,这样你不需要通过 ssh 登录到服务器,直接通过查看主分支就能知道服务器都运行了什么
  5. 团队知识共享

    • Git 仓库中包含了所有应用的基础设施完整描述,团队中的每个人可以随时快捷的了解变化

Flux 介绍

官方地址: Flux

Flux 是一个用于保持 k8s 集群和配置源(如 Git 仓库)同步的工具,它能够在新代码推送到仓库后自动更新集群上部署的应用

Flux应用示例

前置条件

  • 已部署 k8s 或 k3s 集群(我将以 k3s 为例)
  • 可访问的 Git 仓库(Github, Gitlab 或 Gitea, 下面将以我自己部署的 Gitea 仓库为例,公开仓库:Zpekii/go-example)

安装 Flux Cli 工具

通过 Bash 安装(适用于Linux)

curl -s https://fluxcd.io/install.sh | sudo bash

检查是否满足所需依赖

flux check --pre

执行后输出形如:

► checking prerequisites
✔ Kubernetes 1.34.3+k3s1 >=1.32.0-0
✔ prerequisites checks passed

将 Flux 安装到集群

flux bootstrap git \
    --url=$URL \
    --branch=$BRANCH \
    --username=$USER_NAME \
    --token-auth=true \
    --path=./clusters/app

其中$URL$BRANCH$USER_NAME需要替换成实际的 git 仓库地址、分支(一般是mainmaster主分支)以及拥有访问 git 仓库的账号名

我的例子:

flux bootstrap git \
    --url=https://git.0orz.top/Zpekii/go-example.git \
    --branch=main \
    --username=Zpekii \
    --token-auth=true \
    --path=./clusters/app

执行后,需要输入 git 账号密码,如果通过校验,则会输出形如:

► connecting to github.com
✔ repository created
✔ repository cloned
✚ generating manifests
✔ components manifests pushed
► installing components in flux-system namespace
deployment "source-controller" successfully rolled out
deployment "kustomize-controller" successfully rolled out
deployment "helm-controller" successfully rolled out
deployment "notification-controller" successfully rolled out
✔ install completed
► configuring deploy key
✔ deploy key configured
► generating sync manifests
✔ sync manifests pushed
► applying sync manifests
◎ waiting for cluster sync
✔ bootstrap finished

这个过程将会:

  • (如果你填写的 git 仓库地址还没有创建,那么它会帮你创建)
  • 在你的 git 仓库添加 Flux 组件(通过向你的仓库发起一个提交进行变更, 组件将会保存到项目根目录clusters/app下,这个由--path参数决定)
  • 在你的集群上部署 Flux 组件
  • 配置 Flux 组件跟踪仓库上的 clusters/app 路径(由--path参数决定)

克隆你的仓库

git clone $URL

请替换$URL为你实际的仓库地址,我的例子:

git clone https://git.0orz.top/Zpekii/go-example.git

创建 kustomize 目录来保存你的部署配置文档

cd $PRJ_PATH && mkdir -p kustomize

$PRJ_PATH替换为拉取仓库到服务器本地文件系统后的项目路径,我的例子:

cd go-example && mkdir -p kustomize

编写集群部署配置文档

使用 vim 创建和编辑文档

vim kustomize/deployment.yaml

按下 Insert 键,根据自己的实际情况编写吧,可以参考我的例子:

apiVersion: v1
kind: Namespace
metadata:
  name: helloapp
---
apiVersion: v1
kind: Service
metadata:
  name: go-example
  namespace: helloapp
spec:
  selector:
    app: go-example
  ports:
    - port: 8800
      targetPort: 8800
  type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: go-example
  namespace: helloapp
spec:
  selector:
    matchLabels:
      app: go-example
  replicas: 3
  template:
    metadata:
      labels:
        app: go-example
    spec:
      containers:
        - name: go-example
          image: harbor.0orz.top/go-example/go-example:8b5d44399e523027840a68ce17249d9ecfd5c094
          imagePullPolicy: IfNotPresent
          resources:
            requests:
              memory: "5Mi"
              cpu: "10m"
            limits:
              memory: "50Mi"
              cpu: "100m"
          ports:
            - containerPort: 8800
          volumeMounts:
            - name: config-volume
              mountPath: /config
            - name: helloapp-test-key
              mountPath: /certs
          command: ["/helloapp"]
          args: ["-f", "/config/.linux-config.yaml"]
      volumes:
        - name: config-volume
          configMap:
            name: go-example-config
        - name: helloapp-test-key
          secret:
            secretName: helloapp-test-key # 需要事先创建该 Secret 
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: go-example-config
  namespace: helloapp
data:
  .linux-config.yaml: |
    server:
      port: 8800
    certs:
      testKeyPath: /certs/test.key

我都配置了什么:

  • 创建了一个helloapp命名空间用来单独和管理我部署的应用
  • 创建了一个Service来暴露我的应用,让外部可以访问
  • 声明了我的应用Deployment信息,需要哪些资源、使用哪个镜像、创建几个副本,以及使用哪些配置和密钥
  • 创建了一个ConfigMap来声明我的应用配置

按下 Esc 键退出编辑,然后输入保存并退出 vim 编辑

:wq

将仓库源添加到 Flux 中

在 Flux 中创建一个git source

flux create source git $SOURCE_NAME \
  --url=$URL \
  --branch=$BRANCH \
  --interval=1m \
  --export > ./clusters/app/$SOURCE_NAME-source.yaml

请根据实际替换相应的变量,我的例子:

flux create source git go-example \
  --url=https://git.0orz.top/Zpekii/go-example.git \
  --branch=main \
  --interval=1m \
  --export > ./clusters/app/go-example-source.yaml

执行后,输出形如:

apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
  name: go-example
  namespace: flux-system
spec:
  interval: 1m
  ref:
    branch: main
  url: https://git.0orz.top/Zpekii/go-example.git

将部署信息添加到 Flux 中

在 Flux 中创建一个 Kustomization ,让 Flux 知道从哪个源读取部署配置文档,然后应用并部署到集群中

flux create kustomization $SOURCE_NAME \
  --target-namespace=$TARGET_NAMESPACE \
  --source=$SOURCE_NAME \
  --path=$CONFIG_PATH \
  --prune=true \
  --wait=true \
  --interval=30m \
  --retry-interval=2m \
  --health-check-timeout=3m \
  --export > ./clusters/app/$SOURCE_NAME-kustomization.yaml

请根据实际替换相应的变量(注意$CONFIG_PATH是填写前面创建的kustomize目录路径),我的例子:

flux create kustomization go-example \
  --target-namespace=helloapp \
  --source=go-example \
  --path="./kustomize" \
  --prune=true \
  --wait=true \
  --interval=30m \
  --retry-interval=2m \
  --health-check-timeout=3m \
  --export > ./clusters/app/go-example-kustomization.yaml

执行后,输出形如:

apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
  name: go-example
  namespace: flux-system
spec:
  interval: 30m0s
  path: ./kustomize
  prune: true
  retryInterval: 2m0s
  sourceRef:
    kind: GitRepository
    name: go-example
  targetNamespace: helloapp
  timeout: 3m0s
  wait: true

将修改提交到仓库

git add . && git commit -m "chore: add GitRepository and  Kustomization"
git push

查看 Flux 应用同步状况

flux get kustomizations --watch

输出形如:

NAME            REVISION                SUSPENDED       READY   MESSAGE
flux-system     main@sha1:bea43605      False           True    Applied revision: main@sha1:bea43605
go-example      main@sha1:bea43605      False           True    Applied revision: main@sha1:bea43605

查看应用部署情况

kubectl get all -n $TARTGET_NAMESPACE

$TARTGET_NAMESPACE请替换成实际的部署命名空间,我的例子:

kubectl get all -n helloapp

输出形如:

NAME                             READY   STATUS    RESTARTS   AGE
pod/go-example-6d6f47fd6-5w4xw   1/1     Running   0          23h
pod/go-example-6d6f47fd6-gj249   1/1     Running   0          23h
pod/go-example-6d6f47fd6-kwxg5   1/1     Running   0          23h

NAME                 TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)          AGE
service/go-example   LoadBalancer   10.43.64.67   10.0.0.16     8800:32615/TCP   24h

NAME                         READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/go-example   3/3     3            3           24h

NAME                                    DESIRED   CURRENT   READY   AGE
replicaset.apps/go-example-59996666bf   0         0         0       24h
replicaset.apps/go-example-6d6f47fd6    3         3         3       23h

最后

恭喜你🎉,你现在拥有了一套完全自动化的、基于 Flux 的 GitOps 持续部署流水线!如有疑问或任何想交流的内容,欢迎评论和留言😄


author: Smoothcloud-润云 Zpekii

看到同学发的文章,是 Obsidian 的 CEO 每年问自己的 40 个问题。刚好我也在用 Obsidian 写笔记,刚好我也还欠着 2025 年度回顾没写 (最近光顾着玩游戏了,更新都是靠存稿撑着哈哈),而且感觉问题清单很不错,于是也来跟风自问自答一篇。


1. 你有没有遵守年初时和自己许下的约定?

年初没有设定太具体的目标,只有个大概期望:一方面是工作顺遂,另一方面是大幅减重。

基本都做到了,工作经历了一些波折和焦灼之后重新恢复到稳定状态,体重更是回到了 20 年前大学时代的水平,体检各项指标也有显著改善,超出预期了。

2. 你今年做了哪些之前从未做过的事?

开设了公众号,之前只在微信读书发书评,以及朋友圈和 Facebook 的一些笔记,现在有了一个固定的长内容输出平台,瞬间激发了中年老男人无处安放的分享欲啊~ 🤣🤣🤣

而且从 11 月开始,还尝试挑战「日更不辍」每天发文,基本也都坚持下来了,给自己在读书和游戏之外,找到了新的乐趣来源。

3. 你的性格是什么?

我的 MBTI 人格测试 结果是 ESTJ (偶尔 ENTJ),但我始终觉得自己本质上是个 I 人,并没有太多的线下社交的需求,也不喜欢「现充」的生活状态,更喜欢安静的独处,看书、玩游戏 (而且只玩单机,不玩网游和手游)、再加上新的写作爱好才是我最舒服的美好时光。

只是可能有一点「表演型人格」的因素 (我在 PDP 性格测试 中是一只超级大 孔雀 哈哈),所以和任何人相处的时候都能够挥洒自如,所以大家都认为我是社交达人,其实那不是内心深处的我。

但我是个 J 人绝对没错!不仅是工作,就连生活也都有计划,提前 1-2 周就把时间都 Mark 到日程表上了 (而且对于非预约的突然来访、未提前通知的会议、临时起意召集的聚会等行径都极其厌烦,因为打乱了我的既定安排)

4. 你今年买过的最好的东西是什么?

安装全屋暖气系统,以及更换预埋网线升级全屋千兆 Wi-Fi 7 网络,这两件事非常值得,我也写了专门的攻略文章分享:

告别湿冷!在上海过冬也能穿短袖?全屋墙暖 yyds~

这 5000 元花的太香了!更换装修预埋网线,重构全屋千兆网络

唯一后悔的点是动手太晚了,应该早几年就折腾起来的。

640

5. 你去了哪些城市/州/国家?

自从疫情三年之后,护照就被收走了,也懒得麻烦借用,就一直没再出国。

今年出差也比前几年少了很多,大概只是常去的几个城市:北京、广州、杭州、武汉、苏州、常州、厦门、宁德、重庆这些吧。

另外 9 月份休假去了贵州和广西,都是之前出差去过但没时间玩的地方,换个心情去旅游确实有完全不一样的体验。

6. 你最害怕的是什么?

害怕父母会太早离开我们。

年初老爸复诊发现一个疑似转移,当时非常紧张,我研究了很多内容还写了分析笔记,甚至预先规划好可能的几种备选方案。后来经过两家最好医院的专家分别检查诊断,确认只是虚惊一场才放下心来。刚写到这里又回去翻了一下当时的笔记,那种慌乱和恐惧的情绪还历历在目。

7. 今年的哪些日子会铭刻在你的记忆中,为什么?

6 月 1 日,给黑妞儿过 20 周岁生日! 🎂🎂🎂

我们提前挑选了很多照片打印出来,准备了彩色纸张组成大字横幅,然后用鱼线悬挂起来布置了客厅,给我们的第一只猫也是最老的猫庆祝 20 周岁生日 (相当于人类 100 岁左右)。从 2005-2025 年,黑妞儿一起经历了我们生活过的每一个家,从杭州到上海,从租房到买房到换房,希望他还能继续多陪伴我们几年~

640 (1)

8. 现在的你会给十年前的你一些什么建议?

十年前就是 2015 年,我们在那一年当中一口气买了 3 套房子,还买了一辆 60+ 万的车,买东西更是直接选最贵的,5 万的除湿机、2 万的冰箱、1 万的电视、8000 的洗衣机,甚至直到现在看着家里那台 6000 元的电风扇也觉得当初过于丧心病狂了 —— 那时候正是我们自信心过度膨胀到顶点的时刻。

如果能给当时的自己一点建议,只希望能够提前清醒过来:人生的收入曲线并不是永远上升的,房价不会永远涨,经济大环境也不会永远那么好。

9. 你希望十年之后,什么发生了变化?

希望十年之后,自己的心态能够更加平和,笑看人生,云淡风轻。

不是现在这样,面对逆境只是强行让自己苟住。而是到那个时候,国家统一了、世界和平了、经济回暖了、事业更好了,自然而然就会放松下来,信心满满,游刃有余。

10. 你希望十年之后,什么依旧保持一致?

希望十年之后,全家 6 口人还是好好的生活在一起!

11. 若拥有亿万财富,你会做什么?

我应该会做点没有负担没有压力的工作,以便让自己有更多的时间读书、写作、玩游戏吧~ (梦里啥都有哈哈哈)

12. 你今年最大的失败是什么?

有些事情,不是自己需要负责的范畴,就应该第一时间坚决果断的拒绝,而不是碍于情面虚与委蛇,最后反而被拉扯进去,不得不硬着头皮处理一些很消耗情绪价值的破事。

13. 你最厌恶别人的特质是什么?

厌蠢! 😡😡😡

我宁愿和坏人斗智斗勇,也讨厌和蠢人打交道。无知、固执、反智、低效,这些卑劣的特质居然可以在一个人身上同时显现,真是令人憎恶。。。

14. 在你心中什么是最完美的幸福?

对于 J 人来说,事情能够按照自己的预期规划顺利进行,就是幸福。

善战者无赫赫之功,最好不要有任何意外来彰显我的应急能力。

15. 今年你大部分的钱都花到哪里去了?

今年基本清空了全部房贷,还剩下一点保留抵税,并且已经可以用公积金完全覆盖了。还换了一辆 MPV 电车。

16. 有什么事让你感到超级、超级、超级兴奋?

貌似没有。

17. 与去年的这个时候相比,你是:感到更快乐还是更悲伤了?变得更瘦还是更胖了?变得更富还是更穷了?

情绪上稳定乐观吧,没什么悲伤,但是经济大环境让人快乐不起来。

体型上更瘦了,这个非常明显,体重从 194 斤减到 135 斤,全部衣服裤子都换了,就连腰带都刚重新买了一条更短的。。。

经济上算是负债大幅降低,去杠杆任务基本完成了。

18. 什么是最痛苦的?

焦虑,而又无力解决,然后更加焦虑。

有一段时间压力很大,失眠很严重,不得不靠吃药才能调节,还好后来事情回归平稳状态,情绪也慢慢舒缓下来了。

19. 你希望自己能做得更多的是什么?

持续阅读,持续学习,持续思考,持续输出。

20. 你希望自己能做得更少的是什么?

无效社交,减少非必要的应酬,尽可能不喝酒,把时间留给自己。

同时减少噪音干扰,卸载抖音,屏蔽视频号,大量取消关注的人,避免信息过载,把更多时间留给读书和写作。

21. 你是如何度过节假日的?

全家人终于都长住上海了,而且都在同一个小区,节假日就是宅在家里不出门啊!(最近《Diablo IV》预售 DLC2 开放新角色圣骑士,更是没日没夜刷游戏了哈哈哈~) 🎮🎮🎮

旅游都是错峰休假出行,坚决远离人多的时间和地方。

22. 你最想培养的特质是什么?

学会拒绝别人。

放下助人情结,尊重他人命运。

23. 你是否有讨厌某个你去年此时不觉得讨厌的人呢?

没有。

讨厌的人一直都是那么讨厌,只需要「再也不见」就好了。

24. 你今年最喜欢的电视节目是什么?

不看电视。

25. 你今年读过最好的一本书是什么?

《毛泽东选集》,经典永远是经典! 伟人近一百年前写的文章,其中很多内容时至今日仍是至理。

围绕着重读《毛选》的感悟,今年还写了好多篇读书笔记。

26. 你今年发现的最好听的一首歌是什么?

在我的每月随笔中,陆续推荐过几首歌:郁可唯《再见的,不见的》、王优秀《想某人 (DJ 舞曲版)》、石岩《蜉蝣志》、徐佳莹《我经过风暴》、张碧晨《我不原谅》、任素汐《亲爱的你啊》。

其中还写了两篇听歌笔记:
一曲《蜉蝣志》:唱的不是修仙,而是我们凡人
不是情歌!从《亲爱的你啊》听到了我们每一个咬牙坚持的追梦人

如果只能选一首的话,我投票给《亲爱的你啊》。

27. 你最喜欢的电影是什么?

也不看电影。

28. 你最喜欢的一餐是什么?

在北京南站吃了一碗久违的李先生牛肉面。

为此还专门写了一篇笔记:
记忆的味道:一碗牛肉面的时光叙事

29. 有什么是你想要且得到了的?

全家人都在一起,工作稳定且比较顺利,身体健康。

30. 有什么是你想要却没有得到的?

哪怕是最低限度的财富自由。

31. 你在生日那天做了什么?

上班同事送给我一个非常好吃的小蛋糕,回家太太送给我一台 5080 游戏本 (所以我最近玩游戏的时间明显增多了哈哈哈) ~ 🎁🎁🎁

640 (2)

32. 有什么还未发生的事,如果发生了,会让你的这一年变得无比满足?

花了很多时间精力,跟进了整整一年的全新业务板块,最终还是没能赶在年底前正式落地,首单产出只能等到 1 月份了,实在是有点遗憾。

33. 是什么让你保持理智?

我知道自己在人多混乱的地方就会情绪暴躁,那么就要提前回避这样的场景出现,宁可这顿饭不去吃、这个景点不去玩、这个东西不去买。

同理,已经 40 多岁的中年老登了,应该能对自己有一定的预见性,遇到破事提前做好心理建设吧 (情绪稳定的太太绝对是我的灭火器) ~ 🧯🧯🧯

34. 你最想去什么地方生活?

夏天去东北或烟台避暑,冬天去大理或者海南,春秋在上海与朋友们小聚,每年 3 月和 9 月刚开学又没有长假的时间错峰出行旅游。

35. 你欣赏男人身上的气质是什么?

三观正,有逻辑,遇事不慌,中正平和。

36. 你欣赏女人身上的气质是什么?

善良,独立 (不仅仅是经济上独立,还包括独立生活能力),情绪稳定。

37. 你最钦佩哪位名人/公众人物?

毛泽东 (原因参见第 25 个问题)

38. 你收到的最好的赞美是?

你懂的真多 / 你讲得真好 / 你思路真清楚 / 你写的文章好看 / 给你点赞! 👍👍👍

39. 今年你学到了什么有价值的人生教训?

有理不在声高。

这也是我今年写的一篇笔记:

有理不在声高

40. 用一句话总结你这一年?

人生从不是一场必须夺冠的竞赛,而是一段体验的旅程。

这同样是今年的一篇笔记:

内求诸己,不假外物:学会与自己和解,才是人生的归宿


2026 继续前行!但求无愧于心,过好自己的生活就足够了~ 💪💪💪

今天凌晨,马斯克的商业帝国又发生巨变:

计划在今年 IPO 的 SpaceX收购了 xAI。新公司估值达 1.25 万亿美元(约合人民币 8.68 亿元),差不多是 xAI 估值(目前约 2500 亿美元)的五倍。 

有意思的是,据彭博社消息,知情人士透露,这笔交易是全股票交易,合并公司的股票预计每股价格为 526.59 美元。

另据路透社消息,在本次收购中,xAI 的投资者,每持有 1 股 xAI,可兑换 0.1433 股 SpaceX 股票;部分高管还可选择按每股 75.46 美元现金退出。

合并之后,这个巨大的“SpaceX Plus 版”,一口气拥有了:火箭、太空互联网、通信、AI、还有社交平台——去年 3 月,xAI 以 330 亿美元收购了 X 平台。

马斯克亲自写下一篇博客,阐明他的“太空 AI 算力”路线:

“这不仅是 SpaceX 与 xAI 使命的下一个篇章,而是下一本书:通过规模化,打造一颗“有意识的太阳”,以理解宇宙,并将意识之光延伸至群星之间。

当下,AI 的进步高度依赖于地面的大型数据中心,而这些设施需要极其庞大的电力与制冷能力。

全球范围内,为 AI 提供算力所需的电力需求,即便在短期内,也无法仅靠地面方案来满足,否则势必会对社区与环境造成沉重负担。

从长期来看,基于太空的 AI 是唯一可行的规模化路径。哪怕只利用太阳能量的百万分之一,所需的能量规模,也将超过人类文明当前总能耗的一百万倍。

因此,唯一合乎逻辑的解决方案,就是将这些高度消耗资源的计算活动,转移到一个拥有充足空间与能量的地方......”

不过虽然总体上“合二为一”了,但公司还向员工发了份内部备忘录,称 SpaceX 和 xAI 的品牌、工作目前暂时保持独立:

xAI 的员工未经批准不得直接访问 SpaceX 的内部数据库,也不能和这家火箭公司的员工直接合作;但是嘛,SpaceX 的员工,或许可以访问 xAI 的内部工具。

##AI+航天,“垂直整合型创新引擎”

这篇博客的开头,气势就直接拉满了:“SpaceX 已完成对 xAI 的收购,目标是打造一个在地球之上、也在地球之外,最雄心勃勃的垂直整合型创新引擎”

马斯克还在博文中笑称:“太空之所以叫'space',本来就是因为那里有足够的空间。”,还抛出一个大胆的预判:

“未来两到三年内,AI 计算成本最低的地方,会在太空。”

此话看起来很玄乎,但它并不是一句完全脱离工程现实的“马斯克式豪言”。

首先,在马斯克看来,AI 发展的“硬约束”不是芯片,而是电力和散热;而太空确实具备一些地面数据中心不容易同时满足的条件:

近地轨道是真空环境,散热在理论上更有优势;太阳能获取几乎不受昼夜限制,还基本不存在土地、电网接入、地方审批这些隐性成本。

如果算力直接部署在轨道上,还可以与卫星通信网络形成更紧密的耦合,把“感知—计算—传输”压进同一个系统里。

另外,他比较乐观假设了星舰(Starship)会把“发射成本”压到极低。

他表示,今年,将开始由星舰,把能力更强的 V3 星链卫星送入轨道。星舰单次发射所增加的系统容量,将超过当前 Falcon 发射 V2 版星链卫星的 20 倍

他随后给出了一个更直观的“算术题”:

如果每年向轨道发射 100 万吨卫星,每吨可提供 100 千瓦的计算能力,那么每年就能新增 100 吉瓦(GW)的 AI 算力,而且几乎不需要持续的运营或维护。从长期来看,存在一条每年向轨道部署 1 太瓦(TW)算力的路径

这是什么水平?

已知:1 太瓦(TW) = 1,000 吉瓦(GW),而一个大型核电站的发电功率才 1–1.5GW,而今天全球全部 AI 数据中心的用电规模,也就大致在数十 GW 量级。

而且马斯克不止嘴上说说,已经开始大举行动了。1 月 30 日,SpaceX 向美国联邦通信委员会(FCC)提交了一份文件,计划发射 100 万颗卫星,在近地轨道打造一个“轨道数据中心系统”,消息直接炸穿了航天圈。

总而言之,马斯克认为太空算力更便宜,并不是因为今天的技术有多么成熟,而是基于这三个前提能否同时兑现

  • 星舰可以把发射成本压到工业级

  • 太阳能可以提供近乎无限的长期电力

  • AI 算力的主要成本最终会集中在能源和散热上

但是现实的问题也清晰且棘手

首先是任务类型:推理或许还能容忍一定延迟,但大规模模型训练对同步性、带宽和稳定性的要求极高,把它搬到轨道上是否合适,本身就是一个问号。

其次是维护与可靠性:地面数据中心可以随时换板、换机、扩容,在轨硬件一旦出问题,几乎没有快速补救手段。 再往下是辐射、寿命和算力密度这些航天级约束,本来就和“把算力堆到极限”的 AI 逻辑存在天然冲突。

还有绕不开的问题:。无论是发射、替换,还是在轨运行,短期内都很难被称为“低成本”。

另外,截至目前,Starlink 依然是一个明确以通信为核心目标的系统。公开信息里,并没有任何已经成规模运行的“在轨算力”或“轨道数据中心”实验被披露。

这意味着,所谓“太空算力”,至少在现在,更像是一种方向判断,而不是已经跑通的工程方案。

正是在“太空算力还没闭环、地面模型公司又烧不动”的夹缝里,xAI 的定位开始转向

单独看 xAI,其问题其实挺清楚:模型研发和推理成本极高,每月烧钱在十亿美元量级;Grok 还没有形成稳定、可复制的商业模式;而且在与 OpenAI、谷歌等大厂的竞争中,大模型公司已经被拖入一场算力和资本的消耗战。

与 SpaceX 合并之后,xAI 不再只是“再做一个模型的公司”。它被放进了一个覆盖通信网络、轨道资源、能源与算力入口的系统里,AI 开始承担的是系统级能力

这也可能会改变 Grok 的潜在去向:它不再只是聊天机器人,而更可能成为星链终端的智能层、航天等场景中的信息处理系统,甚至是面向真实世界的实时世界模型。

##一场为 IPO 铺路的重构

如果说技术与产业路径解释了“这件事是否合理”,那么资本层面的变化,或许可以解释一下为什么是现在

这次交易背后,有一组清晰的数字:SpaceX 的内部估值约为 1 万亿美元,xAI 约为 2500 亿美元,合并后的整体估值约 1.25 万亿美元。

另据路透社消息,SpaceX 可能在 2026 年中推进 IPO、募资规模最高达 500 亿美元、估值目标可能到 1.5 万亿美元左右。不过 SpaceX 方目前对此还没给出回复。

把这些数字放在一起看,SpaceX 合并 xAI,就像是把两本厚薄悬殊的账,摊在同一张桌子上重新算:

xAI 的财务压力非常大,外界此前就多次报道其现金消耗速度接近“每月 10 亿美元量级”,并出现持续亏损。

相比之下,SpaceX 的“现金流”不仅持续,还逐年增长。其 2023 年总收入为 87 亿美元,2024 年增长至 131 亿美元,而据路透社消息,SpaceX 在 2025 年长到了 150 亿美元,其中 Starlink 的贡献比例约 50%–80%,经营利润(EBITDA 口径)约 80 亿美元。

从某种可以说,这次合并,是把高风险资产并入一个现金流更稳定、确定性更强的主体之中。

与此同时,这也完成了一次 IPO 叙事的升级

即将上市的主体,不再只是“一家火箭公司”,而是被包装为一个同时覆盖 AI、太空与通信基础设施的系统级公司。

对于投资人而言,这一步还回应了一个现实的问题:xAI 持续烧钱,谁来兜底?——给出的答案是:由一个已经具备基础设施属性、且现金流正在增强的主体来兜底。

当然,公开市场并不会为宏大叙事本身买单。

真正决定这次合并能否在 IPO 中站得住脚的,仍然是几个极为现实的指标:

不过还有一点需要说明:公开市场不会只听故事。真到了 IPO 关口,这些指标依然关键,比如:

  • Starlink 的收入和现金流能否持续;

  • AI 训练与数据中心投入会不会把主业的盈利“吃回去”;

  • 一个横跨航天、AI、社交平台等的公司,治理结构、信息披露与监管边界是否会变得更复杂。

总而言之,在笔者看来,在 IPO 预期升温的节点上,这次合并很像一次提前做结构调整的尝试;能不能被市场买账,还得看后续财务表现和治理。

参考链接:

https://x.com/SpaceX/status/2018440335140024383

https://www.spacex.com/updates#xai-joins-spacex

https://www.bloomberg.com/news/articles/2026-02-02/elon-musk-s-spacex-said-to-combine-with-xai-ahead-of-mega-ipo

我的 Google 账号以前填写过中国地址,导致我付费开通 Google One 以后,无法使用任何 AI 功能,唯一有用的功能就是 100GB 储存空间。

而且现在 Google 不给我退钱,请问我还有办法通过什么操作,把 AI 功能找回来吗?

本文首发于 Aloudata 官方技术博客:《选型对比:Apache Atlas vs 商业元数据平台存储过程解析能力实测》转载请注明出处。

摘要:本文针对金融、制造等行业中 DB2、Oracle 存储过程解析的治理难题,深度对比了 Apache Atlas 与 Aloudata BIG 等商业平台的技术差异。核心聚焦于表级/列级血缘与算子级血缘的本质分野,并通过实测场景展示高精度解析如何驱动自动化资产盘点、主动风险防控及 DataOps 协同等核心治理场景,为企业数据治理选型提供决策依据。

演进背景:为何存储过程成为元数据管理的“硬骨头”?

在金融、制造业等传统行业,核心业务逻辑往往被封装在成千上万的 DB2、Oracle 存储过程中。这些存储过程不仅是数据加工的关键环节,更是监管指标口径的最终承载者。然而,它们却成为数据血缘治理中最难啃的骨头,原因在于其三大特性:

  1. 封闭性:逻辑封装在数据库内部,与外部ETL调度系统解耦,传统采集器难以触达。
  2. 动态性:大量使用临时表、游标、动态 SQL 拼接,数据路径在运行时才确定。
  3. 方言多样性:不同数据库的 PL/SQL、DB2 SQL PL 等方言语法各异,私有函数和语法糖层出不穷。

正如行业观察所指出的:“传统解析器一碰到存储过程、DBLINK、同义词像迷宫一样彼此引用...轻则血缘断链,重则错配跨库连接。” 这直接导致了企业数据链路“看不清”的核心痛点:面对监管报送(如 EAST 报表)要求,数据团队需要耗费数周甚至数月进行人工指标口径溯源与盘点,效率低下且准确率无法保证。

核心困境:如果无法精准解析存储过程,那么基于血缘的影响分析、故障溯源、合规审计都将建立在沙丘之上。

核心差异:表级/列级血缘 vs 算子级血缘的本质分野

面对存储过程解析的挑战,不同技术路线的能力差异本质上是血缘解析粒度的差异。这直接构成了开源/传统工具与先进商业平台之间的技术分水岭。

对比维度Apache Atlas (代表开源/传统)Aloudata BIG (代表先进商业平台)
解析范式被动元数据管理,依赖 Hook 采集主动元数据平台,主动解析与感知
解析粒度表级、列级为主算子级 (Operator-level)
技术原理基于正则或简单语法匹配字段名基于 AST(抽象语法树)的编译器级深度解析
存储过程支持有限支持,通常依赖外部Hook或手动标注原生深度解析,支持 PL/SQL、DB2 SQL PL 等方言
解析准确率复杂场景下通常低于 80%>99% (基于核心能力)
核心衍生能力资产目录、基础血缘视图行级裁剪、白盒化口径提取、动态 SQL 穿透

关键概念澄清:

  • 表级/列级血缘:回答“数据来自哪些表/字段”。它像一张只标明了城市和街道的地图,无法知晓街道内的交通规则(过滤条件)和立交桥(多表关联逻辑)。
  • 算子级血缘:回答“数据经过怎样的加工(过滤、连接、聚合)而来”。它像一张高精度导航图,能清晰展示每一个路口(算子)的逻辑,这是实现后续精准治理的技术基石。

精度实测对比:从“有没有”到“准不准”的能力代差

在存储过程解析上,真正的代差不仅在于“能否解析”,更在于“解析得是否精准、是否理解复杂逻辑”。这直接决定了基于血缘的治理动作是“精准手术”还是“粗放轰炸”。我们通过三个典型场景进行对比:

场景一:复杂逻辑覆盖(DB2 存储过程)

  • 挑战:一个 DB2 存储过程,内部包含临时表循环写入、基于游标的动态数据分派、以及使用EXECUTE IMMEDIATE执行的动态 SQL。
  • Apache Atlas:可能仅能捕获存储过程的输入表和最终输出表,中间复杂的临时表转换和动态逻辑链路完全丢失,血缘图出现断点。
  • Aloudata BIG:凭借算子级血缘引擎,能像编译器一样穿透临时表、解析动态 SQL 字符串,将整个存储过程的完整逻辑还原为包含 Filter、Join、Aggregation 等算子的精细化图谱,保证链路连续、准确。

场景二:监管口径追溯(EAST 报表指标)

  • 挑战:业务人员需要追溯某个 EAST 报表中“贷款减值准备”指标的具体计算口径。
  • Apache Atlas:可能只能给出该指标最终关联的物理表名列表(如 table_atable_b),业务人员仍需人工翻阅大量存储过程代码来理解WHERE条件、CASE WHEN逻辑。
  • Aloudata BIG:可通过白盒化口径提取功能,自动将穿透多层视图和存储过程的复杂 SQL 逻辑,压缩成一段可读的、近似于原始业务逻辑的 SQL 语句,清晰展示过滤条件、关联关系和计算规则,实现“一键溯源”。

场景三:变更影响分析

  • 挑战:修改某个存储过程中关于“客户等级=‘VIP’”的过滤条件。
  • Apache Atlas:基于列级血缘,影响分析会简单粗暴地波及所有下游使用该存储过程输出结果的表和报表,导致大量误报,需要人工逐一筛选。
  • Aloudata BIG:基于行级裁剪技术,能精准识别该WHERE条件,并分析出只有那些依赖“客户等级=‘VIP’”这个特定数据子集的下游任务才会真正受影响。可将评估范围降低 80% 以上,实现精准、高效的影响评估。

实证案例:浙江农商联合银行在引入 Aloudata BIG 后,对其核心系统中的 DB2 存储过程进行血缘解析,实现了 99% 的解析准确率(数据来源:浙江农商联合银行案例实践),为后续的自动化治理奠定了可靠基础。

场景能力对比:解析之后,如何驱动自动化治理?

高精度解析是强大的“武器”,但唯有与业务场景结合,才能转化为真正的“战斗力”。在解析能力之上的自动化应用水平,是开源与商业平台另一个显著的差距。

治理场景Apache Atlas (典型状态)Aloudata BIG (典型能力)核心价值
自动化资产盘点需手动配置采集器,关联业务含义,大量人工确认。“一键溯源”:自动生成监管报送指标的完整加工口径。浙江农商联合银行案例显示,监管指标盘点从数月缩短至 8 小时,人效提升 20 倍。应对监管合规,提效降本。
主动风险防控缺乏事前事中评估能力,通常在故障发生后用于链路查看。“事前事中”:在存储过程代码上线前,自动评估变更对下游核心报表的影响。中国民生银行借此构建了变更协作机制,保障核心链路。规避资损风险,保障数据服务 SLA。
主动模型治理可发现表级依赖,但难以深入逻辑层识别问题。识别存储过程中的“坏味道”(如循环依赖、重复计算),并辅助生成模型重构或数据库迁移(如Oracle转国产库)的建议代码。招商银行在数仓迁移中,利用相关能力节省了 500+ 人月工作量。优化架构,降低存储计算成本。
DataOps 协同作为静态资产目录,难以驱动流程。作为 DataOps 的“控制流”,将精准血缘融入测试用例生成、发布审批、故障定位等环节。招商银行实践表明,其代码上线前评估时间缩短 50%。提升研发运维协同效率,加速数据价值交付。

选型避坑指南:根据你的企业现状做决策

选择开源还是商业平台,不应是单纯的技术偏好或成本博弈,而应基于企业数据现状和治理目标的理性决策。

适合 Apache Atlas 的情况:

  • 技术栈:以 Hadoop、Hive、Spark 等开源大数据生态为主。
  • 数据复杂度:存储过程较少或逻辑简单,血缘需求以数据资产发现、目录化管理和基础链路可视化为目标。
  • 团队能力:拥有较强的内部研发和运维团队,能够承担Atlas的部署、定制开发、插件编写和长期维护成本。
  • 治理阶段:处于数据治理初期,对自动化治理场景要求不高。

必须考虑商业平台(如 Aloudata BIG)的情况:

  • 核心系统:大量核心业务逻辑封装在 DB2、Oracle、GaussDB 等传统数据库的存储过程中。
  • 合规压力:面临 EAST、1104 等严格的监管报送要求,对指标口径溯源的自动化、准确性、时效性有极高要求。
  • 风险容忍度:无法承受因上游变更导致下游报表错误或数据资损的风险,需要建立事前事中防控机制。
  • 战略项目:正在进行数仓重构、国产化替代、或深度推行 DataOps,需要元数据作为“控制流”驱动自动化协同。

核心提醒:切勿因初期授权成本而选择无法解决核心痛点的工具。一旦在复杂存储过程解析上“失准”,后续所有治理动作都可能失效,导致项目推倒重来,其隐性成本(时间、机会、风险) 远超工具本身差价。

常见问题 (FAQ)

Q1: Apache Atlas 完全不能解析存储过程吗?

不完全正确。Apache Atlas 可以通过自定义 Hook 或解析器插件来捕获存储过程的执行信息,但其原生、开箱即用的深度解析能力有限。特别是对于 DB2、Oracle 中复杂的 PL/SQL 逻辑(如动态 SQL、游标循环),很难做到高精度、自动化的算子级解析,通常需要大量人工编写规则、补全和维护血缘,可持续性和准确性面临挑战。

Q2: 存储过程解析准确率 >99% 是如何实现的?

这依赖于算子级血缘技术。平台会像编译器一样,基于抽象语法树(AST)深度解析 SQL 和存储过程代码,理解每一个操作符(如 Filter, Join, Aggregation)的语义和逻辑关系,而非简单进行表名字段名的文本匹配。同时,结合对多种数据库方言(如 DB2 SQL PL)的深度支持和动态 SQL 的穿透分析能力,从而在复杂场景下仍能保证极高的解析准确率。

Q3: 除了存储过程,商业元数据平台还有哪些关键优势?

核心优势在于将高精度血缘转化为自动化治理能力。例如:1) 行级裁剪实现精准影响分析,减少误报;2) 自动化监管指标盘点,将人效提升数十倍;3) 事前事中变更风险防控,避免资损;4) 作为 DataOps 的“控制流”,驱动测试、发布、运维的自动化协同。这些体系化的、开箱即用的场景化能力,是开源工具需要大量定制才能部分实现的。

Q4: 中小企业是否也需要为存储过程解析投入商业平台?

取决于业务对数据的依赖程度和风险承受能力。如果企业的核心业务逻辑和财务报表严重依赖存储过程,且数据错误会导致直接业务损失或合规风险,那么这项投资具有高必要性。反之,如果存储过程简单、变更不频繁,且对血缘的实时性、准确性要求不高,可先利用开源工具结合人工管理进行过渡,但需评估未来业务增长带来的复杂度提升风险。

维护个边缘项目,摸了一年鱼,搞了健身,上班没事看看书学学新东西,就也还行……😂😂😂

年后看看换换了……

https://ceceya.net

TqFSyqr2LP5Iqb7QhYAMfXc5OdMkBGot.webp

测测鸭 | 发现你的职业潜能

职业测评科学原理 与应用白皮书

科学驱动 · 数据赋能 · 职业未来


1. 引言:新一代职业发展导航系统

在数字化转型的浪潮下,职业形态正经历着前所未有的剧变。新兴职业的涌现与传统岗位的迭代,使得现代职场人在职业选择上面临着巨大的不确定性与迷茫感。

测测鸭 (Ceceya) 作为新一代职业发展导航系统,正是在这一背景下应运而生。我们的使命是通过科学严谨的心理学模型与先进的数据分析技术,消除职业规划中的信息不对称与认知盲区。不同于传统的经验主义咨询,Ceceya 坚持 "循证决策" (Evidence-Based Decision Making) 的理念,构建了以经典心理学理论为基石、以大数据算法为引擎的测评体系。我们致力于将复杂的个人特质转化为可视化的数据洞察,帮助用户从 "直觉选择" 转向 "科学决策",实现个人价值与社会需求的精准匹配。


2. 核心理论一:霍兰德职业兴趣模型 (RIASEC)

测测鸭的职业兴趣评估模块基于著名的霍兰德职业兴趣理论 (Holland's Theory of Vocational Personalities)。该理论由美国心理学家约翰·霍兰德 (John Holland) 于 1959 年提出,是目前全球应用最广泛、实证效度最高的职业指导理论之一。

RIASEC 六大核心类型

  • R 现实型 (Realistic) — 崇尚实干,喜欢操作工具、机械,偏好具体而非抽象的任务。

  • I 研究型 (Investigative) — 善于思考,喜欢探索、分析与解决科学问题,追求知识与真理。

  • A 艺术型 (Artistic) — 富有想象力,追求创新与自我表达,具有独特的审美与直觉。

  • S 社会型 (Social) — 热衷助人,擅长人际沟通、教育与服务,具备同理心。

  • E 企业型 (Enterprising) — 追求权力与成就,善于领导、劝说与管理,目标导向明确。

  • C 常规型 (Conventional) — 注重细节,喜欢有序、规范的数据处理工作,责任心强。

> RIASEC 不仅仅是简单的分类,它构建了一个严谨的六边形结构。位置相邻的类型(如 R 和 I)在心理特质上具有较高的相关性(一致性);而相对位置的类型则差异最大。Ceceya 的算法利用这一几何关系计算用户与特定职业的适配度。


3. 核心理论二:舒伯职业价值观体系

如果说兴趣决定了**"你会喜欢做什么",那么价值观则决定了"你为什么而工作"。Ceceya 引入了舒伯工作价值观量表 (Work Values Inventory, WVI)** 作为评估体系的第二大支柱。

Ceceya 的价值观测评覆盖了舒伯体系中的 15 项核心维度,分为内在价值观(如利他主义、美感、智力激发)和外在价值观(如经济报酬、声望、工作环境)。通过分析这些驱动力,我们帮助用户找到能带来长期满足感和稳定性的职业环境。


4. 测测鸭测评体系的技术实现

01 全量测评

严格遵循霍兰德架构,通过活动、能力、职业偏好、自我评价四个维度交叉验证,确保结果的深度与准确性。

02 快速速测

针对碎片化时间设计,精选 60 道核心题目,利用自适应逻辑在 10 分钟内快速锁定 RIASEC 优势代码。

03 可视化引擎

采用动态雷达图与柱状图呈现结果,精准计算标准分 (Z-Score),直观展示维度均衡度与突出优势。


5. 测评结果解读与应用指南

一份高质量的测评报告不仅要呈现数据,更要指导行动。Ceceya 的报告解读遵循 "特质识别—综合分析—决策支持" 的逻辑路径。

兴趣与价值观的"双轨决策"

我们建议用户在解读报告时,将**霍兰德代码(兴趣)舒伯核心价值观(需求)**进行交叉比对。例如,同样的兴趣代码在不同的价值观驱动下,可能指向完全不同的职业细分领域(如"利他主义"指向教育咨询,而"经济报酬"指向销售管理)。


结语

职业生涯是一场长跑,而非百米冲刺。测测鸭 (Ceceya) 致力于通过科学的测评工具,帮助每一位用户建立清晰的自我认知。未来,我们将继续深化 AI 技术在职业规划领域的应用,赋能每一个个体实现潜能的最大化。

https://ceceya.net

测测鸭的师兄: https://boboji.org

在数字化转型浪潮下,企业对客户关系管理(CRM)的需求早已突破“单纯管客户”的边界,延伸至订单、库存、采购、生产的全业务链一体化管控。本文选取超兔一体云、SugarCRM、HubSpot CRM、SuiteCRM、 EC (腾讯EC)、励销云、腾讯企点CRM、神州云动CloudCC、浪潮CRM9款主流产品,围绕销售机会管理、订单管理、产品与库存管理、采购管理、生产管理五大核心模块展开专业横向对比,为企业选型提供决策依据。

一、整体能力雷达图评分(满分10分)

品牌销售机会管理订单管理产品与库存采购管理生产管理综合评价
超兔一体云9.5109.599全模块原生一体化,覆盖全业务链
SugarCRM96433销售能力成熟,后端需插件/集成
HubSpot CRM9.25.53.532.5营销-销售一体化,后端依赖生态集成
SuiteCRM7.5543.53开源高定制,需技术团队支撑落地
EC(腾讯EC)84111社交化销售管控,后端能力缺失
励销云8.56.5554.5中小B2B全流程覆盖,需部分集成
腾讯企点CRM74.5211腾讯生态前端协同,后端能力薄弱
神州云动CloudCC7.55.5511销售+AI能力突出,后端需集成
浪潮CRM56666集团级集成底座,原生能力需依赖ERP

二、分模块深度对比

(一)销售机会管理:从获客到转化的核心战场

销售机会管理是CRM的核心模块,直接决定企业获客效率与转化成功率。以下从获客能力、跟单模型、生命周期管理、AI/数据分析四大维度展开对比:

1. 核心能力对比表

品牌获客能力跟单模型适配客户生命周期管理AI/数据分析支持
超兔一体云百度/巨量引擎/官网/微信/工商搜客等多渠道集客;线索一键转化为客户/订单;市场活动成本自动均摊三一客(小单快单)、商机阶段(中长单)、多方项目(多主体业务)3种原生模型;节点化推进自动分类需求培养/有需求/成功等多客池;支持客户画像自定义、视图布局个性化配置低门槛自定义AI智能体嵌入视图;同比环比引擎、多表聚合引擎;嵌入式Coze工作流
SugarCRM多渠道线索接入;线索自动去重与分配精细化销售漏斗分层;按线索优先级动态调整跟单策略线索全生命周期状态追踪;客户标签化管理AI驱动线索评分与优先级排序;销售趋势分析报表
HubSpot CRM营销自动化获客;表单/落地页线索自动采集拖拽式可视化销售漏斗;AI自动生成跟进序列(邮件/通话/会议)客户分阶段生命周期管理;互动数据自动关联客户画像AI线索分配;销售活动ROI分析;营销-销售数据联动分析
SuiteCRM开源可定制获客渠道接入;线索批量导入与分配自定义销售管道;支持按业务场景定制跟单节点客户全生命周期跟踪;自定义报价/合同模块联动开源报表引擎;可集成第三方AI工具实现智能跟单
EC(腾讯EC)微信/QQ/电话/邮件全沟通渠道线索自动捕捉基于沟通轨迹的智能化跟进提醒;潜在销售机会自动识别客户沟通轨迹全记录;社交互动数据关联客户状态销售工作数据自动统计(客户增长/联系次数);客户互动热度分析
励销云AI智能搜客/外呼机器人;工商数据精准筛客智能线索分配;销售漏斗全流程跟踪;从线索到回款的闭环管理客户标签化分类;跟进状态自动更新AI客户意向评分;销售转化漏斗分析;获客成本统计
腾讯企点CRM微信/QQ社交触点线索采集;潜在客户互动追踪潜在客户状态动态更新;减少客户流失客户社交互动数据全记录;客户分层管理销售过程数据统计;客户转化趋势分析
神州云动CloudCC多渠道线索接入;AI智能体线索识别业务机会全流程管理;活动提醒与历史跟踪;合同审批联动客户全生命周期管理;标签化分类AI智能体辅助跟单;销售绩效分析
浪潮CRM依托ERP集成实现线索与后端业务联动(原生能力需扩展)集团级客户分层跟单;按业务单元定制跟进策略集团客户全生命周期管理;数据跨业务单元联动集团级销售数据汇总分析;业务趋势预测

2. 典型流程可视化:超兔一体云销售机会管理全流程

flowchart LR
    A[多渠道获客<br>百度/微信/工商搜客] --> B[线索智能处理<br>一键转化+归属地识别+自动分配]
    B --> C[多模型跟单<br>三一客/商机/多方项目适配]
    C --> D[客户生命周期运营<br>多客池分类+画像自定义]
    D --> E[AI+数据分析<br>智能体决策支持+趋势分析]
    E --> F[销售机会转化<br>签约/回款+数据沉淀]

3. 核心优势总结

  • 全流程闭环标杆:超兔一体云实现从获客到转化的全链路管控,多跟单模型适配不同业务场景,AI与数据分析能力直接嵌入业务流程,无需额外集成。
  • 社交化销售翘楚:EC/腾讯企点CRM依托腾讯生态,自动记录全沟通轨迹,适合依赖微信/QQ获客的服务型企业。
  • AI获客先锋:励销云的AI搜客+外呼机器人组合,大幅降低B2B中小企业获客成本。
  • 定制化王者:SuiteCRM开源架构允许100%自定义,适合有技术团队的特殊业务场景。

(二)订单管理:履约效率的核心保障

订单管理是连接销售与后端供应链的枢纽,其能力直接影响企业履约效率与客户满意度。

1. 核心能力对比表

品牌订单模型支持全流程管控能力跨模块协同能力
超兔一体云6大类30种原生订单模型,覆盖B2C/B2B/O2O;支持标准/批发/定制/套餐/租赁/维修等场景订单工作流/待办/锁库/采购计划自动触发/供应商直发;全渠道订单统一管理与MES无缝对接自动排程;与采购模块联动自动补货;与财务模块实现应收/开票/回款三角联动
SugarCRM支持标准/批发/服务型订单;需插件扩展非标/租赁等模型订单状态跟踪;订单锁库;部分流程自动化需插件集成ERP实现库存/财务联动
HubSpot CRM基于Sales Hub实现智能报价/电子签名/订单归档;需集成ERP扩展订单模型Quote-to-Cash全流程自动化;订单状态实时同步依赖生态集成ERP实现库存/履约联动
SuiteCRM基础订单模块支持多币种/多语言;需二次开发实现订单拆分/分批发货等复杂场景订单流程跟踪;自定义审批流需定制开发实现与后端系统联动
EC(腾讯EC)未原生支持复杂订单模型;需结合销售沟通记录跟踪订单进度订单状态与客户沟通数据关联;手动更新订单进度无原生跨模块协同能力
励销云支持标准订单创建/审批/交付跟踪;需行业模板配置扩展批发/定制等模型订单状态实时同步;与客户数据联动需集成ERP实现库存/采购联动
腾讯企点CRM依托社交触点实现订单前端协同跟踪;原生订单模型简单订单状态与客户互动数据关联;客户可通过社交渠道查询进度无原生后端协同能力
神州云动CloudCC销售订单模块支持流程跟踪;需扩展实现复杂订单模型订单审批流;状态实时更新可集成ERP实现后端联动
浪潮CRM依托ERP集成支持全类型订单模型;原生订单能力需依赖ERP集团级订单全流程管控;跨区域订单协同与浪潮ERP深度集成,实现全业务链联动

2. 典型流程可视化:超兔一体云订单全流程协同

flowchart LR
    A[多类型订单创建<br>30种模型适配场景] --> B[订单全流程管控<br>待办/锁库/采购计划触发]
    B --> C[跨模块联动<br>生产排程/采购直发/财务应收]
    C --> D[订单履约完成<br>发货/开票/回款闭环]

3. 核心优势总结

  • 全能订单管理标杆:超兔OMS支持30种订单模型,原生实现从创建到回款的全流程闭环,跨模块协同能力无需额外集成,是唯一真正的“全能型订单管理系统”。
  • 轻量级履约工具:HubSpot的Quote-to-Cash适合海外企业,轻量化易上手,但需依赖ERP完成后端履约。
  • 集团级集成能力:浪潮CRM依托ERP底座,实现集团级订单协同,适合大型集团企业。
    • *

(三)产品与库存管理:供应链效率的核心支撑

产品与库存管理直接影响企业库存周转率与资金占用率,是制造、批发、零售等行业的核心需求。

1. 核心能力对比表

品牌产品管理能力库存管控能力智能补货能力
超兔一体云多级分类/多价格策略/产品BOM/套餐/非标定制;支持SKU转换/速建;销量分析(现金牛/毛利产品)500个仓库管理;序列号/批次溯源;库存上下限预警;手机扫码出入库;库存流水/台账全记录自动计算“订单需交付量-现有库存-在途量”;智能匹配供应商;支持以销定采/采购直发/购销分离
SugarCRM基础产品目录管理;需插件扩展BOM/套餐/非标等模型需插件实现库存出入库/预警;无原生溯源能力需集成ERP实现智能补货
HubSpot CRM基础产品库;需第三方插件(如QuickBooks)实现库存同步无原生库存管控能力;依赖集成无原生补货能力;依赖ERP
SuiteCRM基础产品管理;需社区插件/定制开发扩展BOM/库存功能需定制实现库存出入库/预警/溯源需定制开发补货逻辑
EC(腾讯EC)无原生产品与库存管理能力
励销云商品管理模块关联订单;需行业模板配置扩展产品分类/BOM库存动态监控;需集成ERP实现出入库/溯源需集成ERP实现智能补货
腾讯企点CRM无原生产品与库存管理能力
神州云动CloudCC产品库功能支持分类/价格手册/批量导入;需扩展BOM等模型无原生库存管控能力;需集成ERP
浪潮CRM依托ERP集成支持产品BOM/分类/价格管理;原生能力需依赖ERP依托ERP实现库存管控/溯源/预警;集团级库存协同依托ERP实现智能补货

2. 典型流程可视化:超兔一体云智能库存补货时序图

sequenceDiagram
    participant 销售订单系统
    participant 库存系统
    participant 采购系统
    participant 供应商
    销售订单系统->>库存系统: 提交订单需交付量
    库存系统->>库存系统: 计算缺口=需交付量-现有库存-在途量
    库存系统->>采购系统: 触发采购需求
    采购系统->>采购系统: 智能匹配最优供应商(价格/交期)
    采购系统->>供应商: 发送采购单
    供应商->>库存系统: 发货(采购直发/入库)
    库存系统->>销售订单系统: 库存更新,通知履约

3. 核心优势总结

  • 精细化库存管控标杆:超兔PSI系统实现产品全生命周期管理与库存精细化管控,智能补货逻辑原生集成,无需依赖第三方系统,适合制造、批发、零售等库存敏感型行业。
  • 集成型解决方案:SugarCRM/HubSpot/SuiteCRM需通过插件或定制实现库存管理,适合已有ERP系统的企业做补充。
  • 集团级库存协同:浪潮CRM依托ERP底座,实现跨区域集团库存协同,适合大型制造/流通集团。

(四)采购管理:成本控制的核心环节

采购管理直接影响企业采购成本与供应链稳定性,是B2B企业的核心需求之一。

1. 核心能力对比表

品牌供应商管理采购模型适配全流程管控能力
超兔一体云供应商独立权限管理;询价/比价/评级全记录;雷达图展示供应商评级多订单缺口采购、总缺口采购、以订单采购、供应商直发4种原生模型;智能计算采购量询价-比价-下单-收货-付款-开票全流程;三流合一对账;采购成本自动核算
SugarCRM基础供应商信息管理;需集成ERP实现深度管理无原生采购模型;需集成ERP实现无原生全流程管控;需集成ERP
HubSpot CRM无原生供应商管理;依赖生态集成无原生采购模型;依赖生态集成无原生全流程管控;依赖生态集成
SuiteCRM需定制开发供应商管理模块需定制开发采购模型需定制开发全流程管控
EC(腾讯EC)无原生采购管理能力
励销云供应商数据对接;基础供应商信息管理支持采购需求提报;适配中小B2B采购场景采购订单跟踪;与订单/库存联动(需集成ERP)
腾讯企点CRM无原生采购管理能力
神州云动CloudCC无原生采购管理能力
浪潮CRM依托ERP集成实现供应商全生命周期管理;集团级供应商协同依托ERP实现多类型采购模型依托ERP实现全流程管控;集团级采购协同

2. 典型流程可视化:超兔一体云采购全流程

flowchart LR
    A[采购需求触发<br>订单缺口/库存预警] --> B[询价比价<br>OpenCRM模块实现]
    B --> C[采购单创建<br>智能匹配供应商]
    C --> D[全流程跟踪<br>收货/质检/入库]
    D --> E[财务对账<br>三流合一(订单/入库/发票)]

3. 核心优势总结

  • 全流程采购管控标杆:超兔SRM系统实现从需求到对账的全流程闭环,4种采购模型适配不同业务场景,智能算法降低采购决策成本,适合中大型制造、批发企业。
  • 中小 B2B 轻量采购:励销云的采购管理模块适配中小B2B场景,可快速落地。
  • 集团级采购协同:浪潮CRM依托ERP底座,实现集团跨区域采购协同,适合大型集团企业。

(五)生产管理:制造型企业的核心刚需

生产管理是制造型企业的核心刚需,要求CRM与MES/ERP深度联动,实现销售-生产-供应链的闭环。

1. 核心能力对比表

品牌生产排程与派工进度管控与可视化物料管理与配送生产报工与质检跨模块协同能力
超兔一体云正排/倒排两种排程方式;支持最快时间/最小班组策略;自动生成生产任务表甘特视图展示订单/工序进度;车间大屏实时监控关键指标;超期自动标注依据BOM自动计算物料需求;建议领料数量避免超领;领料/退料同步CRM库存小组计件报工;自动计算工时/良品率;逐工序质检记录;不良品趋势分析与CRM订单自动同步;MES领料/退料联动CRM库存;报工/质检数据回传CRM;自动触发采购补料
SugarCRM无原生能力;需通过API与ERP(如SAP)联动实现间接排程无原生可视化;依赖ERP系统展示无原生能力;依赖ERP物料管理无原生能力;依赖ERP报工质检需集成ERP实现生产与销售的间接协同
HubSpot CRM无原生能力;需通过生态(如Shopify)间接对接轻量级生产流程无原生可视化;依赖第三方工具无原生能力;依赖集成ERP无原生能力;依赖第三方工具仅支持轻量级业务的间接联动,适合非生产型企业
SuiteCRM无原生能力;需通过API与MES/ERP集成;可定制生产任务模块无原生可视化;需定制开发或集成第三方工具无原生能力;需集成ERP物料系统无原生能力;需定制开发报工模块开源架构支持深度定制集成,适合有技术能力的生产企业
EC(腾讯EC)无原生生产管理能力
励销云需与ERP系统集成;通过CRM数据辅助排产决策依赖ERP系统实现进度可视化需集成ERP实现物料管理需集成ERP实现报工质检实现客户订单与生产计划联动,适配中小生产型企业
腾讯企点CRM无原生生产管理能力
神州云动CloudCC无原生生产管理能力可集成ERP实现生产与销售数据联动
浪潮CRM依托ERP集成实现集团级智能排程;支持多工厂协同排产集团级生产进度可视化大屏;跨工厂进度监控依托ERP实现集团级物料统一管理与配送依托ERP实现标准化报工与质检与浪潮ERP深度集成,实现销售-生产-供应链全集团闭环

2. 典型流程可视化:超兔一体云生产全流程协同

flowchart LR
    A[CRM销售订单同步] --> B[MES自动生成生产BOM与任务单]
    B --> C[智能排程/派工<br>正排/倒排策略]
    C --> D[物料精准配送<br>按BOM计算领料量]
    D --> E[生产报工/质检<br>实时数据回传CRM]
    E --> F[成品入库/履约发货<br>库存与订单同步更新]

3. 核心优势总结

  • 原生生产闭环标杆:超兔MES系统与CRM深度联动,实现从销售订单到生产交付的全流程原生闭环,智能排程、进度可视化、物料管控等能力无需额外集成,适合中制造型企业。
  • 集成型生产协同:SugarCRM/SuiteCRM需通过API与MES/ERP集成实现生产管理,适合已有成熟ERP系统的制造企业。
  • 集团级生产管控:浪潮CRM依托ERP底座,实现多工厂协同排产与集团级生产管控,适合大型制造集团。
  • 轻量级生产联动:励销云可实现订单与生产计划的基础联动,适合中小生产型B2B企业。

这几天观察路由器的流量日志,我发现一个名为 Aliexpress 的应用跑了大量的上传,而且都在 0 点之后才开始
这习性跟耗子没两样了,我愿称之为,耗子 app

在 PCDN 这个风声鹤唳的时代,这简直要了亲命
而且我真的玩 PT

MAC 地址看是家属的手机,问了下,果然有一个叫阿里巴巴的 app

防火墙写了规则,这个 app 就不通了

家属说,她也忘了这个 app 是干嘛的,什么时候装的,自然也没啥用

果断删之

image

过去一年,国漫市场持续“破圈”。猫眼专业版数据统计,2025年国产动画电影(含合拍片)总票房达192.8亿元,在全部动画电影票房中占比75.7%,是2011年以来最高的一年。众多植根于东方美学的国漫作品,正以其独特的文化叙事,构筑起一代人的共同记忆。近期,合合信息旗下扫描全能王正式发起“国漫记忆守护计划”,鼓励用户从传统文化中挖掘国漫元素,为国漫创作提供灵感源泉。

传统文化是国漫创作的宝藏。从不拘天命的哪吒,到照见普通人悲喜的浪浪山小妖怪,这些角色成功唤醒了观众骨子里的文化亲近感。国漫这座“宝藏”仍有诸多领域静待挖掘,如今,越来越多的创作者正在从古籍插画、民俗文化中捕捉灵感,并通过扫描全能王记录保存,让碎片化的灵感沉淀为可随时取用的创作素材。

AI扫描技术为国漫存档“创意底片”

许多惊艳银幕的国漫作品,往往从一张手绘稿开始。艺术博主“参十川”(化名)在社交媒体平台分享了自己绘制的哪吒连环画系列。博主表示,当初为了理解这个经典角色,她专门前往图书馆查阅原著小说,最终将心中的“哪吒”落于纸上。借助AI扫描技术,这份9年前的作品能够以高清数字形态留存,成为国漫创作路上的珍贵印记。

图片

                   图说:扫描全能王优化处理哪吒连环画系列作品

在国漫的视觉语言中,非遗文化同样是灵感“富矿”。英歌舞是潮汕地区的国家级非物质文化遗产,舞者脸谱以浓墨重彩区分忠奸善恶,为国漫创作提供了新的美学范式。设计师“羊言不会画画”(化名)受此启发,以细腻的线条勾勒出繁复的脸谱纹样。经过AI扫描技术处理后,这份诠释非遗文化的作品能够以最真实的模样被更多人欣赏。

图片

                  图说:扫描全能王优化处理英歌舞脸谱创意绘画作品


基于AI扫描“黑科技”,扫描全能王能够将易磨损的纸质手稿、线条复杂的非遗纹样转化为高清的“数字档案”,让根植于传统的优秀创意被留存、被更多人看见,记录下一个国漫“爆款”的成长之路。

AI“提取线稿”从生活中汲取创作素材

国漫的生命力,不仅来源于专业创作者,更来自大众参与。扫描全能王致力于让国漫成为人人都可“DIY”的素材。无论是泛黄的小人书,还是张贴的国风海报,用户只需随手一拍,扫描全能王可一键生成清晰的黑白线稿,方便用户临摹、填色。

图片

                           图说:扫描全能王精准提取线稿


年文化是国漫的重要表现内容,也是中小学生美学教育的组成部分。马年新春将至,艺术创作博主“小阳醒醒”(化名)将生肖马、中国结、葫芦等传统元素巧妙融合,创作出了一幅细节丰富的新春主题手抄报,作品分享到社交媒体平台后,不少家长和学生纷纷表示“寒假手抄报作业有救了”。

图片

                     图说:扫描全能王高清记录手抄报创作细节

手抄报创作是学生的日常任务,却成了不少家庭的共同困扰。找素材费时、构图设计困难、手绘功底不足等问题让这项亲子活动变得压力重重。依托扫描全能王 “智能高清滤镜”“提取线稿” 等功能,家长只需拍摄手抄报参考模板,即可一键提取清晰线稿,为孩子的手抄报作业提供丰富的美学素材。

作为传统文化的重要载体,国漫的“破圈”,本质上源于其对神话、诗词、非遗等文化基因的成功解码与现代表达。扫描全能王将持续为用户带来AI扫描“黑科技”功能体验,将散落在创作草图、民间藏品中的文化灵感数字化,为艺术创作提供源源不断的灵感源泉,让传统文化与现代科技在融合中焕发新的生命力。

梁友余下班时已经半夜十一点多了。

两周前,老板指着竞争对手的一个功能,说:“我也要这个,月底就要。”

梁友余是公司的程序员,这两个周他几乎每天都加班到后半夜。现在终于把功能基本完成了,今天下班算是早的。

虽然已经午夜,但推开公司大厦的门,还是有一股热浪扑面而来。梁友余骂骂咧咧地叫了个车。

一回到出租屋,梁友余就立即打开空调瘫倒在沙发上。“身上汗消了再洗澡吧。”梁友余想,“我先歇会。”没两分钟,他已经睡着了。

然后,他就被外面的一阵叫嚷吵醒了。

刚开始他迷迷瞪瞪没听清,过了几秒他脑子清醒过来,才听清楚外面好像是在喊“快跑!”“赶紧给头儿打电话!”“小命要紧!快跑!”

梁友余一骨碌爬起来,立刻,他就再也顾不上外面喊什么了,因为他清清楚楚感觉到自己没穿衣服,一件都没穿。

他发现自己在一个陌生的房间里,坐在一张坚硬的金属床上。除了屁股底下的床,床头还亮着一盏泛着微弱的乳白色光芒的落地灯,然后房间里就什么都没有了。

梁友余揉了揉脸,手很僵硬,脸也很僵硬。他又甩了甩昏昏沉沉的脑袋,感觉很真实,不是在做梦。一瞬间梁友余冒出一堆想法来:

“卧槽!穿越?”

“不会吧!这种事情真的会发生?”

“那我这是穿到了什么人的身上?这货睡觉的地方有点别致啊……衣服脱在哪呢?”

一边想着,梁友余下床找了一圈,大概只有十平米的房间里,除了身下躺的这个铁柜子一样的床和床头的灯,什么都没有。最后梁友余的目光落到门把手上。

门外的叫嚷声逐渐远去,梁友余在犹豫要不要这么赤身裸体地开门出去。

这时候“咣当”一声,门被撞开了。门外光很强,猛的照得梁友余睁不开眼,勉强能看出门口站着一个剪影,像是一个短发女人。梁友余下意识地一缩身子。

“穿上!跟我走!”果然是个女人的声音,她说着,丢进来一个塑料袋就转身走了,塑料袋里是一套保安制服。

梁友余胡乱套上衣服来到门外。

门外是明亮得多的走廊,走廊上已经站了几个跟自己穿着一样保安制服的人,都看着一个方向。梁友余顺着那个方向望去,是那个女人,穿了一身牛仔,脸像是玉雕一般精致,表情干练而高冷,一只手里拎着一个纸箱子,抬起脚,“咣当!”,又踹开了一扇房门。

梁友余回头看了看自己刚出来的房门的门锁,锁头有防盗门的锁头那么粗,实心的。梁友余想:这女人一脚能踹死一头熊。

女人从纸箱中抓出一包衣服丢进刚踹开的门:“穿上,跟我走!”

不一会,从里面走出来一个同样一脸懵的人。

等踹完所有门,女人转回身来看了这些人一眼,什么都没说,径直走到走廊尽头右转。

一共八个人,穿着相同的衣服,面面相觑。梁友余从其他人的眼神中能看出来,谁都不知道是怎么回事。梁友余觉着女人没有恶意,而且现在除了跟上去之外,好像也没有更好的选择,于是小跑两步跟上女人,剩下的人也鱼贯跟来。

右拐后是一个安全出口,女人正在推着防火门等他们。穿过门是安全楼梯,楼梯上有一个眼中带笑的小伙子等在那里。小伙子看了一眼梁友余八人,说:“跟我走吧。”然后带头走下安全楼梯。梁友余一行人跟上小伙子,女人走在最后面。

一行人无话,一直下到底层大厅,梁友余数着是六层楼。小伙子转身过来,眼中依然带着笑,跟女人说:“这趟还挺顺利的,我们……”话还没说完,小伙子忽然脸色一变,梁友余扭头顺着小伙子目光望去,看到大厅一角有两个穿制式服装的人,还没等梁友余反应,两人已经掏枪开火了。

这是梁友余第一次在现实中听见枪响,巨大的枪声在大厅中回荡,震得梁友余耳朵嗡嗡作响。开枪的两人毫无保留,连扣扳机,枪声不断,子弹横飞,其中几颗竟然呼啸着从梁友余耳边擦过,梁友余一缩脑袋蹲在地上,正好蹲在女人腿边。他看见女人大腿上浮现出一层小六边形组成的屏障,还有接触到屏障就无力的落到地上的子弹,子弹已经变形,就好像打在钢板上一样。

梁友余知道,子弹的动能巨大,如果穿着防弹衣,子弹即使被防弹衣挡下,但巨大的惯性依然造成巨大撞击,这撞击甚至都能撞断肋骨。然而女人的身体甚至都没有移动一分一毫,可见这层浮现的六边形薄膜吸收了子弹绝大部分动能。

“这是什么东西?”梁友余惊讶到了极点。

梁友余抬头,只见女人略带不耐烦地抬起右手指着两人的方向,梁友余听着她似乎是说了一句“鸡!”,同时脑中同时传来一阵清晰的嗡鸣,本来还端着手枪的两个人,忽然就都两只胳膊紧贴在一起,就好像有看不见的绳子把他们的胳膊牢牢捆在一起一样,手枪也拿不住“当啷”一声掉在地上。两人开始挣扎,想挣脱这看不见的绳子,但随即两条腿也紧并在一起,越并越紧,以至于站不住歪倒在地上。他俩在地上挣扎扭动却无济于事,很快就团成一个球躺在地上动弹不得。

女人回头跟小伙子说:“我有事,你处理吧。”说着走向大厅门口,一边走一边抬手指着门,似乎说了一句“震”,梁友余脑中嗡鸣声又起,玻璃大门就哗啦一声碎了一地,女人丝毫不停地踩在玻璃碎屑上,走出大门,拐上大街,不见了身影。

小伙子看看躺在地上的两人,又看看梁友余他们,笑着说:“先吃早饭吧。”

第一章 企业软件复杂度的逐步累积

1.1 从硬件导向到数据导向

早期的软件开发几乎完全围绕计算机硬件展开。机器语言与汇编语言要求开发者理解CPU指令、寄存器和内存地址,软件的表达方式高度依赖具体硬件体系结构,如SSE指令集中用于比较字符串的pcmpistr,无法运行在不支持SSE的CPU上。这一阶段的软件极其昂贵、开发周期漫长、可复用性极低,应用范围也因此被限制在政府、科研机构和少数大型企业的核心场景中。随着电子工业的发展,计算机开始进入企业管理领域。跨行业、跨规模推广计算机应用的关键,在于找到一种足够通用的抽象方式。

1970年,来自IBM的E.F.Codd博士在ACM通讯杂志上发表的论文《大规模共享数据银行的关系型模型》,为解决这一问题提供了一种切实可行的技术路线。该路线中,现实世界中的业务单据、业务流程和管理决策,被统一抽象为数据的存储、处理与分析,而执行这些操作的软件被统称为“关系型数据库”。企业的用户只需要一个连接到数据库软件的终端,就能用一套近似于英语的、统一的语言来操作这个软件,以此实现所有的业务操作。如用户想要查询姓名中包含“李”的员工档案,需要输入 SELECT * FROM STAFFS WHERE NAME LIKE ‘%李%’ ,界面上就会呈现出纯文本呈现的员工档案信息。

image

图:早期的数据库服务器与操作终端

关系型数据库的出现,标志着企业软件第一次在抽象层面实现了规模化。通过关系模型描述业务实体及其关系,通过统一的数据操作语言处理不同业务场景,数据库成功降低了企业信息化的技术门槛,也显著扩展了软件需求的边界。

1.2 “壳”的出现与复杂度外溢

当数据库从档案管理走向财务、库存、成本核算等复杂业务场景时,一个新的问题随之出现:直接操作SQL对最终用户并不友好,一个业务操作需要多次打印和重复输入,导致操作员工作负荷高、出错概率大。为此,行业选择将数据库抽象为数据模型(数据模型可近似理解为数据库的结构,由数据表、列和表关系构成),在模型之上构建应用软件。这种做法很像是给数据库“套壳”,让用户操作应用,应用去操作数据库,而非用户直接操作数据库。

这一决策带来了企业软件形态的根本变化。业务逻辑开始在数据库与应用程序之间重新分配,用户交互界面成为差异化竞争的核心。随着抽象度更高的新一代高级语言(如C++、Java语言)在应用层的普及,企业软件正式进入“高级语言 + 数据库”的长期技术范式。

image

图:DOS时代的企业软件操作界面

然而,这种分层结构也埋下了复杂度累积的种子:

  • 数据模型持续膨胀:一个小型订单管理系统可能只有十几张表,但经过几年演进后,堪比ERP的系统重,表数量可能增长到数百张
  • 业务规则不断叠加:每次业务流程调整都会增加新的验证规则、计算公式和例外处理逻辑
  • 交互逻辑日益复杂:从简单的表单录入发展到复杂的向导流程、多标签页面和实时校验
  • 应用规模和生命周期显著拉长:企业软件往往需要运行十年甚至更长时间,期间不断打补丁和加功能

企业软件不再是一次性交付的工具,而是需要多年演进、持续维护的复杂系统。

扩展链接

写给技术管理者的低代码手册系列文章(1)——从软件工程视角理解低代码的价值、边界与演进路径

在企业级电子表格数据处理中,文本转换是高频基础操作——比如将数字、数组、布尔值等数据类型统一转为文本格式,用于报表展示、数据导出或公式解析。但传统转换方式往往存在局限:格式混乱不统一、数组转换繁琐、文本与公式栏解析不兼容等问题,导致数据处理效率低、出错率高。

GcExcel V9.0 重磅新增 VALUETOTEXTARRAYTOTEXT 两大文本转换函数,专为解决多样化数据的文本转换需求设计,支持单个值、数组、范围引用等全场景转换,提供灵活格式选项,完美适配报表生成、数据导出、公式编辑等核心业务场景,让数据文本转换更精准、更高效。

一、核心函数详解:双函数互补,覆盖全场景转换需求

1. VALUETOTEXT:单个值与范围的精准文本转换

VALUETOTEXT 函数专注于将单个数据值或单元格范围引用,快速转为标准化文本形式,适配不同展示与解析需求。
在这里插入图片描述

  • 核心功能亮点

    • 支持多类型数据:可转换数字、文本、布尔值、错误值、空单元格、数组、LAMBDA函数等几乎所有Excel支持的数据类型。
    • 双格式可选:默认简洁格式(与单元格“常规”显示一致),满足日常展示需求;严格格式(文本用引号括起,内部引号自动转义),适配公式栏解析场景。
    • 范围批量转换:支持直接转换单元格范围(如A2:B4),无需逐个处理,提升批量操作效率。
  • 应用场景:报表数据标准化展示、文本格式统一归档、公式编辑中引用文本数据、数据导出前的格式预处理。
  • 使用示例

    • 简洁格式:=VALUETOTEXT(A2:B4, 0),将范围数据转为常规显示的文本,如数字“123.123”保持原样,文本“Apple”无额外引号。
    • 严格格式:=VALUETOTEXT(A2:B4, 1),文本“Apple”转为"Apple",数组{Milk, Egg, Cheese}转为"{Milk, Egg, Cheese}",适配公式栏直接解析。

2. ARRAYTOTEXT:数组与范围的聚合文本转换

ARRAYTOTEXT 函数聚焦数组和大范围数据的聚合转换,将多值数据转为单一文本串,方便数据传递与展示。

在这里插入图片描述

  • 核心功能亮点

    • 数组高效聚合:支持将一维/二维数组、单元格范围快速转为聚合文本,解决数组转换分散的痛点。
    • 双格式适配:简洁格式(值之间用逗号分隔,无额外符号),适合快速展示;严格格式(用行分隔符区分维度,文本加引号),可直接粘贴回公式栏复用为数组字面量。
    • 兼容复杂数据:即使范围包含错误值、空单元格,也能稳定转换,不中断操作流程。
  • 应用场景:数组数据的文本化传递、多单元格数据的聚合展示、公式中复用数组文本、数据导出时的批量文本打包。
  • 使用示例

    • 简洁格式:=ARRAYTOTEXT(A2:B4, 0),将范围数据转为“TRUE, #VALUE!, 123.123, Apple, {Milk, Egg, Cheese}, 100”。
    • 严格格式:=ARRAYTOTEXT(A2:B4, 1),转为“{TRUE,#VALUE!};123.123,"Apple";"{Milk, Egg,Cheese}",100}”,可直接粘贴到公式栏作为数组使用。

二、技术优势:精准、灵活、兼容,适配企业级需求

GcExcel V9.0 新增的两大文本转换函数,延续了产品“高性能、高兼容、低代码”的核心优势:

  • 转换精准无偏差:严格遵循Excel数据显示逻辑,数字保留原始精度,布尔值、错误值转换后保持辨识度,避免格式失真。
  • 格式灵活适配:双格式选项覆盖“日常展示”与“公式解析”两大核心场景,无需额外编写格式处理逻辑。
  • 全场景兼容:完美适配GcExcel现有功能(如公式计算、数据透视表、报表导出),转换后的数据可直接用于后续业务操作,无兼容性障碍。
  • 低代码高效集成:函数调用语法简洁,无需复杂配置,现有工作表直接调用即可启用,开发者上手成本极低。
  • 跨平台一致体验:Java与.NET版本同步支持,确保不同技术栈的企业都能获得统一的转换效果。

三、典型应用场景:赋能多行业数据处理效率提升

两大函数精准匹配企业高频数据处理场景,让文本转换融入业务全流程:

  • 报表生成场景:将报表中的数字、布尔值、数组数据统一转为文本格式,确保展示风格一致,提升报表专业性。
  • 数据导出场景:导出数据前,用严格格式转换关键文本,避免导出后因格式问题导致解析失败,适配第三方系统导入需求。
  • 公式编辑场景:在复杂公式中,用严格格式转换文本数据,确保公式栏正确解析,减少语法错误。
  • 数据归档场景:将分散的数组、范围数据聚合为单一文本串,便于数据存储与检索,降低归档复杂度。
  • 跨系统数据传递场景:将Excel中的数组、多单元格数据转为标准化文本,作为接口参数或数据传递载体,提升跨系统兼容性。

四、使用注意事项:避坑指南

  1. 格式参数仅支持0(简洁)和1(严格),未传参时默认使用0格式。
  2. ARRAYTOTEXT 聚合转换时,空单元格会保留为空文本,错误值(如#VALUE!)会原样转为文本“#VALUE!”。
  3. 严格格式下,文本内部的引号会自动转义(如原文本“He said "Hello"”转为"He said ""Hello"""),确保公式栏正确解析。
  4. 转换后的文本数据可通过其他函数(如TEXTSPLIT)反向拆分,实现“转换-拆分”闭环操作。

结语

GcExcel V9.0 新增的 VALUETOTEXT 和 ARRAYTOTEXT 函数,彻底解决了传统文本转换的格式混乱、操作繁琐、场景覆盖不全等痛点,通过精准的转换逻辑、灵活的格式选项、全场景的兼容性,让数据文本转换成为高效业务流程的“助推器”。

扩展链接

针对 Excel 的 Java API 组件