自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码走读问题

第一次代码走读:1、new的栈要在for外面2、前端json要传好3、批量上传的话直接in就好4、导出一定要设上线, 不然会爆掉5、并行流在数量多的时候采用,一般在多线程用6、将一些导出数据等的可以复用代码7、新增编辑页面合一好一点8、new date可以只用new一次第二次代码走读:1、在python爬虫的for循环中要加保护数,否则爬多了你都不知道2、捕获错误一定要有3、给代码抽象一下4、加日志log5、当js代码html代码写的一定的时候要去抽象...

2022-05-28 09:58:27 692 1

原创 测试场景设计

场景法设计例子根据基本流和备选流来确定场景

2022-01-01 18:09:41 504

原创 正交试验法

正交实验法正交试验设计法(Orthogonal experimental design),是从大量的试验点中挑选出适量的、有代表性的点,应用依据伽罗卡瓦理论导出的 "正交表",合理的安排试验的一种科学的试验设计方法正交实验法指标:通常把判断试验结果优势的标准叫做试验的指标 因子(因素Factor):所有影响试验指标的条件 因子的状态(水平Level):而影响实验因子的,叫做因子的状态(因子变量的取值)正交实验法设计步骤1.提取功能说明,构造因子-状态表2.加权筛选,生成因素分析表

2022-01-01 17:33:24 20668 3

原创 因果图与判定表

因果图法等价类划分法和边界值分析方法都是着重考输入条件 而不考虑输入条件的各种组合、输入条件之间的相互制约关系 如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字 因此必须考虑采用一种适合于描述多种条件的组合、产生多个相应动作的测试方法,这就需要利用因果图(逻辑模型)因果图-判定表因果图法基于这样的思想:一些程序的功能可以用决策表的形式来表示,并根据输入条件的组合情况规定相应的操作。 因此,可以考虑为决策表中的每一列设计一个测试用例,以便测试程序在输入条件的某种组合下的输

2022-01-01 16:21:25 1691

原创 边界值法测试

两位数加法器边界值设计的原则如果输入条件规定了取值范围,应以该范围的边界内及刚刚超范围的边界外的值作为测试用例 如以a和b为边界,测试用例应当包含a和b及略大于a和略小于b的值 我们继续用计算器的例子,根据边界值分析的方法来看看如何对边界值进行测试由于允许输入的数值在-99到99之间,所以我们可以把-99和99看作两个边界值。我们测试的时候可以取紧邻边界值的数值和边界值本身作为输入边界值用例设计练习同样的测试需求:余额宝提现到银行卡增加新规则:快速到账(2小时)日限.

2022-01-01 15:24:43 1275

原创 等价类划分法

测试一个两位数的加法计算器测试需求:测试两个参数的值相加后的结果是否正确 其中:输入的数值在-99到99之间大于99或小于-99的输入应被拒绝,并显示错误信息开始测试根据测试需求,我们开始测试 分别给第一个参数和第二个参数输入表中的值,得到的测试结果如表所示:很明显,如果我们对第一个参数的值分别取从-99到99的199个数,第二个参数的值分别取从-99到99的199个数,我们不可能对两位数相加的所有情况进行穷举测试。解决方法:等价类划分法等价类划分的办法就是把程

2021-12-31 13:15:00 2754

原创 Lodash(纯函数的代表)

const _ = require('lodash')const array = ['jack', 'tom', 'lucy', 'kate']console.log(_.first(array))console.log(_.last(array))console.log(_.toUpper(_.first(array)))console.log(_.toUpper(_.first(array)))console.log(_.reverse(array))const r = ...

2021-12-02 19:46:47 798

原创 纯函数概念

纯函数概念纯函数:相同的输入永远会得到相同的输出,而且没有任何可观察的副作用 纯函数就类似数学中的函数(用来描述输入和输出之间的关系),y = f(x)lodash是一种纯函数的功能库,提供了对数组、数字、对象、字符串、函数等操作的一些方法 数组的 slice 和 splice 分别是:纯函数和不纯的函数 slice 返回数组中的指定部分,不会改变原数组 splica 对数组进行操作返回该数组,会改变原数组// 纯函数和不纯函数// slice / splicelet ar.

