- 博客(122)
- 资源 (5)
- 收藏
- 关注
原创 AI 自动生成报表
摘要:本文介绍了如何利用AI工具快速生成各类数据图表,提高工作效率。通过MCP平台和阿里百炼大模型,配合AI客户端工具,可实现简单对话生成报表。文章详细说明了图表MCP的配置步骤,并展示了GDP柱状图和茅台股价走势图的实际生成案例。同时指出当前存在的两个主要问题:搜索引擎数据可能不够准确或最新,以及MCP Server的跨域访问限制。这些AI工具为报表制作提供了高效便捷的解决方案。
2025-12-12 00:52:08
270
原创 AI的深度思考过程比结果更有趣
本文探讨了AI智能体处理复杂问题的深度思考方法。通过任务拆解与执行流程,将大问题分解为子任务,借助搜索引擎等工具补充信息,可显著提升小参数模型的分析效果。但该方法存在耗时较长、结果汇总可能遗漏信息等问题。文章强调高质量数据对AI分析准确性的关键作用,指出这是决定结果价值的核心因素。
2025-12-11 00:56:59
325
原创 【AI智能体】如何让小参数模型发挥出满血模型的效果
摘要:本文探讨了推理模型在专业领域的优势与局限,重点分析了智能体深度思考能力如何通过任务拆解和实时数据调用弥补传统模型的不足。通过万科债务问题的实测对比,验证了深度思考模式下小参数模型能接近满血大模型的输出质量,同时具备成本优势。研究指出,在任务拆解细致的前提下,模型参数量的差异对生成质量影响显著降低,为AI应用的性价比优化提供了实践路径。未来智能体拆解任务的方式有望在成本与质量间实现更好平衡。
2025-12-07 12:53:32
638
原创 AI写代码也有卡壳的时候
摘要 大模型生成的Mermaid流程图常出现语法错误,主要表现为流式内容不全、节点定义不规范、连接线错误和子图问题,导致渲染失败。通过分析Mermaid源码发现,可通过设置suppressErrorRendering参数来抑制错误信息的显示,从而解决渲染异常问题。该参数位于Mermaid配置接口中,可与其他渲染参数如主题、布局算法等一同配置使用。
2025-11-20 23:34:23
363
1
原创 【那些你认为没有风险的代码】第一篇:集合继承攻击风险与防护指南
集合继承攻击风险与防护指南 核心安全风险在于直接使用ArrayList等具体类作为方法参数,攻击者可创建恶意子类监控或篡改数据。本文揭示三类典型攻击场景:供应链攻击、SDK暴露和反序列化漏洞,可导致数据泄露、业务逻辑破坏等严重后果。防护方案组合四项核心原则:1)接口抽象化(使用List/Collection接口)切断继承路径;2)防御性拷贝创建安全数据副本;3)优先使用不可变集合;4)边界验证确保类型安全。针对不同场景提供具体防护代码示例,强调新代码应强制采用接口声明+防御性拷贝机制,遗留系统优先改造安全关
2025-11-05 12:02:37
624
原创 Spring Boot各类变量的使用
Value注入变量用于从SpringBoot项目Environment对象中获取变量值,Environment 对象中的变量来源于配置文件,程序启动参数、JVM环境变量、操作系统环境变量。程序启动参数与配置文件中定义了相同的变量时,程序启动参数将会覆盖配置文件中变量的值。从SpringBoot项目Environment对象中获取变量值,Environment 对象中的变量来源于配置文件,程序启动参数、JVM环境变量、操作系统环境变量。变量的值,一定要将这个变量在操作系统环境变量中定义,如果这个变量在。
2024-01-11 17:50:17
3107
原创 Vuejs+ElementUI搭建后台管理系统框架
README.md项目介绍说明信息。Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。babel.config.js 就是 babel 编辑器的配置文件。通常情况下,无需过多关注。项目依赖包目录,里边存储了当前 Web 项目依赖的 JavaScript 包。项目配置信息,包括依赖包信息。public公共文件目录,如 HTML 文件、图片等。src当前项目开发的 Vue 代码。
2023-11-23 10:22:41
2384
原创 Golang模块管理功能
假如一个人同时参与8个项目的开发,采用上述的代码结构来管理8个项目,8个项目的代码,以及这8个项目的依赖包都在这个src目录下,开发人员可能无法很直接的识别出来各个项目的依赖包。采用这种方式的进行依赖包管理,意味着如果我们的项目引用了大量依赖包,将会导致我们的项目代码包大小会非常大,如果首次上传 Git 代码仓库,需要花费更多的时间。使用 Go vendor 进行包管理,在包中添加vendor目录,将这个项目需要的依赖包放到项目所在目录下的vendor目录中,实现不同项目对各自依赖包的手动包管理。
2023-11-22 15:31:18
951
原创 CDH集群初始化oozie失败表结构不存在
安装CDH 6.3.2 版本时初始化集群服务过程中出现oozie server启动失败的情况,第一次创建集群成功,第二次失败了,分析日志信息。分析日志内容,发现因为表不存在导致oozie服务启动失败。于是准备手工创建数据库表结构,初始化数据库,然后再来启动oozie服务。
2023-09-17 21:59:44
586
原创 CDH大数据平台集群部署
CM服务默认端口是 7180, 默认账号以及初始密码是:admin/admin。登录系统后将会做基础的配置,根据需要选择合适的版本,企业版需要购买License,Express 版本免费使用,但是支持的功能有限。CM服务是集群的管理节点,CM负责管理大数据集群内所有的数据节点,数据节点上需要部署 agent 服务,agent服务负责与CM服务通信,CM 服务通过 agent 服务来管理集群内所有的数据节点。准备好CDH安装包资源,官方网站下载需要账号,如果没有账号可以去网上到处搜搜。
2023-09-16 13:41:36
865
原创 HAProxy终结TLS双向认证代理EMQX集群
MQTT协议已经成为当前物联网领域的关键技术之一,当前市面上主流的实现MQTT协议的产品主要有 EMQX、Mosquito、NanoMQ等。本文以EMQX开源版为基础,构建 MQTT Broker 集群,并使用 HAProxy代理 MQTT Broker 集群,由 HAProxy 开启双向认证,并终结TLS,HAProxy 到 MQTT Broker 集群的流量采用非加密模式。
2023-09-08 00:01:34
1354
1
原创 使用自签发CA证书为EMQX开启双向认证
使用不同的 CA 服务,证书签发的流程以及需要的参数不同,如大部分支持安全芯片的设备,其私钥通常由设备端生成,通过向 CA 发送 csr 请求文件的方式获取CA机构签发的证书。下文仅借助流行的 cfssl 工具来完成证书的创建工作,设备端私钥由 cfssl 工具生成,如果尚未安装 cfssl 工具,请查看。根CA为EMQX服务签发服务器端证书,以及给中间CA签发中间证书,由中间CA给设备签发设备证书。通过上边的命令,将会得到 emqx 服务端的私钥。通过上边的命令,将会得到中间CA的私钥。
2023-06-11 22:55:05
2340
原创 基于PKI的物联网安全服务体系建设
PKI(Public Key Infrastructure,公钥基础设施)是一种数字证书体系结构,用于管理和分发数字证书,以确保通信安全和身份验证。PKI采用了公钥密码学来提供保密性完整性认证和不可否认性等安全服务。PKI主要组件:证书颁发机构(CA):CA是负责颁发数字证书的可信机构。它验证证书请求者的身份,并为其生成数字证书。CA还负责管理证书吊销列表(CRL),以确保吊销被撤销或不再使用的数字证书。数字证书:数字证书是一种由CA颁发的证明证书请求者身份的数字凭证。
2023-05-15 00:15:04
2132
1
原创 支持上亿物联网终端设备接入的MQTT集群
MQTT是一种轻量级、灵活、可扩展的发布/订阅消息传递协议,常用于物联网(IoT)领域。它可以在不同的网络环境中传递小型的消息,使得在低带宽和不可靠的网络环境下进行通信变得更加容易。EMQX 5.x 版本单集群支持至多1亿设备的接入,以及每秒500百万消息发布,基本上满足当前大多数物联网相关业务场景,例如车联网云平台车辆接入**。
2023-05-13 00:07:05
2467
原创 Kubernetes 集群中某个节点出现 Error querying BIRD: unable to connect to BIRDv4 socket
Error querying BIRD: unable to connect to BIRDv4 socket: dial unix /var/run/calico/bird.ctl: connect: connection refused
2023-05-05 07:00:16
6018
1
原创 GDPR数据保护合规问题分析
GDPR作为一项重要的数据保护法规,对于涉及欧洲个人数据的企业和组织具有广泛的适用范围,包括在欧洲境内和境外的企业和组织。GDPR的生效时间从2018年5月25日开始,违反GDPR规定可能面临高额的罚款和声誉损害。为了合规,企业和组织应当了解GDPR的规定,进行合规评估,建立合规流程,并采取相应的技术和组织措施保护个人数据。合规流程包括建立数据处理合法性、透明性和安全性的机制,确保个人数据的合法收集和处理,并尊重数据主体的权利。
2023-04-11 22:47:18
1720
原创 k8s容器集群工作负载节点跨越多个云计算厂商
随着亚马逊云、阿里云、华为云、腾讯云等云计算服务厂商越来越安全、稳定,以及价格越来越便宜,越来越多的企业或个人开始尝试或正在使用云计算服务厂商提供的IaaS服务替代自建IDC机房中的基础设施资源。面对各个云计算厂商的营销套路,不少企业不知道选哪家云商的服务比较合适,一怕被绑架,上车容易下车难,第一年免费用,第二年没折扣;二怕今年上阿里,明年华为更便宜,后年腾讯更优惠,服务迁移难。如何让业务在不同云商之间随意切换呢?这样就能实现享用哪家的云就选哪家的资源。
2023-03-09 00:24:05
2182
1
原创 构建GRE隧道打通不同云商的云主机内网
华为云上有三台云主机,内网 CIDR 是 192.168.0.0/24,阿里云上有三台云主机,内网 CIDR 是 172.26.32.0/24。现在想要打通两个云商之间的内网,使得华为云上的云主机能够访问阿里云上的内网IP地址,同时阿里云上的云主机能够访问华为云上的内网IP地址。
2023-03-07 00:08:11
2766
1
原创 K8S集群1.24使用docker作为容器运行时出现就绪探针间歇性异常
组件版本kubernetes1.24.2docker18.03.1-cecri-docker0.2.6。
2023-02-28 22:00:56
2407
原创 K8S集群将Docker切换到Containerd
将 docker 容器运行时替换成 containerd 时,可以逐个节点进行替换,这样能够保证服务的连续性。使用 containerd 替换 docker 后,对于 k8s 1.20 以后的版本,不再需要 cri-docker 服务对 docker 容器运行时进行中转。k8s 集群相关组件,只需要修改 kubelet 启动参数,不需要调整 kube-apiserver,kube-scheduler,kube-controller-manager,kube-proxy等组件。
2023-02-18 23:56:54
2145
原创 Android 13 源码获取与构建
源代码下载的时间比较长,一共耗时1小时12分钟。源码下载到本地后会自动进入文件检验阶段,用与校验下载的文件是否有缺失。Android 系统构建的过程非常长,构建完成后,将会在 out 目录中查看到编译好的系统镜像。验证python版本,确认 python 的默认版本是 3.x。修改 repo 中 REPO_URL 变量值。源代码下载后约占用 126G 的磁盘空间。选择 No,将会切换到 bash 环境。然后将 repo 文件复制到。将会进入系统编译构建过程。
2022-12-25 15:22:39
2084
原创 K8S安装过程十一:istio 服务网格与 Ingress 部署
重启所有的 HAProxy 节点。服务网格 istio 配套的管理工具有 kiali、grafana、jaeger、prometheus等,以下采用istio插件的方式部署这些管理工具,这种方式部署的管理工具参数比较通用,不太适合大规模的生产环境使用,如果在生产环境中部署这些服务网格管理工具,应对参数进行优化。默认安装时,Kiali 没有设置账号密码,直接匿名登陆访问,如果在生产环境中或者管理比较规范的组织中使用 Kiali 管理服务网格,可通过修改 Kiali 配置来添加鉴权服务。文件,追加如下内容。
2022-11-29 00:25:48
2066
3
原创 Oracle 数据库层级遍历查询
首先创建一张用于测试的表,表明为 TREE,表中有3个字段,分别是,ID,NANE,UP_ID。UP_ID 是 ID 的上层,主要实现树形结构的存储。1.1 初始化测试数据1.1.1 写入数据1.1.2 树形结构如下图root(8)一(1)二(2)三(3)五(5)root(6)四(4)2. 树形结构遍历查询2.1 从父节点遍历查询结果如下:2.2 从子节点开始遍历查询结果是:2.3 start with 条件 connect by prior
2022-07-08 12:29:37
1994
原创 Go关键字--defer
deferdefer关键字,用于在函数调用结束之后,再去执行defer后边的函数。defer语法defer 函数下边来看一段例子:package mainimport "fmt"func demo() int { defer fmt.Println("函数调用结束之后,调用defer后边的函数") fmt.Println("begin") return 200}fu..
2020-07-08 15:03:16
623
1
原创 Go关键字--switch
switchswitch用来实现条件选择器,与select有着类似的功能,只是switch中的case判断的是一个通信事件是否完成,而switch中的case判断的是值是否相等。switch与select还有一个不同之处在于switch中的case可以使用逗号来分割多种匹配情况,而select中的case只能是一个通信事件。switch选择器的语法格式是:switch 变量 { ca...
2020-07-08 15:02:46
508
原创 Go关键字--range
range用于遍历数组,切片,chan,字符串,字典类型变量。通常和for关键字一起使用。数组,切片,字符串类型变量遍历过程方法是:// 需要遍历访问的变量名是arrayfor index,value := range array{ // index 表示计数器,表示读取到数组中的第几个元素 // value 表示数组中的值 fmt.Println(ind...
2020-07-08 15:02:33
731
原创 Go关键字--if else
if elseif else用于条件判断,else关键字用于处理if条件以外的情况,是对if的一种补充,if else基本语法是:if condition { // do sonething}if condition { //do something} else { // do something}多种情况条件判断,if语句实现方式是:if condit...
2020-07-08 15:02:21
1587
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