自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 AI设计的真实边界:普通人能拿它做什么

本文介绍 AI 设计的真实边界与普通人应用场景。AI 设计即借助人工智能辅助或主导视觉创作,无需绘画或设计功底,用文字描述想法即可生成海报、产品图、PPT、品牌素材、潮玩和视频。文中以外贸业务员 Frank、Claude Design、妙呀、Kling AI 等为例,说明 AI 已向所有人开放。作者强调 AI 设计并非取代设计师,而是赋能每个人:普通人解决 "有想法做不出来" 的问题,设计师获得效率提升。核心观点:人人不必成为设计师,但人人都能做出设计。

2026-09-22 11:55:11 136

原创 marvis安装与使用

本文介绍腾讯 Marvis 的安装与使用。Marvis 是操作系统级个人 AI 助手,可直接操作电脑文件与设置、跨端远控,免费且每天赠送 1000 万 Token,支持断网时用端侧大模型。安装需从官网下载,Windows 至少 6 核 CPU,macOS 在 "关于本机" 查看配置;支持微信 / QQ 登录,微信装插件、安卓装软件联动远控。默认存储占 C 盘,可用 mklink 命令映射至 D 盘。会话界面支持多任务并行提问,Token 界面查看消耗,Skill 界面加载技能包让智能体按规则思考,Marvi

2026-09-14 16:36:22 231

原创 【OpenCode 安装与使用】

OpenCode 是完全开源的 AI 编程 Agent,支持全平台,提供终端 TUI、桌面客户端、IDE 插件三种形态。采用 BYOK 模式,原生对接 75+ 模型服务商(含 DeepSeek、Kimi、GLM 等),无需代理转换即可接入国内大模型,优于闭源 Codex。详解三种安装方式、快速上手(/connect、/init、Tab 切换 Build/Plan)、常用命令与问题排查,并介绍 opencode.json 自定义与 CC-Switch 多模型统一管理,适合追求自由可定制的开发者。

2026-09-14 16:12:56 109

原创 Codex 换肤教程

本文介绍 Codex 桌面客户端换肤工具 Codex‑Dream‑Skin,仅修改 UI 视觉,不改动程序核心文件与数据。文中讲解官方原生换肤、GitHub 开源 PowerShell 脚本、一键小白打包、Codex App 管理器四种换肤实现方式,附带安全风险提示、详细操作步骤与主题资源地址,帮助用户为 Codex 自定义美化界面。

2026-09-08 11:51:49 158 1

原创 CC Switch 是什么,怎么搭配 Codex 使用

随着 AI 编程 Agent 广泛应用,Codex、Claude Code 等工具面临配置分散、切换繁琐、扩展杂乱痛点。CC‑Switch 是基于 Tauri2 的开源跨平台桌面工具,作为 AI 编程 Agent 配置中控,支持多模型一键切换、统一管理 MCP 扩展、智能路由故障转移、用量日志监控、配置备份保护,可视化替代手动改配置,降低出错概率,适配全系统,帮开发者摆脱配置困扰,专注编码。

2026-09-04 09:21:51 221

原创 Agent Codex的安装与使用

OpenAI Codex 是一款能自主读写代码、执行命令、跑测试的 AI 编程 Agent,本文手把手带你从零上手。文章详细介绍了两种免折腾的安装方式 —— 微软商店一键安装和第三方开源管理器(无需翻墙),并演示了 API Key 登录、搭配 CC Switch 配置供应商的完整流程,最后还分享了 Codex 换肤等拓展玩法。无论你是想体验 AI 自主编程,还是寻找更稳定的 Agent 使用方案,这篇实操指南都能帮你快速跑通。

2026-08-31 11:14:46 214 1

原创 AI 是什么,Agent 是什么?

通俗拆解人工智能、传统大模型与AI智能体(Agent)的核心概念与本质差异。当前商用AI均为弱人工智能,传统大模型仅具备被动问答、内容生成能力,需人工分步下达指令,无法自主完成复杂任务。而AI Agent依托大模型底座,叠加智能规划、长短记忆、工具调用、自我反思四大核心能力,可接收最终目标后自主拆解任务、迭代执行、校验优化。文章以撰写行业调研报告为实例,直观对比了二者的工作模式,阐明AI Agent实现了从人驱动被动工具到目标驱动自主执行的核心升级,也是当下AI自动化发展的核心趋势。

