工作篇
工作中总结的知识点、工作中常用的知识
了迹奇有没
刺客排行榜952712138,兼纸后端开发
展开
-
为什么你应该在代码中消除 “context deadline exceeded“ 错误
在 Go 语言中,`context` 包提供了一种跨 API 和进程边界传递请求作用域值、取消信号以及超时信号的方式。使用 `context` 可以帮助我们更好地控制 goroutine,避免 goroutine 泄漏等问题。原创 2024-06-14 12:12:52 · 2407 阅读 · 0 评论 -
Ubuntu 上的终端革命:一站式 Zsh 和 Oh My Zsh 安装配置指南
本文介绍了如何在Ubuntu系统上安装和配置zsh和oh-my-zsh,包括基本安装步骤、配置插件等操作。提高终端的使用效率和定制性。原创 2024-01-03 18:24:18 · 8820 阅读 · 0 评论 -
Go 单元测试高效实践
敏捷开发中有一个广为人知的开发方法就是 XP(极限编程),XP 提倡测试先行,为了将以后出现 bug 的几率降到最低,这一点与近些年流行的 TDD(测试驱动开发)有异曲同工之处。在最开始做编程时,我总是忽略单元测试在代码中的作用,觉得编写单元测试的功夫都赶上甚至超越业务程序了。到后来,业务量越来越复杂,慢慢地,浮现一个问题,就是系统对于测试人员是一个黑盒,简单的测试无法保证系统所设计的东西都可以测试到。原创 2023-04-21 18:30:42 · 715 阅读 · 1 评论 -
软件系统设计细节,你不知道的13个实践经验!
帮助你更好地理解和实践系统设计细节!原创 2023-01-07 14:29:55 · 228 阅读 · 0 评论 -
服务端三种方式实现单设备登录
单设备登录,顾名思义,一个账号在一个app中只能在一个设备上进行登录。使用的场景例如:账号多端登录时云存档的一致性问题。原创 2022-09-27 20:14:29 · 2791 阅读 · 0 评论 -
Springboot集成Kafka,看这篇就够了。Kafka消息事务处理,同步异步分区拦截。
SpringBoot集成Kafka生产者同步异步分区拦截、事务处理。原创 2022-06-11 16:04:06 · 3276 阅读 · 3 评论 -
Java|Kotlin, SpringBoot从配置文件中读取@KafkaListener参数配置
@KafkaListener(topics = ["\${kafka.topics}"], groupId = "\${kafka.group-id}")原创 2022-06-10 10:51:00 · 2679 阅读 · 0 评论 -
Kotlin SpringBoot使用RedisTemplate操作RedisBitMap, RedisTemplate 使用 BitField命令
Kotlin SpringBoot使用RedisTemplate操作RedisBitMap, RedisTemplate 使用 BitField命令原创 2022-04-11 16:12:58 · 746 阅读 · 0 评论 -
Java springboot使用RedisTemplate操作RedisBitMap, RedisTemplate 使用 BitField命令
Java springboot使用RedisTemplate操作RedisBitMap, RedisTemplate 使用 BitField命令原创 2022-04-11 16:09:09 · 3990 阅读 · 0 评论 -
总结一下在使用某里云服务器的过程中出现过的一些问题
一点点吐槽希望能变得更好吧原创 2022-03-17 19:19:55 · 493 阅读 · 0 评论 -
继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错? springboot 两种方式稳定解决跨域问题
继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错???springboot 两种方式稳定解决跨域问题! 之前我写了[一篇文章](https://blog.csdn.net/w_monster/article/details/118496270),来解决CORS报错,文中使用到的就是WebMvcConfigurer来进行跨域处理,在最近的项目调试中,我发现这种方法并不能完全覆盖跨域问题,所以我进行了探索,找了了以下两种方法进行补充。原创 2022-03-14 10:22:56 · 2788 阅读 · 0 评论 -
程序主动进行电话短信报警,自定义电话、短信、钉钉报警通知
程序主动进行电话短信报警,自定义电话、短信、钉钉报警通知原创 2022-02-28 16:11:29 · 2181 阅读 · 0 评论 -
正式压力测试:locust进阶,超简单搭建生产级locust集群
locust进阶,搭建生产级locust集群。基于K8S集群的压力测试环境!原创 2022-01-05 14:01:49 · 634 阅读 · 0 评论 -
本地打包Docker镜像上传至阿里云远程仓库(一站式脚本)
一个shell脚本,从打包Docker镜像到上传远程仓库。原创 2021-12-31 14:36:29 · 737 阅读 · 0 评论 -
locust入门:单机使用locust运行压力测试
压力测试入门篇:使用locust单机跑测试脚本原创 2021-12-29 16:39:55 · 631 阅读 · 0 评论 -
在kotlin companion object中读取Bean,注入Bean对象
在使用kotlin时,或多或少地会使用到一些公共组件,如 http、 mongo、 redis相关的组件。使用组件时,我们往往会自定义一些通用的方法,用以全局调用,作为工具类封装起来。而在java中,使用依赖注入本身是带有一些耦合性的,最好的方法就是只在工具类中进行注入。那在kotlin中,如何实现呢?原创 2021-12-21 16:41:37 · 1897 阅读 · 0 评论 -
阿里云K8S容器服务的使用
使用阿里云k8s构建服务1. 上传镜像2. k8s运行3. 服务配置导入4. 服务路由5. 节点亲和性和污点管理1. 上传镜像在阿里云控制台找到“容器镜像服务”,开启镜像服务,这里选择个人实例即可(个人版限额,企业版付费)选择好之后点击个人版,进入选择“镜像仓库”,创建镜像仓库,然后输入参数创建一个仓库,如下:点击下一步,开始选择代码源:这里我配置的是gitlab私服地址,之后你的镜像就会从对应的gitlab项目拉取。点击刚才创建的仓库,进入仓库选择左侧的构建,原创 2021-10-19 15:32:51 · 7128 阅读 · 0 评论 -
数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法
数据库中自定义排序场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序(这里看个人需求)。普通的sql只能对一个字段进行简单的大小排序,如下:SELECT * FROM banner ORDER BY `status`, sequence ASC;这里我们对banner这张表中的status字段先进行排序,然后对排序后的子集再对sequence字段进行排序。但原创 2021-10-09 11:02:11 · 683 阅读 · 0 评论 -
zip压缩多个文件,解压时不包含目录层级
假设我们有个目录叫 dev,dev中有很多文件,我们想要将dev中的文件打包,名字可能叫dev.zip,但当我们解压的时候,不想要解压生成一个dev目录,想要直接解压在当前目录,这样如何压缩呢?# 进入dev目录$ cd dev$ zip -r ../dev.zip *# 这时候一个dev.zip文件就已经被打包在dev目录上一级目录中了以上!...原创 2021-09-15 18:43:58 · 5528 阅读 · 0 评论 -
将服务器添加至跳板机,jumpsever的使用
如何将服务器添加至跳板机。1. 获取跳板机/root/.ssh/id_rsa.pub 中的内容2. 登陆要添加到跳板机的目标机器 /root/.ssh/authorized_keys3. 将跳板机id_rsa.pub 内容复制到目标机器的authorized_keys中,累加在后面。4. 目标机器执行service sshd restart5. 在跳板机控制台添加资产,配置ip(内网ip,快!)6. 注意:如果有机器修改了网络类型(经典网络/专有网络),那么它的内网地址可能会发生改变原创 2021-09-03 19:27:34 · 640 阅读 · 0 评论 -
IDEA远程调试linux上的SpringBoot项目
IDEA远程调试linux上的SpringBoot项目一、intellij idea配置打开idea中的run/debug configurations, 选择remote类型,地址配置为服务器地址,端口配置为上述配置参数中的address,如下图:正确选择远程主机ip(即Spring Boot应用部署的主机ip)及自定义的调试端口(调试端口,不是应用启动服务端口)正确选择JDK版本,不同的版本远程命令行参数不同(Command line arguments for remote JVM)。原创 2021-09-01 17:39:20 · 1080 阅读 · 0 评论 -
SpringBoot部署脚本,拿走即用!
一个可以直接拿来使用的shell脚本,适用于springboot项目#!/bin/bash# 这里可替换为你自己的执行程序,其他代码无需更改,绝对路径相对路径均可。# 若使用jenkins等工具远程构建,则使用绝对路径,下面的日志输出路径同!APP_NAME=/root/webserver-0.0.1-SNAPSHOT.jar# 使用说明,用来提示输入参数 仅在输入错误时提示使用。usage() { echo "Usage: sh 脚本名.sh [start|stop|restart|sta原创 2021-07-23 19:31:20 · 844 阅读 · 0 评论 -
ECS(Linux)连接RDS,使用命令行方式连接实例
使用命令行方式连接实例通过命令行连接RDS MySQL数据库,连接方式如下:mysql -h<连接地址> -P<端口> -u<用户名> -p -D<数据库名称># 假设 用户=testuser 密码=123 数据库连接为 rm-bp1457xxxxxx.mysql.rds.aliyuncs.commysql -hrm-bp1457xxxxxx.mysql.rds.aliyuncs.com -P3306 -utestuser -p123```原创 2021-07-05 12:03:39 · 1253 阅读 · 0 评论 -
后端生成图片验证码,Kotlin生成图片验证码,Java生成图片验证码,图片验证码的生成和校验
后端生成图片验证码注:以下代码主要使用kotlin进行编写,kotlin可兼容java,可以直接使用。IDEA也支持将java与kotlin代码进行互相转换。1、引入依赖:Gradle(若你使用的是gradle依赖管理,使用这个):implementation("com.github.penggle:kaptcha:2.3.2")Maven(若你使用的maven依赖管理,使用这个):<dependency> <groupId>com.github.penggle原创 2021-06-07 10:21:42 · 349 阅读 · 0 评论 -
IDEA中将代码块封装为方法,IDEA代码重构快捷键
IDEA中将代码块封装为方法选中要转换的代码块,快捷键:Windows快捷键:Alt + Shift + MMac快捷键:Alt + Command + M如图:原创 2021-06-05 19:13:06 · 19117 阅读 · 4 评论 -
Postman使用Date数据类型,Postman发送Date类型数据,Postman模拟前端调用
Postman使用Date数据类型:在form-data数据类型下,使用 2021/7/7 11:11:00 (yyyy/MM/dd HH:mm:ss) 的数据格式即可如下:在json数据格式中,这种的则不能适用,需要在Per-request Script中设置参数然后使用,如下:postman.setGlobalVariable("startTime",Date.parse(new Date("2021/06/01 00:00:10")));postman.setGlobalVariable原创 2021-06-02 16:55:04 · 9726 阅读 · 0 评论 -
妙用postman系列——postman建组、分享
妙用postman系列——postman建组、分享添加新的组和请求。3、生成分享链接4、导入分享链接原创 2021-06-01 15:27:28 · 1836 阅读 · 0 评论 -
恭喜你发现了宝藏,编程习惯-日积月累
总结: 1、条件查询可在数据库层创建queryDto进行统一操作。 2、代码复用:若有代码重复出现了三次,很大概率可以重构。 3、dto和entity中的赋值操作,可以写成方法放在dto中。 4、dto中不写id,id是前端另外传过来或后端生成的。 5、取和存数据相同时,可只用entity一个数据传输对象。 6、使用框架、工具类的代码不可直接在业务层引入,操作数据需统一通过持久化层进行封装。 7、领域、对象的命名需使用名词,不可有歧义。若命名不理想,需商讨。 8、接口对外暴露原创 2021-05-31 19:25:25 · 136 阅读 · 0 评论 -
springboot项目使用junit4进行单元测试,maven项目使用junit4进行单元测试
首先,maven项目中引入依赖<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope></dependency><dependency> <原创 2021-02-23 16:43:10 · 1020 阅读 · 0 评论 -
将文件上传至ftp服务器,FTP文件上传工具类,将文件上传至服务器指定目录
将文件上传至ftp服务器,传入File对象,将文件上传至ftp服务器需要配置修改的点:1. 服务器ip端口(服务器ip 端口22/21)。2. 服务器账号密码(服务器登录用户名密码)。3. 上传路径(写入的路径会去检查是否存在,若存在则在路径下继续深入,不存在则创建)。4. 下面的注释很全面很清楚,如遇问题,可留言。@Slf4j@Componentpublic class FtpUtils { /** * @param 文件 * @return原创 2020-12-19 17:22:00 · 999 阅读 · 2 评论 -
手动将web项目的class文件打成jar包,手动打jar包,java -cvf,IDE打包底层指令
手动将web项目的class文件打成jar包。我们的项目在使用IDE进行编译后,在项目的target目录下将会生成class文件。我们可以将class文件打成jar包。使用的到命令为:在target目录下打开命令窗口jar -cvf xxx.jar * 可供的选项包括:-c 创建新的归档文件-t 列出归档目录-x 从档案中提取指定的 (或所有) 文件-u 更新现有的归档文件-v 在标准输出中生成详细输出-f 指定归档文件名-m 包含指定清单文件中的清单信息-e原创 2020-11-26 18:23:53 · 996 阅读 · 0 评论 -
一文吃透JAVA定时器格式
JAVA 定时器时间格式基本格式: [秒] [分] [小时] [日] [月] [周] [年]序号说明是否必填允许填写的值允许使用的通配符1秒是0-59, - * /2分是0-59, - * /3小时是0-23, - * /4日是1原创 2020-11-09 16:58:12 · 568 阅读 · 0 评论 -
IDEA中maven的命令及作用
maven中的Lifecycle中的那些按钮都有哪些,都有什么功能呢?validate:验证项目的正确性以及包含所有必要的信息compile:编译源码test:编译和运行测试代码package:把编译好的源码打成包,如jarverify :运行任何检查,验证包是否有效且达到质量标准。install:把项目安装到本地仓库中去,作为本地其他项目的依赖deploy:把最终的包拷贝到远程仓库上和其他开发者和项目分享clean : 清空生成的文件...原创 2020-10-21 16:03:05 · 1485 阅读 · 0 评论 -
将jar包部署在docker上,将jar包打成镜像,使用docker部署jar包
假设你已经准备好以下东西,即可进行服务部署一台安装好docker的linux服务器(安装docker见安装docker)准备好的jar包接下来开始吧!将jar包上传至服务器(建好文件夹存放以方便管理)编辑Dockerfile文件我的jar包名为:Spring-mybatisplus.jar我的Dockerfile路径为 /docker/Dockerfile# 使用这个命令会将java8 环境集成在你打好的镜像中FROM java:8# 作者名MAINTAIN原创 2020-10-13 11:05:11 · 1941 阅读 · 0 评论 -
两步完成项目定时启动,java项目定时启动
两步完成项目定时设置:在需要定时启动或运行的方法上面加上注解@Scheduled//当天只跑一次@Scheduled(cron = "0 40 21 * * ?")在启动类上加注解@EnableScheduling@SpringBootApplication@EnableScheduling@ComponentScan({"com.xxx.xxx.newinterf"})@EntityScan({"com.xxx.xxx.newinterf"})public class Demo原创 2020-09-25 15:24:23 · 224 阅读 · 0 评论 -
RSA签名算法,计算调用加密报文,安全传输
RSA签名算法1. 获取当前的时间戳参数2. 计算参数签名3. 获取请求对象的MD5密文4. 通过私钥计算某个参数的RSA签名5. 转换字符集到utf86. MD5加密字符串7. base64编码8. base64编码字符串9. base64解码/** * 参数签名算法工具类 */public class RSAUtils { /** * 获取当前的时间戳参数 * @return */ public static String ge原创 2020-09-15 16:40:23 · 464 阅读 · 0 评论 -
jar包部署shell脚本编写,在服务器上部署jar包,在Linux服务器上部署服务,设置编码格式,设置内存管理
准备步骤:1.安装java环境,知道java安装目录2.将jar包拖放或发送至服务器中(目录自定义)一、编写shell脚本,将以下代码放在shell脚本中,将shell脚本放在jar包同级目录下。编写好后使用sh xxx.sh启动脚本即可。命令及详解如下:nohup /home/appadmin/tools/jdk1.8.0_144/bin/java -Dfile.encoding=UTF-8 -jar xxxx-xxxx-xxxx-xxxxx-xxxxx.jar --spring.datas.原创 2020-09-14 17:54:04 · 956 阅读 · 0 评论 -
正则校验18位身份证号,拿走即用!
使用正则表达式判断大陆身份证号是否有效入参:身份证号反参:true(有效)、 false(无效)private boolean identityValidator(String id) { log.info("--校验身份证号"); String str = "[1-9]{2}[0-9]{4}(19|20)[0-9]{2}" + "((0[1-9]{1})|(1[1-2]{1}))((0[1-9]{1})|([1-2]{1}[0-9]{1原创 2020-09-12 17:14:27 · 2466 阅读 · 0 评论 -
Oracle根据日期区间查询Date类型的数据
在Oracle数据库中,根据日期区间查询Date类型的数据select proposalno,policyno,enddatefrom 表名 where 时间字段 between to_date('2020-1-1', 'yyyy/mm/dd') and to_date('2021/8/1','yyyy-mm-dd')原创 2020-09-11 10:36:44 · 2245 阅读 · 0 评论 -
IDEA中根据数据库自动生成实体类,并自定义所生成的实体类中的注解 @Table @Id @...
使用IDEA项目添加Hibernate扩展,生成实体类并配置实体类中的注解一、使用Hibernate自动生成实体类1.在项目上右键,选择Add Framework Support找到 Hibernate勾选 OK2.Ctrl+Alt+Shift+S 快捷键呼出Project Structure窗口,展开项目,选择Hibernate 点击图示的“+”号为Hibernate添加xml文件配置。3.在左侧会出现一个Persistence 点击后右键图示的Hibernate项选择最后一个4.选.原创 2020-09-08 17:15:04 · 2967 阅读 · 0 评论