-
Mybatis框架中Interceptor接口的使用说明
目录 Mybatis Interceptor接口的使用 测试中使用的config文件内容如下 在配置文件中配置了一个Interceptor的实现类 Interceptor修改执行sql及传入参数 总体思路 1.Interceptor 代码实现 2.AutoConfiguration代码实现 Mybatis Interceptor接口的使用 关于Mybatis中插件的声明需要在configuration的配置文件中进行配置,配置文件的位置使用configLocation属性指定. 测试中使用的co
-
java调用chatgpt接口来实现专属于自己的人工智能助手
目录 前言 导包 基本说明 请求参数 响应参数 创建请求和响应的VO类 代码编写 使用 最后说明 前言 今天突然突发奇想,就想要用java来调用chatget的接口,实现自己的聊天机器人,但是网上找文章,属实是少的可怜(可能是不让发吧).找到了一些文章,但是基本都是通过调用别人的库来完成的,导入其他的jar还有不低的学习成本,于是就自己使用HttpClient5写了一个,在这里讲解一下思路. 导包 对于http调用,我使用的是比较流行的httpclient5,然后直接创建了一个springboo
-
ChatGPT使用案例过程场景详细讲解
目录 推荐使用公式 1. 询问ChatGPT能做什么 2. 优化商品详情文案 3. 设计用户旅程地图 4 .优化代码/修复代码bug 5. 设计一个活动的框架 推荐使用公式 针对复杂的问题,我们可以套用公式: 角色 + 明确任务目标 + 任务描述/背景信息 + 输出要求 + 人工修改(加人味),AI的输出最后还是需要人工来润滑一下的. 需要注意的是,跟ChatGPT聊的时候,其实并不需要一开始就提出一个很精确的问题,跟浏览器搜索不同,它是可以记住你上下文的,你完全可以根据它的答案进行推进
-
Golang中Delve版本太低无法Debug的问题
问题描述 分析 这是因为本地delve组件版本过低导致的,2019.2.1版本的Goland默认支持go 1.13 查看F:\Go (GOPATH目录)目录下存在github.com/go-delve/delve/cmd/dlv,而且bin目录下也存在dlv.exe文件,用命令行执行 dlv.exe version得到的版本是1.2.1 解决办法 更新dlv 因为本地已经存在,所以,需要用到-u参数,强制更新包以及依赖 go get -u github.com/go-delve/delve/cm
-
MySQL正则表达式regexp_replace函数的用法实例
目录 用法 参数 用法 总结 注:此函数为 MySQL8.0 版本新增,低于8.0版本没有此函数. regexp_replace(expr, pat, repl[, pos[, occurrence[, match_type]]]) 用法 将字符串expr与pat指定的正则表达式匹配的匹配项,替换为字符串repl,并返回结果字符串.如果expr.pat或repl为NULL,则返回值为NULL. 参数 expr:要替换的原始字符串,或者数据库表指定的列. pat:要匹配的正则表达式,pat为空串时
-
Vue常用实例方法示例梳理分析
目录 前言 vue实例方法和实例数据 1.vm.$set 2.vm.$delete 3.vm.$watch 实例方法和事件 1.vm.$on 2.vm.$emit 3.vm.$once 4.vm.$off 实例方法和生命周期 1.vm.$mount 2.vm.$destroy 3.vm.$nextTick 前言 vue实例的属性 获取挂载的元素 --vm.$el 获取实例的初始化选项的对象 --vm.$options 获取观察的数据对象 --vm.$data 一对象,可持有的注册过ref属性的所
-
数据结构C语言链表的实现介绍
目录 前言 函数 1. 链表初始化 2. 计算链表长度 3. 打印链表 4.计算链表长度 5. 删除链表中指定位置节点 6. 向链表中指定位置插入节点 7. 全代码+运行效果 前言 需要用到的函数库 #include<stdio.h> #include<malloc.h> malloc函数用来动态分配空间,相当于Java中new的作用 先是需要创建一个节点的结构体 typedef struct{ int data; struct linkNode* next; }linkNode;
-
Vue + ts实现轮播插件的示例
背景 最近在学习 ts,打算用 ts 写一个练手项目,参照的网站内容是 wanandroid,这个接触过android开发的同学可能更i了解一些,其实一开始是打算后台全部都自己写的,不过奈何一个懒字,所以现在的打算就是自己实现登录注册简单的逻辑.这些都不重要,一开始实现轮播是打算在 vue 中引入轮播图 swiper.js,后来想想还是自己写算了.也当作熟悉 ts.先上效果图(这里没有动态图片,各位同学可以自己实现) 代码已经上传 git,进度比较慢,如果可以各位大佬点个 star. githu
-
手把手教你MySQL运算符
目录 一.算术运算符 二.比较运算符 三.逻辑运算符 四.位运算符 五.运算符的优先级 总结 一.算术运算符 主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加 (+).减(-).乘(*).除(/)和取模(%)运算 1.加法与减法运算符 一个整数类型的值对整数进行加法和减法操作,结果还是一个整数 一个整数类型的值对浮点数进行加法和减法操作,结果是一个浮点数 在Java中,+的左右两边如果有字符串,那么表示字符串的拼接.但是在MySQL中+只表示数值相加.如果遇到非数值
-
Shell之免交互的实现
目录 前言 一.Here Document 1.Here Document概述 2.基本语法格式 3.Here Documen免交互 4.变量设定(支持变量替换) 5.格式控制 6.多行注释 二.Expect 1.Expect概述 2.expect的基本安装 3.基本命令 4.用expect编写脚本 总结 前言 免交互就是实现一个功能时,不需要连续从键盘输入信息,通过脚本或命令自动完成一些动作. 一.Here Document 1.Here Document概述 使用 I/O 重定向的方式将命令
-
Jenkins定时构建语法规则及时间设置
目录 Jenkins定时构建时间设置 官方说明翻译 示例 Jenkins定时构建时间设置 Jenkins时区设置为北京时间 打开 [系统管理]->[脚本命令行]运行下面的命令 System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai') 查看时间: [root@120jenkins ~]# dateSat Apr 25 13:55:51 CST 2020 官方说明翻译 MINUTE HOUR D
-
Java C++ 算法leetcode828统计子串中唯一字符乘法原理
目录 题目要求 思路:模拟 java C++ Rust 题目要求 思路:模拟 解题的核心思想在于逆向思维,不考虑每个子数组中的唯一字符个数,转而考虑每个字符可以作为多少个子数组的唯一字符: 所以在计算答案时的算式和示例中给出的是不一样的: 在计算每个字符“贡献”[即当前向左向右分别可组成的答案个数]的时候要用到乘法原理. 对每一个字符s[i]s[i]s[i]都记录其左边和右边的第一个相同字符位置,分别记为l[i]l[i]l[i]和r[i]r[i]r[i],这两个位置中间构成的就是s[i]s[i]
-
aarch64服务器部署mysql的流程分析
目录 aarch64服务器-部署mysql 1.创建工作目录 2.编写docker-compose.yaml 3.编写数据库配置文件. 4.启动 5.测试 一. 创建用户 二. 授权: 三. 授权: aarch64服务器-部署mysql aarch64服务器-部署nacos 1.创建工作目录 mkdir -p /apps/mysql/{mydir,datadir,conf,source} 2.编写docker-compose.yaml version: '3' services: mysql:
-
Go如何优雅的使用字节池示例详解
目录 背景 为何需要字节池 最简单的方式 测试 不预先申请空间 预先申请空间 字节数组池 测试结果 更优雅的方式 测试 直接使用Buffer bytes.Buffer池 测试结果 限制池大小 测试 固定大小字节池 测试结果 总结 总结 背景 在某些场景下,我们可能会大量的使用字节数组,比如IO操作.编解码,如果不进行优化,大量的申请和释放字节数组会造成一定的性能损耗,因此有必要复用字节数组. 为何需要字节池 在 Go 语言编程中,在从 io.Reader 中读取数据时,我们都要创建一个字节切片
-
Linux file命令的使用
1.命令简介 file命令用来识别文件类型,对文件的检查分为文件系统.魔法幻数检查和语言检查三个过程,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的. 2.命令格式 file [-bchiklLNnprsvz0] [--apple] [--mime-encoding] [--mime-type] [-e testname] [-F separator] [-f namefile] [-m magicfiles] file
-
解决mysql的赋权操作之GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION问题
一种情况 mysql的赋权操作:GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION: mysql赋权操作: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; flush privileges;GRANT:赋权命令ALL PRIVILEGES:当前用户的所有权限ON:介
-
MySQL外键级联的实现
目录 简介 示例 一.首先创建两张表stu,sc 二.向两张表插入数据 简介 MySQL外键起到约束作用,在数据库层面保证数据的完整性.例如使用外键的CASCADE(cascade串联)类型,当子表(例如user_info)关联父表(例如user)时,父表更新或删除时,子表会更新或删除记录,这个过程是数据库层面完成的.早期企业系统数据库设计里面比较多,虽说帮程序员节省了delete.update操作,实际上增加了潜规则,也增加了软件复杂度,也会减弱性能. 所以在应用程序设计中,我们应尽量在应用层
-
VSCode 最全实用插件小结
目录 一.必备插件 Chinese(中文) Settings Sync(配置同步到云端) wakatime(编程时间及行为跟踪统计) 二.效率神器 HTML Snippets(代码提示) Auto Close Tag(自动闭合标签) Bracket Pair Colorizer(括号做颜色区分) Browser Preview(VSCode里面打开浏览器) REST Client(接口调试) CSS Peek(css样式查看器) Partial Diff(文件比较) Npm Intellisen
-
关于ES6字符串的扩展详解
目录 一.字符串的扩展 字符的 Unicode 表示法 字符串的遍历器接口 模板字符串 二.字符串的新增方法 includes(), startsWith(), endsWith() 实例方法:repeat() 实例方法:padStart(),padEnd() 实例方法:trimStart(),trimEnd() 总结 一.字符串的扩展 字符的 Unicode 表示法 ES6 加强了对 Unicode 的支持,允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点.
-
Python实现问题回答小游戏
目录 读取问题 绘制回答面板 回答问题 问题切换 完整代码 读取问题 如下所示,我们在文本中写了一个问题,然后将其读取出来. "黄河远上白云间,一片孤城万仞山."的作者是谁? 王之涣 李白 白居易 杜甫 file = open("1.txt", "r") question_coll = file.readlines() file.close() print(file) 运行之后发现报错,查询之后发现编码格式不正确. 设置了读取的编码格式发现可以读