2026-08-26 17:17:12 389 6

原创 kafka 使用

pom引入依赖 配置文件增加相关配置 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-stream-kafka</artifactId></dependency>

2022-04-27 19:06:35 2098 2

原创 springboot — es使用crud

第一步:引入es相关包<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>7.16.2</version></dependency><dependency>

2022-04-24 14:45:04 2717 2

原创 DefaultTransactionDefinition:显示声明事物

@Autowired private DataSourceTransactionManager transactionManager; @Transactional public boolean checkout() { DefaultTransactionDefinition definition = new DefaultTransactionDefinition(); // 设置事务名称 definition.setN...

2021-12-20 17:10:26 6772

原创 applicationContext

1. 获取Bean对象applicationContext.getBean(beanName, bean.class);2. 发布消息事件//obj为传递的事件对象applicationContext.publishEvent(Object obj);// 订阅消息事件:使用注解@EventListener,该注解默认是同步执行的,若要实现异步执行,需加@Async。方法参数为事件对象,指明要监听订阅的事件。public void execute(Object obj) {}..

2021-12-16 14:46:26 380

原创 rabbitmq 延时队列

/** * 动态延时通知 * * @param exchange queue名字 * @param routingKey 路由key * @param object 消息体 * @param noticeTime 通知时间 (时间戳-毫秒)*/ public void sendDelay(String exchange, String routingKey, Object object, Long not...

2021-12-15 19:31:26 1893

原创 项目/接口的开闭原则

今天才了解一个新词:开闭原则就是说写的项目/接口,要有足够扩展性,减少改动。一句话总结 就是对扩展开放,对修改关闭。

2021-12-08 15:34:47 292

原创 解决:mybatis plus updateById 为null 则不更新

局部设置:在实体类属性上设置如下即可@TableField(value = "test", updateStrategy = FieldStrategy.IGNORED)private String test;

2021-11-13 11:44:34 626

原创 Kafka启动失败报错InconsistentClusterIdException

报错:解决 :切换到配置文件server.properties中存放kafka日志的目录,修改meta.properties文件中的clusterId为日志文件中新的 Cluster Id。重新启动。

2021-10-30 16:36:45 1252

原创 解决idea 拉取新项目没有maven窗口

双击shift出现搜索框,输入maven,点击Add Maven Projects,选择项目的pom.xml文件,就出现啦

2021-10-27 11:26:54 2406

原创 服务之间接口调用Feign

采用OpenFeignpom引入:spring-cloud-starter-openfeign 启动类加注解:@EnableFeignClients 创建调用接口client端,client端上标明注解 @FeignClient(value = "kkb-dtg-admin"),并增加调用的接口方法。 注解@FeignClient中value代表服务提供者在eureka中注册的名称 接口的GetMapping地址是服务提供者的接口地址。(e.g/提供者的context-path/提供者的...

2021-09-01 20:37:48 340

原创 2021-08-30 Async method

1. 启动类上要加开启异步方法的注解@EnableAsync2. 线程池配置@EnableAsync@Configurationpublic class ThreadPoolConfig { /** * 初始化对象 * * @return 线程池属性配置对象 */ @Bean @ConfigurationProperties(prefix = "async.thread.pool") public AsyncThr

2021-08-30 19:49:28 261

原创 幂等方案

方案一:数据库唯一主键 (业务场景:下单等存在唯一主键的)① 客户端执行创建请求,调用服务端接口。② 服务端执行业务逻辑,生成一个分布式 ID,将该 ID 充当待插入数据的主键,然后执数据插入操作,运行对应的 SQL 语句。③ 服务端将该条数据插入数据库中,如果插入成功则表示没有重复调用接口。如果抛出主键重复异常,则表示数据库中已经存在该条记录,返回错误信息到客户端。方案二:数据库乐观锁 (业务场景:更新订单状态等相关的更新场景)数据库乐观锁方案一般只能适用于执行“更新操作”的过程,我们可以提前.

2021-03-08 13:16:35 230

原创 MySQL索引

主键索引:因为对于主键索引是不可能重复的,所以在保存到数据页的时候是直接追加插入的(我们默认主键是自增的)非主键索引:非主键一般是可以重复的,假设此时某个联合索引字段的值真的都是一样的,此时只能按照主键字段来排序,这就是为什么非主键索记录在保存的时候还保存一个主键字段的作用索引如果建立太多会占用太多的空间。因为MySQL 会为每个索引维护一颗 B+ 树,毕竟非主键的字段一方面不一定是递增的,另一方面可能是重复的。所以就基于这点,那些频繁增删的字段一定不适合来做索引索引查询遵循原则:等值匹配原则、最左.

2021-03-08 12:30:27 206

原创 RabbitMQ的几种模式(二)

接着上篇pubsub发布订阅模式一个生产者通过交换机发布到队列中再分别传输给消费者。即生产者P发出的消息传输到交换机,交换机再分发给绑定在它身上的队列,再发送给消费者,C1和C2都会接收到。交换机类型为Fanout(广播型)。建立一个Producer和多个Consumer 来模拟一个Producer发送天气信息 分别分发到消费端。package com.orange.rabbitmq.pubsub;import com.orange.rabbitmq.utils.MQConstant;i

2020-12-03 16:01:27 300

原创 RabbitMQ的几种模式(一)

RabbitMQ存在6种实现 如下图(当前只研究前5种简单demo实现)HelloWorld 简单模式如下图 简单模式就是一个生产者通过MQ Server对应一个消费者。对于MQ服务器来说,无论是生产者还是消费者,都相当于客户端所以我们在pom中引入amqp-client客户端依赖<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artif

2020-11-30 16:17:48 354 1

原创 rabbitmq 修改密码

# 查看用户rabbitmqctl list_users# 修改用户名对应密码rabbitmqctl change_password Username 'Newpassword'

2020-11-30 11:16:12 2663

原创 Arthas简单安装使用

最近看到jvm相关的,发现了这个好的监测工具。记录一下安装使用下载运行wget https://alibaba.github.io/arthas/arthas-boot.jarjava -jar arthas-boot.jar运行出现图标运行成功使用dashboard命令输入dashboard,会出现如下图所示的一个界面。该界面总体分为3个板块:进程列表可实时查看到cpu情况Memory模块可看到该项目的2大区域内存使用/总和情况:heap区 --> 年轻代eden区、年

2020-11-18 22:46:46 571

原创 CentOs安装JDK

去官网下载jdk下载linux系统指定的jdk压缩文件利用服务器传输工具如(Transmit)上传至服务器。我是之前有一个jdk8的压缩包就直接上传了一个。解压文件夹tar -xvf jdk1.8.0_25.tar配置jdk环境pathvim /etc/profile切换至插入模式,在文件末尾插入jdk存放路径以及classpath和path,保存。运行配置文件生效source /etc/profile查看是否安装成功java -version出现java版本即安装成功,如下图.

2020-11-18 22:15:04 168

原创 CentOs7 安装使用Redis

安装下载Redis压缩包wget http://download.redis.io/releases/redis-4.0.6.tar.gz解压tar -zxvf redis-4.0.6.tar.gz解压后得到(redis-4.0.6)文件夹,进入该文件夹,编译安装cd redis-4.0.6make install编译安装完成后 启动Redissrc/redis-server redis.conf &ps 看下结果 进程启动成功使用设置密码(打开配置文件 设

2020-11-11 21:29:06 167

原创 使用Redis increment 生成订单编号

生成订单号 @Autowired private StringRedisTemplate redisTemplate; private final String prefix = "order:id:"; @GetMapping("/getOrderNo") @ApiOperation(value = "获取订单号") public Result getOrderNo() { // 201110 String date = DateTime

2020-11-10 17:06:38 1095

原创 java发送邮件通知

引入jar包 <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.5.3</version> </dependency>创建工具类import com.sun.mail.util.MailSSLSocketFacto..

2020-10-09 14:44:40 1805

原创 服务器 定时任务清缓存

在服务器/tmp目录下建一个脚本文件CleanCache.sh#!/bin/bash #系统分配的区总量 mem_total=`free -m | awk 'NR==2' | awk '{print $2}'` #当前剩余的大小 mem_free=`free -m | awk 'NR==3' | awk '{print $4}'` #当前已使用的used大小 ...

2020-03-30 11:55:41 1154 1

原创 使用Apache POI导出Excel

导包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.16</version> </dependency&gt...

2020-03-25 18:14:16 306

原创 理解单例模式

什么是单例模式定义为单例模式的类 在程序中有且只有一个实例 单例模式特点1. 只有一个实例2. 构造函数私有化3. 对外提供获取实例的静态方法单例的实现单例有五种实现方式:饿汉、懒汉、双重验证锁、静态内部类、枚举单例饿汉@Slf4jpublic class Singleton { /** * 自我实例化 */ private s...

2020-03-17 19:14:06 199

原创 使用AOP切面打印系统日志

拦截接口的调用 打印日志@Aspect@Component@Slf4jpublic class MethodLogAspect { @Around(value = "execution(* com.xxx.controller.*.*(..))") public Object around(ProceedingJoinPoint point) { StopWatch clock ...

2020-03-10 17:37:51 547

原创 Java 使用阿里云短信服务发送短信验证码

阿里云发送短信分为以下几个步骤在阿里云开通短信服务 生成获取AccessKeyId 和 AccessKeySecret在控制台创建、申请短信模版,申请通过即可使用。记下<模版CODE>创建短信工具类方便调用发送短信@Slf4jpublic class SmsUtils { // 发送短信 public static String sendSmsAliyun(St...

2020-03-09 11:29:42 788

原创 java nginx连接前后端

使用nginx将前后端连起来,基本分为3部:在服务器新建两个文件夹,分别用来存放前端文件和后端jar包文件,并将文件放进去修改配置文件,配置前端路径和后端路径跳转访问连接主要操作如下:Linux命令 :- mkdir /home/tools/vistor_web (建前端文件夹名为 vistor_web)- mkdir /home/tools/vistor (建前端文件夹名为...

2020-03-06 18:05:17 2149

原创 java8

公用list stream表示使用java8流操作filter 过滤筛选 例如下: 从list中筛出moduleTitle为ABC的数据(忽略大小写),并将结果收集起来放到一个新的list中。e.gList<ModuleConfig> list = moduleConfigService.getAll(); --> 查配置表获取所有配置信息 List&l...

2020-03-05 19:58:52 854

原创 Spring Security +JWT 登录身份信息验证

加入依赖包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency><dependency> &l...

2020-03-04 18:35:29 947

原创 sql优化总结

数据库表数据量小的时候,sql语句影响性能可能没那么明显。一旦数据量增大,sql语句是影响程序运行性能的一个重要因素。所以sql优化就变得极为重要了。标题 给表建索引,按照索引查询,提升查询效率。表就像一本书,索引就像是目录一样的存在,方便查找。索引就是通过事先排好额顺序,从而在查找时可以应用二分查找或者其他的高效率的算法,一般的顺序查找,复杂度为O(n),而二分查找复杂度为O(log2...

2020-01-09 16:41:23 211

原创 PhantomJs截图导出问题

1. 问题1:PhantomJs预览页有图,导出页面为空白页 图1为预览图 、图2为导出图原因:地址调用头拼错 需要修改。2. 问题2:中文字体不展示原因:缺少字体包,需安装字体包:linux执行命令:yum install bitmap-fonts bitmap-fonts-cjk3. 问题3:字体大小显示和预览图不一致解决办法:参考https://bingoz...

2019-11-12 16:13:09 1105

原创 java 使用mybatis查询出现的时区问题

1. 问题场景:使用LocalDateTime,mybatis查出来的时间比数据库表里存的时间快了13个小时。如图:图一是表里存的时间数据,图二是debug时查出来的时间数据,快了13个小时2. 找到原因:这是时区问题,mysql时区设置默认是操作系统时区 而mybatis中间使用Calender做类型转换,为CST时区3. 解决办法:两种 1> 修改数据库系统配置...

2019-10-01 14:29:21 4227 1

原创 jar包和war包的区别

JAR:Java ARchive File,java归档 - 用于将多个.class类文件合成一个文件,打成一个包 类似于大家平常用的压缩包ZIP。区别就是Jar包会在打包的时候自动生成一个META-INF文件夹,里边包含MANIFEST.MF和maven项目配置pom文件。 - jar文件运行:jar文件可放在服务器的任何位置 执行只需要找到j...

2019-09-28 16:10:42 397

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除