后端
文章平均质量分 72
别说小李
这个作者很懒,什么都没留下…
展开
-
职业规划和发展
目前毕业一年,计算机本专业。目前从事旅游行业前端工作,从学生到职场你会遇到形形色色的人,只要他们不是心怀恶意,请不要恶语相向。帮你是情分,不帮是本分,如果碰见一个愿意帮助你的同事你更应该心怀感激。新人选择工作要是迷茫的话,建议来前端做一个过渡,剩下的你关注公司内使用的知识或者业界内的热点,然后就是凭借你的兴趣去学习并应用于工作。其实现在开源项目你去github上去搜索都是的,你拥有良好的学习环境,只要你愿意沉下心去学习。当你在公司碰见新技术时,你第一反应就应该是感觉到兴奋,并了解和应用新技术。计算机专业的学原创 2022-06-17 11:46:51 · 1897 阅读 · 0 评论 -
Junit5 支持suite的方法
单元测试中有部分是不希望自动执行的,仅有部分单元测试希望在内网http://10.0.0.65/ 服务器上自动运行,因此希望配置suite 以解决部分执行问题。(junit5 低版本中没有suite,目前我们springboot默认带的junit5 需要升级)带来的好处: <dependencyManagement> <dependencies> <dependency> <groupId&g原创 2022-06-16 14:07:02 · 950 阅读 · 4 评论 -
Junit4运行mvn test 测试套件升级方案
项目中包含了junit4(独立引入) 和junit5(spring-boot-starter-parent 2.5.4自带版本)目前我们使用的springboot 3.5.4自带的maven-surefire-plugin 版本为:2.22.2其加载逻辑如下: 会按照junit5的规则查找测试,但是我们suit套件使用的是junit4版本,导致出现找不到单元测试异常。if the JUnit 5 Platform Engine is present in the project use juni原创 2022-06-10 13:59:13 · 708 阅读 · 2 评论 -
高考那些事
我已参加工作:1、你有哪些印象深刻的高考记忆?在高考之前,心情难免有一些紧张。高考中不要考虑其他的放平心态放手一搏,给自己留一个无悔的青春记忆。高考走出考场就放松吧2、你现在在做什么工作?你选择的专业对你的工作帮助大吗?程序员 计算机专业 专业对口 你感觉选择专业对自己以后有帮助吗或者选择你自己喜欢的专业做为兴趣发展3、如何利用好高考后的假期时间?合理安排时间 切合实际 4、高考之后建议去打工吗?看你自身安排,打工同样是一种历练,打工时不要抱怨,知道打工不易应更体贴父母,更应该好好学习,前段时间不是还有原创 2022-06-10 12:09:20 · 108 阅读 · 0 评论 -
阿里云Prometheus监控服务
什么是Prometheus?Prometheus是一个开源系统监控和警报工具包原生Prometheus:Overview | Prometheus工作原理:prometheus原理简介_袁胜的博客的博客-CSDN博客_prometheus原理框架:阿里云Prometheus1.简介:阿里云Prometheus监控全面对接开源Prometheus生态,支持类型丰富的组件监控,提供多种开箱即用的预置监控大盘,且提供全面托管的Prometheus服务。名词解释请参考原创 2022-05-30 10:35:56 · 1101 阅读 · 0 评论 -
阿里云ack介绍
1.k8s当中的网络划分k8s中的网络(较详细汇总) - jojoword - 博客园 (cnblogs.com)2.ack当中的各层意义1.集群信息 集群信息展示了集群的基本信息和连接信息2.节点管理2.1.节点池 简单理解为机器,所有机器的池子2.2.节点 每一台机器3.命名空间与配额 字面意义的命名空间,资源隔离4.工作负载4.1.无状态 数据不需要持久化的可以使用这种方式 如 Nginx Tomcat等k8s..原创 2022-05-30 09:40:16 · 3133 阅读 · 0 评论 -
Mysql索引
mysql 索引分类从物理存储角度分为:聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置从逻辑存储角度分为:普通索引:仅加速查询,无限制唯一索引:加速查询 ,列值唯一(可以有null),如果是组合索引,则列值的组合必须唯一主键索引:加速查询 ,列值唯一(不可以有null),表中只允许有一个主键索引, 是一种特殊的唯一索引组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并..原创 2022-05-27 16:54:37 · 1692 阅读 · 0 评论 -
阿里云短信服务
准备首先需要申请签名添加模板创建AccessKey#阿里云短信服务aliyun: sms: regionId: cn-hangzhou accessKeyId: accessKeySecret: signName: xxxxxx templateCode: SMS_234281135 <!--阿里云短信服务--> <dependency>原创 2022-05-27 16:52:08 · 847 阅读 · 0 评论 -
Dockerfile
构建镜像的方式:1.docker commit2.docker DockerfileDocker commit:docker commit命令是创建新镜像最直观的方法,其过程包含三个步骤:● 运行容器● 修改容器● 将容器保存为新的镜像。如何用docker commit创建新镜像。Docker并不建议用户通过这种方式构建镜像。原因如下:手工创建镜像的方式,容易出错,效率低且可重复性弱。 使用者并不知道镜像是如何创建出来的,里面是否有恶意程序。也就是说无法对镜原创 2022-05-27 16:48:00 · 107 阅读 · 0 评论 -
RocketMQ实践
概念Topic先创建Topic ,创建Topic时需要指定该Topic要存储在哪些Broker上,也可以在发送消息时自动创建Topic,每个Topic默认会分配4个Queue根据rocketmq 的官方文档建议指出:消息类型是否一致:如普通消息、事务消息、定时(延时)消息、顺序消息,不同的消息类型使用不同的Topic,无法通过Tag进行区分。业务是否相关联:没有直接关联的消息,如淘宝交易消息,京东物流消息使用不同的Topic进行区分;而同样是天猫交易消息,电器类订单、女装类订单、...原创 2022-05-27 16:46:35 · 308 阅读 · 0 评论 -
Skywalking理论与实践
链路追踪是什么?随着服务的越来越多,对调用链的分析会越来越复杂 通常会遇到下面一些问题,比如:1. 如何串联整个调用链路,快速定位问题?2. 如何缕清各个微服务之间的依赖关系?3. 如何进行各个微服务接口的性能分折?链路追踪框架对比1. Zipkin是Twitter开源的调用链分析工具,目前基于springcloud sleuth得到了广泛的使用,特点是轻量,使用部署简单。2. Pinpoint是韩国人开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持..原创 2022-05-27 16:44:26 · 867 阅读 · 0 评论 -
go语言入门
📎《8小时转职Golang工程师-生态拓展》.pdf📎《8小时转职Golang工程师-语法部分》.pdf阿里架构师总结Go语言和java语言之间的对比联系 - 知乎原创 2022-05-27 16:42:25 · 42 阅读 · 0 评论 -
渗透测试的介绍和防范
跨站脚本攻击跨站脚本攻击是指攻击者将具有恶意目的的数据潜入到远程用户信任的WEB页面的HTML 代码中,当该页面被浏览器下载运行时嵌入的脚本将被执行,用户页面被跳转到攻击者精心编织的其他页面,用户毫无顾及的填写各种敏感信息,殊不知已被攻击者盗取或被站点挂马控制。XSS攻击是什么XSS是跨站脚本攻击的缩写,是一种网站应用程序的安全漏洞攻击,是代码注入的一种。 通常是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。 这些恶意网页程..原创 2022-05-27 16:40:40 · 1291 阅读 · 0 评论 -
阿里云SLS日志服务
阿里云文档链接: 日志服务 - 帮助中心 - 阿里云1.说明:日志服务工作台链接: 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台关于该服务具体事项可以参考上面阿里云文档上面的介绍,该文档目前介绍如何为每个项目配置相关的日志服务,以及异常查询及告警通知等。如下图所示,用红色框出的三个Project即代表我们目前三个环境,我们分别在该三个环境分别进行对应服务相关的日志SLS配置,由于pre和test都是在ECS主机上面部署,所以我们以test环境举例,daily环境由于是K8S部署,原创 2022-05-27 16:38:49 · 10688 阅读 · 0 评论 -
docker基础
What——什么是容器 容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。容器由两部分组成:(1)应用程序本身;(2)依赖:比如应用程序需要的库或其他软件容器在Host操作系统的用户空间中运行,与操作系统的其他进程隔离。这一点显著区别于的虚拟机。Why——为什么需要容器为什么需要容器?容器到底解决的是什么问题?简要的答案是:容器使软件具备了超强的可移植能力。Docker将集装箱思想运用到软件打包上,为代码提供了一个基于容器的标准化运输系统。Dock原创 2022-05-27 10:08:04 · 66 阅读 · 0 评论 -
设计模式之模板方法
模板方法模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤的实现延迟到子类中。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中某些步骤的具体实现。优点模板方法模式通过把不变的行为搬移到超类,去除了子类中的重复代码。子类实现算法的某些细节,有助于算法的扩展。 通过一个父类调用子类实现的操作原创 2022-05-26 16:20:38 · 203 阅读 · 0 评论 -
设计模式之责任(命令)链
1.定义:责任链:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。命令(链):请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。不同点:责任链为多个对象对一个请求,命令为一个对象对多个请求相同点:属于行为模式,对请求者和接收者解耦。实现原理相似。2.主要概念:1)Context 上下文Co原创 2022-05-26 16:19:59 · 184 阅读 · 0 评论 -
canal
简介canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。基于日志增量订阅和消费的业务包括数据库镜像数据库实时备份索引构建和实时维护(拆分异构索引、倒排索引等)业务原创 2022-05-26 16:19:09 · 228 阅读 · 0 评论 -
git rebase -i 交互式变基的使用,以及squash压缩多次提交的方法
交互式变基这个词是sourceTree的翻译。交互式变基可以将多个提交合并为一个,当然他的功能不止于此。但一般用于以下情况:在某个分支(比如dev)下做功能开发,当测试完毕,将要合并dev到master,但由于开发过程中有太多的提交,合并到master之后会让master的整个提交记录看起来不优雅,所以这时候可以用交互式变基去合并,这样做有两个好处:rebase 可以让合并过程中不产生合并的那次提交,也就是说合并完成后master分支图谱仍旧是一根线。squash多个提交保证开发分支的多次提交原创 2022-05-24 11:39:39 · 1499 阅读 · 0 评论 -
使用Promise.all实现限制并发请求函数
Promise.all 的简单解释:// 当以下数组中promise1, promise2, promise3都resolve之后,触发promise.all的then函数。Promise.all([promise1, promise2, promise3]).then((values) => { console.log(values);});需求解释所谓并发请求,即有待请求接口100个,限制每次只能发出10个。即同一时刻最多有10个正在发送的请求。每当10个之中有一个请求完..原创 2022-05-24 11:21:48 · 1747 阅读 · 0 评论 -
git 合并分支,解决冲突时候使用远程分支覆盖本地分支
如果你还没pull$ git pull -X theirs如果已经pull过了。$ git checkout --theirs path/to/file你可以先放弃本次merge。$ git merge --abort值得注意的地方:如果是rebase, theirs反而是指你当前工作的分支仅仅是针对冲突的覆盖方式,没有冲突的文件不会被覆盖。...原创 2022-05-24 11:15:13 · 904 阅读 · 0 评论 -
An error occurred during installation: No such plugin: cloudbees-folder
在启动jenkins时候报错An error occurred during installation: No such plugin: cloudbees-folder字面意思是没有找到cloudbees-folder这个插件。有一些文章说下载这个插件到本地就好了。然而jenkins启动的时候不仅仅有这一个插件。https://github.com/jenkinsci/docker/issues/424 github issues里有一些讨论。似乎重启jenkins就可以了#原创 2022-05-23 11:49:34 · 4986 阅读 · 1 评论 -
sentinel线上配置流程
线上dashboard:http://114.55.116.233:8858/#/dashboard/xxxxxxxxx日常测试本地的dashboard:http://10.0.0.54:8858/#/账号:sentinel密码:sentinel预发环境安装Sentinel DashBoarddocker pull bladex/sentinel-dashboard:latestdocker run --name sentinel --restart=always -d -p 8858原创 2022-05-17 09:54:53 · 345 阅读 · 0 评论 -
实现一个简易流程引擎
1.基本介绍今天要介绍的是,如何实现一个简易的流程引擎。当系统中出现一些具有生命周期,并且在生命周期中具有各种状态需要随不同事件而发生变化的业务时,我们会需要用到流程引擎。比如订单,从订单下单,到订单完结,就是订单的整个生命周期。在订单的生命周期中,有一些状态,如:待付款、待发货、已发货、已收货、退款中、已完结。再比如,在我们的订单中,有一些订单商品,例如酒店,从酒店确认可以入住,入住时间结束,就是酒店商品履约的生命周期,其中有一些状态:待酒店确认,酒店可入住,用户入住,用户原创 2022-05-06 11:37:06 · 906 阅读 · 0 评论 -
QLExpress规则引擎介绍
规则引擎定义根据数据来匹配对应的条件,并执行规则匹配后的动作系统。如果满足某些条件,就执行相关动作。好处可以帮助我们把多变的业务决策部分同其他业务逻辑隔离开,是的业务人员能够自行定制业务逻辑,无需开发人员介入。常用的有Drools,uRule,QLExpress,uniRuleQLExpressjava语言实现,不依赖任何外部脚本引擎解析支持宏定义、支持扩展点、轻量级、高性能和可靠性本质是脚本解释引擎,需要有个后台配合进行配置,成为规则引擎。示例圈选及原创 2022-04-24 11:11:33 · 1894 阅读 · 1 评论 -
Sentinel限流降级的使用
通过限流和降级保证在系统流量大的时候保证部分用户的正常使用,保证系统稳定,提升可用性。(前提找到系统和单机的最高能支撑的流量水平)限流如商品调用营销,营销仅仅能支撑最多10qps流量,超出后营销系统会性能大幅下降,营销可以对商品进行限流,超过流量就报错降级/熔断/快速错误如商品调用营销,发现营销接口异常或者响应时间很长,则商品可以对营销接口进行降级,快速返回错误,防止商品自己被拖死。处置方式抛出异常 返回默认值规则配置方式代码写死 平台配置 applicati原创 2022-04-20 13:45:03 · 2710 阅读 · 0 评论 -
MapStructs
APIMapStruct Documentation依赖引入<mapstruct.version>1.3.1.Final</mapstruct.version><dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>${mapstruct原创 2022-04-18 17:59:54 · 189 阅读 · 0 评论 -
RocketMQ基本实现原理
一、RocketMQ架构RocketMQ架构上主要分为四部分,如上图所示:Producer:消息发布的角色,支持分布式集群方式部署。Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递,投递的过程支持快速失败并且低延迟。 Consumer:消息消费的角色,支持分布式集群方式部署。支持以push推,pull拉两种模式对消息进行消费。同时也支持集群方式和广播方式的消费,它提供实时消息订阅机制,可以满足大多数用户的需求。 NameServer:NameServe..原创 2022-04-17 23:45:10 · 6199 阅读 · 1 评论 -
git的指令
ls 查看当前目录下文件cd ..返回上一层cd 文件夹 进入文件夹 mkdir 创建目录 touch 文件 创建文件 vi 文件 编辑文件 i 插入 按 esc shift :wq 退出并保存 cat 文件 查看文件内容 rm -f 文件 删除文件git 初始化配置用户名 一台电脑配置一次就行git config --global user.name "honnyli"git config --global user.email "[email protected]"git c原创 2021-09-29 20:53:20 · 75 阅读 · 2 评论 -
推荐系统学习
相关概念信息过载(Information Overload):是指社会信息超过了个人或系统所能接受、处理或有效利用的范围,获取有价值信息的成本越来越高。解决过载的办法(1)信息分类,门户网站(2)信息搜索,搜索引擎(3)信息推荐,推荐系统 推荐系统(Recommendation System):推荐系统属于资讯过滤的一种应用。推荐系统能够将可能受喜好的资讯或实物(例如:电影、电视节目、音乐、书籍、新闻、图片、网页)推荐给使用者。 推荐系统分类:推荐系统根据研究数据的类型以及推荐方法的不同...原创 2022-04-16 11:02:07 · 1819 阅读 · 0 评论 -
学习docker
docker原创 2022-04-12 15:18:12 · 113 阅读 · 0 评论