2021-12-02 18:13:31 202

原创 闭包Javascript

闭包闭包(Closure):函数和其周围的状态(词法环境)的引用捆绑在一起形成闭包。 可以在另一个作用域中调用一个函数的内部函数并访问到该函数的作用域中的成员// 函数作为返回值function makeFn () { let msg = 'Hello function' return function () { console.log(msg) }}const fn = makeFn()fn()// oncefunction once (fn) { l

2021-12-02 17:24:59 684

原创 Config 核心功能和原理

配置管理的前世今生随着技术的发展,配置项管理变得越来越简单,尽管如今它只限于管理业务属性或者配置初始化参数等等,但是当年它可肩负着Spring IOC的光荣使命,风光无限。第一次工业革命这一次由Spring引领,在Spring引入自动装配机制以后,情况发生了天翻地覆的变化。基于注解的自动装配取代了繁重的XML配置,使用@Autowired,@Qualifier,@Primary等一系列自动装配注解,把所有关于“依赖注入”的繁重工作从配置项中解放了出来。现在的项目已经很少看到XML配置..

2021-09-11 14:21:05 1594

原创 Sql Why where 1 = 1?

When we look at other people's projects, we often see SQL statements like this.select * from user where 1=1Where where 1=1 is special, it covers two situations:dynamic SQL concatenation query table structure.First:Dynamic SQL splicingWhen yo...

2021-09-03 15:14:14 135

原创 Turbine聚合Hystrix信息

聚沙成塔 - Turbine收集器Turbine其实也是一个服务节点,它正是借助Eureka的服务发现来完成信息聚合的。配置监控服务和集群:在Turbine里我们需要配置目标服务,也就是需要Turbine实时监控的服务名称。如果应用的部署结构比较复杂,比如说分了几个大集群,这时一个Turbine节点可能就无法监管这么多的服务节点了。我们可以启用多个Turbine聚合服务,每个服务指定一个集群,用来聚合这个集群下所有服务节点的Hystrix状态。在默认单cluster的部署结构下,Turbine默

2021-09-03 11:23:55 139

原创 线程池 vs 信号量的优缺点比较

通常我们都采用基于线程池的实现方式,这也是最容易理解的方案。Hystrix还提供了另一种底层实现,那就是信号量隔离。小时候我们就知道“红灯停,绿灯行”,跟着交通信号的指示过马路。信号量也是这么一种放行、禁行的开关作用。它和线程池技术一样,控制了服务可以被同时访问的并发数量,乍一看好像两种技术并没有多大区别,我们接下来比较一下它们在应用场景上的不同之处。线程隔离原理线程池技术:它使用Hystrix自己内建的线程池去执行方法调用,而不是使用Tomcat的容器线程信号量技术:它直接使用..

2021-09-01 10:11:00 1484

原创 线程隔离- 核心方案以及工作原理

线程隔离是个什么概念呢?简单的说,就是将用户请求线程和服务执行线程分割开来,同时约定了每个服务最多可用线程数。说也说不明白,我就举个例子吧。假设我们的服务器就是六扇门总部,那每个用户请求都是来访参观的皇亲国戚。首先我们的Web容器有个线程池用来接收请求,我们把这个线程池可以看做是六扇门的大堂,所有来访的用户都要先到大堂接待。接下来,我们六扇门提供了各种各样不同的服务满足这些官老爷们,比如按摩服务,蒸桑拿服务,美容服务。按照老规矩的话,这些服务都是在大堂现场开展,假如大堂只能接待20个人,结果来了这20人

2021-09-01 10:06:39 2247

原创 熔断器以及工作原理

