- 博客(470)
- 资源 (5)
- 收藏
- 关注
原创 springboot自动重启及SpringBoot Developer tools简介
项目中引用了springboot dev tools,修改类后会自动重启。
2023-11-22 08:31:25
102
原创 Maven optional的作用
但你的项目仅使用其中一个数据库,而不需要其他依赖。X2中就可以声明所有驱动为Optional,你的项目直接声明依赖X2,X2中的驱动依赖并不会自动引入到类路径,你的项目需要显式声明目标数据库驱动依赖。简单来说,Project-X依赖Project-A,Project-A依赖Project-B,在Project-A中定义Project-B为optional的,在Project-X才会起作用并且不会引入Project-B依赖,也就是说Optional会阻止依赖传递。
2023-11-22 08:29:47
54
原创 springboot rocketmq 延时消息、延迟消息
rocketmq也有延迟消息,经典的应用场景:订单30分钟未支付,则取消的场景其他博客提到从rocketmq5.0开始,支持自定义延迟时间,4.x只支持预定义延迟时间,安装rocketmq可参考。
2023-11-13 08:14:23
127
原创 ubuntu20.04.6 安装显卡驱动、安装nvidia驱动、NVIDIA-SMI has failed because it couldn’t communicate with the NVIDI
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running
2023-11-08 19:42:24
69
原创 安装ubuntu-20.04.6-desktop版本、根据ISO文件制作U盘启动盘
本文简述,安装Ubuntu20.04.6的过程,包括制作U盘启动盘、安装。
2023-11-08 19:41:22
488
原创 docker rabbitmq 宕机 无反应 不消费消息
今天遇到了rabbitmq宕机,具体现象是java publisher发送消息后,consumer没有收到消息,publisher也没有报错(未使用ack机制);于是重启docker(rabbitmq装在docker中),重启失败,查看日志出现device。
2023-11-06 19:55:04
121
原创 RocketMq简介及安装、docker安装rocketmq、安装rocketmq可视化管理端
rocketmq有两部分,nameserver和broker,nameserver用来维护broker的地址、向生产者、消费者推送broker的最新地址;broker用来存储、转发消息;也就是说,生产者首先要连接nameServer获取到broker的地址,然后将消息发送到broker,通过broker再将消息传递到消费者;所以用docker安装rocketmq时,要启动两个容器,一个nameserver、一个broker,这两者要网络互通;nameServer暴露的端口通常是9876;
2023-11-06 19:45:24
144
原创 服务端推送、 server sent event、sse、springboot+sse
SSE是一种规范而不是一种新协议,它使用http通信,返回的,客户端通过监听事件不断获取数据,链接断掉后会自动重连,接收完数据后由客户端发起关闭连接。
2023-10-28 10:34:21
137
原创 禁用Google Chrome自动升级、查看Chrome版本号
查看Chrome版本时,会自动升级,这个设计很垃圾,对开发者不友好;查看Chrome版本方法:chrome浏览器右上角—>自定义及控制Google Chrome(三个竖着的点号)------>帮助---->关于Google Chrome。
2023-10-26 18:05:41
497
原创 springboot 配置文件优先级
springboot配置文件可以使用properties文件、yaml文件,推荐一个系统中只使用一种格式,如果在同一个位置使用了properties、yaml,properties覆盖yaml,个人推荐使用yaml,支持结构化,层次更清晰。如果系统中有application.yaml,application-specific.yaml,jar包外也有application.yaml,application-specific.yaml,优先级是jar包外部的application-specific.yml
2023-08-09 09:06:34
353
原创 ini格式文件介绍
ini是一种格式,通常用在配置文件中。它有如下规则[]中括号代表小节 ,使用 name = key格式,在某一小节内名字不能重复。注释使用分号,很多人说#也是注释,其实这是错误的,为什么呢?本来是name=value,加后,那么key值成了文本#name,根据name找不到对应值,所以看起来像是注释,其实不是的。我们以uWSGI的一个配置文件为例[uwsgi];这是小节key = value格式,小节内key值不能重复。
2023-08-09 08:59:23
171
原创 apache poi合并单元格 横向竖向合并单元格
合并单元格是常见的需求,apache POI的合并单元格的原理很简单,它就是从左上到右下的单元格会被左上合并,无论是横向合适纵向合并单元格合并,都是这个原理,关键的api方法。复杂一点的合并单元格,比如,年级----班级----学生,每一个合并要算,比如班级合并几行,是看班里有几个学生,年级合并行是所有班级占的行数和。(rowFrom,colFrom)组成了起始节点,(rowTo,colTo)组成了终止节点,只要是这个区域的都会合并为左上单元格。
2023-08-09 08:57:21
310
原创 Spring @Primary、@Order、JSR @Priority作用与区别
有控制注入优先级的,有控制注入后的顺序的,还有两者兼有的;spring的注解优先级高于JSR注解;接口高于注解;
2023-08-09 08:46:13
739
1
原创 uniapp 微信小程序 使用高德地图 定制气泡
我们常说的uniapp或者原生微信小程序框架使用高德地图,并不是ui就是高德地图,而是api用的高德地图,ui仍然是框架内置的地图,也就是说,地图和api是分开,微信小程序的内置地图自然是腾讯地图。
2023-08-09 08:33:29
591
原创 本地开发 npm 好用的http server、好用的web server、静态服务器
有时需要快速启动一个web 服务器(http服务器)来伺服静态网页,安装nginx又太繁琐,那么可以考虑使用npm serve、http-server、webpack-dev-server
2023-08-09 08:08:41
988
原创 微信开发者工具 miniprogram_npm 未找到
微信开发者工具中,打开集成了vant-weapp的项目,构建npm时,报错\miniprogram_npm\ 未找到。
2023-07-29 11:51:39
1259
原创 intellij idea开发微信原生小程序
intellij idea开发微信原生小程序的基本原理是,在idea中编辑目标文件(wxml、wxss),微信开发者工具热加载改动,从而实时看到效果,微信开发者工具的提示、高亮等能力,都太弱了,所以还是在idea中开发吧,相信VS Code也是这个原理。
2023-07-12 18:57:42
1756
原创 docker compose up后,ping不通宿主机
有两台服务器,上游nginx主机(ip:172.19.x.x)、下游nginx主机(172.17.x.x),某天发现从上游nginx主机ping不通下游nginx主机,回想最近在下游nginx主机上装过docker,细查发现,除了docker0网卡(ip:172.18.0.1),还有执行时创建的网卡br-4f284f2c67de(ip:172.19.0.1),与上游nginx主机是同一个网段,导致失败。
2023-07-03 19:00:25
747
原创 docker failed to create task for container: failed to create shim task: OCI runtime create failed:
Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v2.task/moby/4a7cc9e9d0d66c8db7f9cd68ffa2631c54d3e3dab4
2023-06-30 22:15:00
10476
2
原创 centos7 访问docker外网ip访问不通
为什么开启ipv4转发,外网与docker通信可达了?推测是宿主机与docker分属不同网络,默认的,docker桥接到宿主机,桥接模式下宿主机与docker使用网络地址转换(NAT)通信,它们之间需要路由,开启ipv4也就是开启了路由、NAT功能,从而网络可通。
2023-06-25 22:00:00
936
原创 vue封装ketcher 化学式、分子式编辑器
Ketcher是一个化学式编辑器,ketcher插件提供了传统的html standalone版、,并没有npm包vue版,集成到vue的原理是将standalone版中,通过拿到iframe中的ketcher对象,从而获取到化学式。
2023-06-21 08:16:47
1360
原创 linux 变量、环境变量、 export source的作用、login shell与non-login shell
在当前shell环境中,读取并执行文件中的命令,如果脚本中有环境变量,通常衍生为环境变量立刻生效。除了这个差别,他们最大的差别是在读取的环境配置文件不一样,login shell会陆续读取。login shell和non-login shell。,而non-login shell只读取。
2023-06-19 20:31:28
68
原创 certbot 申请免费SSL证书、自动续期
是一个免费、开源的软件,是的客户端,Let’s Encrypt是证书颁发机构,它们之间使用通信,Certbot是Lets Encrypt众多客户端的其中之一,Let’s Encrypt,它能自动使用Let’s Encrypt颁发证书的工具,它能实现自动下载证书、证书续期,让网站开启https功能,以往我们都从阿里云、腾讯云买证书,有了Let’s Encrypt就可以省下这部分钱了。是一个免费、自动化、开放的证书授权机构。(ISRG).
2023-06-19 20:30:36
1055
原创 查看centos版本
CentOS是RedhatEL版的社区版,最后一版是CentOS8,从此以后不会再出CentOS x了,只有CentOS Stream,CentOS Stream没有版本,是RedhatEL的上游,CentOS 8/7是RedhatEL的下游,援引官方说明在过去,CentOS被认为是RHEL的免费重建版本,几乎与RHEL完全兼容,但通常有一些延迟,因为CentOS发布的更新版本是基于RHEL的源代码构建的。然而,自从CentOS8。
2023-06-16 16:05:53
575
原创 uniapp 基座、标准基座、自定义基座;传统打包、快速安心打包
基座就是原生层,js、html、css都要运行在原生层,有了基座,代码才可以在真机上运行。标准基座就是没有添加任何原生插件的基座。项目中如果有nvue文件,那么要放到基座中,这就是自定义基座,自定义基座的最大特性就是,可以热加载。可以将真机想象成操作系统,基座在操作系统之上,js/html/css则在基座之上,只要有nue,就要用自定义基座。
2023-05-28 20:35:13
2263
原创 vue 双大括号中使用外部函数 template中使用外部函数
(当前组件),可以在methods中声明下,如下。的functionA其实等于。vue template中。,而import进来的。
2023-05-16 19:10:57
107
原创 springboot resttemplate jackson 泛型 fastjson 泛型
springboot默认使用jackson序列化和反序列化,在使用接收响应时,有时需要反序列化为泛型,观察RestTemplate的exchange方法,有个参数用来支持泛型比如可以这样注意必须使用exchange方法,只有exchange方法有参数。
2023-05-16 19:10:37
287
原创 RedisTemplate<String, Integer>注入失败
自定义RedisTemplate<String, Integer>使用RedisTemplate,操作时,强转一下。
2023-04-22 09:45:10
78
原创 vue.js 重置组件状态
初始数据在data()函数中,外边拿不到,往往新增后,需要恢复到初始状态,参考。可以将初始化数据的代码抽取为外部函数,然后调用。
2023-04-10 19:02:27
302
原创 iphone/苹果手机 微信小程序 真机调试 网络不通 网络请求失败
问题:iphone/苹果手机 微信小程序 真机调试 网络请求失败,可以确定的是,真机和开发工具所在电脑肯定是在一个网段的,把蜂窝数据都关了,只保留了WIFI,还是请求不通,最终参考。解决,原来是 IOS升级了本地网络权限,只要在。的这个权限,就可以正常调试使用了。
2023-04-03 19:26:36
2077
原创 springboot RestTemplate post 两个tcp数据包 webserver报错
springboot RestTemplate post请求外部接口时,报错误;同样的请求内容使用postman则不报错,使用wireshark抓包后发现,RestTemplate 发送的http虽然未达到tcp MSS(默认的1460字节),但仍然而postman使用了,我们知道,应用层是无法控制tcp数据包数量的。默认的,使用发送请求,NettyOkHttp从源码得知,HttpURLConnection在发送http body之前会先发送header并且调用了flush方法,这里的。
2023-03-07 19:22:09
499
原创 springboot rabbitmq 延时消息、延迟消息、非阻塞重试机制实现
比如,系统之间同步数据,A系统发送数据给B系统,因为网络原因或者B系统正在重启,可能收不到信息,为了确保B能收到消息就得重试几次;经典的比如,对后台通知交互时,如果微信收到商户的应答不符合规范或超时,微信认为通知失败,微信会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但微信不保证通知最终能成功。(通知频率为15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h程序执行完后必须打印输出 success。
2023-01-19 08:32:26
1416
原创 http Cache-Control详解及nginx设置Cache-Control
no-store只能阻止新的资源不会被缓存,不能阻止已经缓存的资源仍被使用,添加max-age:0,可以清除旧缓存;这个设置意味着每次请求都会去源服务器获取资源,状态码就是200;属于http1.0规范,一般来说现在的通信端都用http1.1,所以不缓存时,没必要设置此header了。
2023-01-19 08:30:40
5263
原创 苹果手机微信扫码下载pdf文件,出现空白页。
要实现微信扫二维码下载pdf文件的功能,苹果手机微信扫码后,第一次扫码,提示下载;后续扫码有时pdf文件被空白页遮挡,有时正常;,用安卓手机微信扫码、或者用苹果手机支付宝扫码都是正常,怀疑是缓存作祟,以下这个问题的解决过程。
2023-01-19 08:29:32
907
原创 amqp协议、rabbitmq入门、springboot集成rabbitmq
本文主要参考了要学习rabbitmq,就要先学习amqp协议,amqp全称Advanced Message Queuing Protocol (AMQP),rabbitmq实现了amqp,当然rocketmq也实现了amqp。amqp中有几个重要的概念,producer(publisher)、exchange、queue、consumer。
2022-11-07 20:02:53
606
原创 微信公众号获取openid流程
微信公众号获取openid,在官方文档中称为,授权有两种scope,snsapi_base和snsapi_userinfo,snsapi_base是静默授权,不需要用户同意,以下要说的就是静默授权。关于网页授权的两种 scope 的区别说明以snsapi_base为 scope 发起的网页授权,是用来获取进入页面的用户的 openid 的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
2022-11-06 11:10:30
14233
原创 安装docker、docker engine和docker desktop区别
安装docker时,官网有docker desktop和docker engine两种,这两种有什么不同?应该安装哪种呢?
2022-10-15 15:56:12
13204
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人