押入天牢 - 熔断开启非也!我们锦衣卫不是来给你们当门卫的,如果一个服务反反复复调用失败,大半辈子都在fallback里呆着,那还放他出去干什么?索性一直在fallback里呆着就好了。且看我们锦衣卫是如何把这些屡教不改的家伙押入天牢。以上流程中省略了服务降级部分的业务,我们只关注熔断部分。发起调用-切面拦截:由于熔断器是建立在服务降级的基础上,因此在前面的触发机制上和服务降级流程一模一样。在向@HystrixCommand注解修饰的方法发起调用时,将会触发由Aspect切面逻.

2021-08-31 22:54:18 667

原创 超时降级+规避+ribbon共同对抗

最大超时时间=(连接超时时间+接口超时时间)*(当前节点重试次数+1)*(换节点重试次数+1)假如经过上述计算,Ribbon的超时时间是2000ms,那么Hystrix的超时时间应该设置成多少才合理呢?我们先来看看Hystrix的默认全局配置:hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=1000以上全局配置设置了Hystrix的熔断时间为1000ms。这里Hystrix的超时时间设置比Rib

2021-08-31 22:48:52 200

原创 服务降级常用方案

沉默是金 - 静默处理所谓的静默处理,就是什么也不干,在fallback逻辑中直接返回一个空值Null。同学们可能会问,那我用try-catch捕捉异常不也是能达到一样的效果吗?其实不然,首先try-catch只能处理异常抛出的情况,并不能做超时判定。其次,使用try-catch就要在代码里包含异常处理块,我们在程序设计时讲究单一职责和开闭原则。正所谓凯撒的归凯撒,上帝的归上帝,既然有了专门的fallback处理类,那这个工作还是交给fallback来吧,这样你的业务代码也落个清爽。瞒天过海

2021-08-31 21:03:25 2062

原创 服务降级原理解析

作为SpringCloud中的执法部门-六扇门,Hystrix监管着服务的一举一动,不管是超时还是异常抛出,但凡有违法乱纪的现象发生,就会被强制放到fallback里进行改造。可是,每个应用都有一长串的服务,那全部都交给Hystrix这能管得过来吗?Hystrix可不是所有服务都监督,毕竟六扇门人力有限,他们只盯梢一些关键人物,给每个关键人物指派一个锦衣卫,但凡有异常发生,立即动手。接下来,我们就来看看六扇门的锦衣卫是如何秉公执法的。盯梢名单 - @HystrixCommand现在流行苍蝇老虎一

2021-08-31 18:38:41 491 1

原创 Linux上部署ESll

1、进入到官网https://www.elastic.co/cn/downloads/elasticsearch2、右键复制地址3、进入到linux文件夹下输入以下命令wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.0-linux-x86_64.tar.gztar -zxvf elasticsearch-7.14.0-linux-x86_64.tar.gz4..

2021-08-31 16:57:01 1061

原创 Leetcode Rotate Image

First Methidclass Solution { public void rotate(int[][] matrix) { int x = matrix.length; for (int i = 0; i < x; i++){ for (int j = i + 1; j < x ; j++){ int temp = matrix[i][j]; ..

2021-08-31 14:50:55 118

转载 The time zone of the database connection is faulty

Exception informationCaused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via t..

2021-08-30 08:37:45 100

原创 Nginx进程结构与热部署

进程结构图使用共享内存进行通行的。Linux的信号量管理机制输入命令: kill -l常见信号量利用信号量管理Nginx进程使用信号量管理master和workerMaster进程Worker进程命令行:输入以下命令:ps -ef | grep nginx你会发现worker子进程会和父亲进程master进行绑定。worker默认会自动监测有几颗cpu,然后进行绑定。...

2021-08-27 00:44:58 111

原创 The sum of two Numbers And The sum of three number

The sum of two Numbers1、n*(n-1)/2 Method to iterate through,Call each other Time complexity:O(n^2) Spatial complexityO(1)class Solution { public int[] twoSum(int[] nums, int target) { int s = nums.length - 1; for (int..

2021-08-26 18:04:50 169

原创 Nginx HTTP/2模块远程拒绝服务漏洞

漏洞描述:漏洞存在于ngx_http_v2_module模块之中(默认情况下不编译,编译时需要开启--with-http_v2_module,同时将listen http2添加到配置文件中),当用户添加http2支持时,攻击者可以发送特制的HTTP/2请求,可能导致过多的内存消耗(CVE-2018-16843)和CPU使用率(CVE-2018-16844),最终导致服务器DoS。方案一: 升级至Nginx最新安全版本(1.15.6或1.14.1),官方下载链接:http://nginx.org/en

2021-08-25 21:33:28 1019

原创 2020年12月27日,jackson-databind官方发布安全通告,披露jackson-databind < 2.9.10.8存在反序列化远程代码执行漏洞(CVE-2020-35728)。

漏洞描述:2020年12月27日,jackson-databind官方发布安全通告,披露jackson-databind < 2.9.10.8存在反序列化远程代码执行漏洞(CVE-2020-35728)。利用该漏洞,攻击者可远程执行代码,控制服务器。若未使用enableDefaultTyping()方法,可忽略该漏洞。安全版本: jackson-databind >= 2.9.10.8 (尚未推出) jackson-databind >= 2.10.0 漏洞缓解措施: 1.官方..

2021-08-25 21:29:07 1140

原创 VMware Tanzu发布安全公告,在Spring Framework版本5.2.0-5.2.8、5.1.0-5.1.17、5.0.0-5.0.18、4.3.0-4.3.28和较旧的不受支持的版本中

漏洞描述: VMware Tanzu发布安全公告,在Spring Framework版本5.2.0-5.2.8、5.1.0-5.1.17、5.0.0-5.0.18、4.3.0-4.3.28和较旧的不受支持的版本中,公布了一个存在于Spring Framework中的反射型文件下载(Reflected File Download,RFD)漏洞CVE-2020-5421。 CVE-2020-5421 可通过jsessionid路径参数,绕过防御RFD攻击的保护。先前针对RFD的防护是为应对 CVE-2015-5

2021-08-25 21:27:12 558

原创 Fastjson 1.2.69以下版本中存在远程代码执行漏洞,黑客可利用该漏洞获取服务器权限,给服务器安全带来极大安全隐患.

解决方法:升级版本至1.2.69及以上版本检测到服务器存在漏洞风险,建议立即对相关主机进行快照备份,避免遭受损失。参考链接:https://cloud.tencent.com/announce/detail/1112?from=timeline&isappinstalled=0...

2021-08-25 21:24:17 496

原创 FastJSON 在反序列化 JSON 时存在反序列化漏洞,可以造成远程命令执行漏洞。

解决方法:1、升级到1.2.48以上的版本2、拦截请求中的`@type`关键字,推荐使用腾讯云网站管家检测到服务器存在漏洞风险公告:https://github.com/alibaba/fastjson/wiki/security_update_20170315

2021-08-25 21:22:49 248

原创 Nginx 决式 and command

Nginx 概念nginx Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POPS/SMTP服务。。。。。一个HTTP请求的全流程剖析Nginx处理请求过程三个常见的应用场景静态资源服务(Web Server) 反向代理服务 API服务Nginx的核心优势高并发、高性能 扩展性好 异步非阻塞的事件驱动模型安装第一个rpm的Nginx输入以下命令yum ...

2021-08-24 19:23:11 96

原创 The modified port does not take effect(立即) immediately()

Because the front page is cached and cookie ,So Not effective(立即) immediately(生效) ,get:The request is cachedpost:Each commit is refreshed(刷新)The solutionPress F5 and Clear the cache and cookie

2021-08-24 11:26:19 69

原创 in Linux system backstage start jar bug

Some systems support the following commandsjava -jar xxxx & // backstage startSome systems support the following commandssetsid java -jar xxxxxxOtherwise,if you shut down shell ,the backstage hang up。

2021-08-24 11:19:55 51

原创 linux制作一个定时清理缓存的脚本

1、新建一个.sh文件touch clear.sh2、编辑clear.sh文件 vi clear.shvim clear.sh3、内容如下#!/bin/bash#开始清理缓存echo "开始清除缓存" #写入硬盘,防止数据丢失sync;sync;sync #延迟10秒sleep 10 #清理缓存echo 3 > /proc/sys/vm/drop_caches4、执行脚本sh ./clear.sh...

2021-08-23 22:48:11 488 1

原创 Unknown collation: ‘utf8mb4_0900_ai_ci‘ 8.0 to 5.6

Error Reason:The version of the database to which the dump file is generated is 8.0,and the version of the SQL file to which the SQL file is to be imported is 5.6Solution:Open the SQL file and place all in the fileutf8mb4_0900_ai_ci Replace wi...

2021-08-23 16:58:38 65

原创 打包jeecg-boot出现的问题

利用org.apache.maven.plugins 打包的时候,不配置version的话可能使用默认的然后出错,我用的是阿里云地址出现了问题的,我用的阿里云地址是http://maven.aliyun.com/mvn/view可以直接查看所有阿里云https://www.cnblogs.com/gne-hwz/p/9664408.html...

2021-08-23 00:13:05 704

原创 npm run build appeared(出现) Cannot find module ‘webpack/lib/ModuleFilenameHelpers‘

是没有webpack导致的如果你输入以下命令是不行npm install webpack -g // 全局安装npm install webpack --save-dev // 项目内安装或者npm add webpack@latest --registry=https://registry.npm.taobao.org会有导致包出现冲突,要输入以下npm add [email protected]...

2021-08-22 18:46:06 2666

原创 netstat输出内容详解

列出所有tcp与udp端口Proto:协议名(tcp还是udp协议)Recv-Q:网络接受队列表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击。send-Q:网络发送队列对方没有收到的数据或者说没有Ack的,还是本地缓冲区,如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。这两个值通常应该为0,如...

2021-08-21 18:30:27 1340

原创 前端打包好后运行

可以在打包好的dist下面运行如下命令:下载http-servernpm install http-server -g开启 http-server服务终端进入目标文件夹,然后在终端输入:$ http-server -c-1 (⚠️只输入http-server的话,更新了代码后,页面不会同步更新)Starting up http-server, serving ./Available on: http://127.0.0.1:8080 http://192....

2021-08-20 17:15:55 1171

原创 free命令

freeMem行:是内存的使用情况。Swap:是交换空间的使用情况。total:列显示系统总的可用物理内存和交换空间的大小。used:列显示已经被使用的物理内存和交换空间。free:列显示还有多少物理内存和交换空间可用使用。shared:列显示被共享使用的物理内存大小。buff/cache:列显示被buffer和cache使用的物理内存大小available:列显示还可以被应用程序使用的物理内存大小。buffer 在操作系统中指 buffer cache...

2021-08-20 14:53:40 132

原创 JVM内存结构详解

JVM内存结构堆虚拟机栈方法区常量池-静态常量池也叫class文件常量池,主要存放: 字面量:例如类和接口的全限定名、字段的名称和描述符、方法的名称和描述符常量池-运行时常量池当类加载到内存中后,JVM就会将静态常量池中的内容存放到运行时的常量池中;运行时常量池里面存储的主要是编译期间生成的字面量、符号引用等等常量池-字符串常量池字符串常量池,也可以理解成运行时常量池分出来的一部分,类加载到内存的时候,字符串,会存到字符串常量池里面持久...

2021-08-19 20:37:08 59

原创 Linux上配置上线环境

安装并配置jdk1、首先检索包含java的列:yum list java*2、然后检索 java1.8 的列:yum list java-1.8*3、安装 1.8.0 的所有文件:yum install java-1.8.0-openjdk* -y不用配置环境此方法使用命令检查是否安装成功:java -version或者使用命令:javac...

2021-08-19 19:06:40 133

空空如也

空空如也

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

TA关注的人

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