自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JMeter详解

参数化测试:把测试数据组织起来,用不同的测试数据调用相同的测试方法。作用:定义全局变量 位置:测试计划 -->线程组-->配置元件 -->用户定义的变量案例百度一下,你就知道要求:使用用户定义的变量配置被测系统的协议、域名和端口引用。

2024-06-20 19:32:12 509

原创 JMeter的基本概念

启动JMeter取样器:核心,没有作用域 逻辑控制器:只对其子节点中的取样器和逻辑控制器起作用 其他元件: 如果是某个取样器的子节点,则该元件只对其父节点起作用如果其父节点不是取样器,则其作用域是该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点等)

2024-06-19 21:44:21 650

原创 性能测试总结

使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程。评估当前系统能力 寻找性能瓶颈,优化性能 评估软件是否能够满足未来的需要狭义上讲:就是单用户测试。(单用户循环多次得到的数据)广义上讲:建立基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响。并发测试(绝对并发):是指在极短的时间内,发送多个请求,服务器对并发的处理能力。指从客户端发起请求开始,到客户端接收到结果的总时间 包括:服务器处理时间网络传输时间十某一时刻同时向服务器发送请求的用户数。

2024-06-19 17:58:18 429

原创 白盒测试总结

白盒测试又称为结构测试或逻辑驱动测试,它是把测试对象看成一个透明的盒子,它允许测试人员利用程序内部的逻辑结构设计测试用例,对程序所有逻辑路径进行测试。白盒测试的优缺点优点:代码覆盖率高缺点:覆盖所有代码路径难度大,业务功能可能覆盖不全,测试开销大这是一种传统的检查方法,由程序员检查自己编写的程序。程序员在程序通过编译之后,对源程序代码进行分析、检查,并补充相关的文档,目的是发现程序中的错误。代码审查是由若干程序员和测试员组成一个审查小组,通过阅读、讨论和争议,对程序进行静态分析的过程。具体过程如下:第一步,

2024-06-19 10:51:54 672

原创 黑盒测试总结

如下图所示我们无法知道被测系统的内部实现,只能通过给出的接口如输入输出接口来进行测试。

2024-06-18 21:08:24 274

原创 Mybatis

框架技术是一个应用程序的半成品提供可重用的公共结构按一定规则组织的一组组件框架的优势不用再考虑公共问题专心在业务实现上结构统一,易于学习、维护新手也可写出好程序Struts2MVC设计模式的实现拦截器可变和可重用的标签HibernateORM,简化数据库操作DAO层Spring依赖注入容器 / AOP实现声明式事务简化Java EE应用黏合剂,将大家组装到一起Spring MVC结构最清晰的MVC Model2实现高度可配置,支持多种视图技术定制化开发。

2024-04-30 15:59:25 312 2

原创 SpringBoot

MVC 是一个比设计模式更复杂的架构模式,是由多个设计模式组合而成的。用途:为多视图呈现数据;接收用户请求。

2024-04-30 15:56:39 648 1

原创 typescript模块与命名空间

从ECMAScript 2015开始,JavaScript引入了模块的概念。TypeScript 也沿用这个概念。模块在其自身的作用域里执行,而不是在全局作用域里;这意味着定义在一个模块里的 变量,函数,类等等在模块外部是不可见的,除非你明确地使用export形式之一导出它们。相反,如果想使用其它模块导出的变量,函数,类,接口等的时候,你必须要导入它们,可以使用import形式之一。模块是自声明的;两个模块之间的关系是通过在文件级别上使用imports和exports建立的。

2024-04-30 15:55:35 480

原创 typescript装饰器

在语法上,装饰器有如下几个特征。第一个字符(或者说前缀)是 ,后面是一个表达式 后面的表达式,必须是一个函数(或者执行后可以得到一个函数)。这个函数接受所修饰对象的一些相关值作为参数。这个函数要么不返回值,要么返回一个新对象取代所修饰的目标对象。装饰器有多种形式,基本上只要在 符号后面添加表达式都是可以的。下面都是合法的装饰器。@myFunc@myFuncFactory(arg1, arg2)​@libraryModule.prop@someObj.method(123)​@(wrap(di

2024-04-30 15:54:41 430

原创 typescript泛型

下面来创建第一个使用泛型的例子: 函数。 这个函数会返回任何传入它的值。 你可以把这个函数当成是 命令。不用泛型的话,这个函数可能是下面这样:function identity(arg: number): number { return arg;}​// 或者,我们使用any类型来定义函数:function identity(arg: any): any { return arg;}使用 类型会导致这个函数可以接收任何类型的 参数,这样就丢失了一些信息:。如果我们传入一

2024-04-30 15:53:33 493

原创 typescropit函数

让我们为上面那个函数添加类型:​我们可以给每个参数添加类型之后再为函数本身添加返回值类型。TypeScript能够根据返回语句自动推断出返回值类型,因此我们通常省略它。函数类型函数类型定义完整的函数定义类型推断函数参数可选参数,必须放在必填参数右侧默认参数,必为可选参数,可在任意位置不定项参数箭头函数:不捕获this箭头函数能保存函数创建时的this值,而不是调用时的值() => void每调用一次,箭头函数就会被创建一次,这一点不如方法。this类型this。

2024-04-30 15:51:51 642

原创 typescript类

类中包含:方法属性继承可见性public:默认privateprotected属性的特性:只读属性参数属性存取器存取器static抽象类。

2024-04-28 17:00:20 758 1

原创 typescript接口

接口的作用是用于类型检查!!!包含:属性方法构造方法name?: string可以没有,不能写错readonly与const变量用const属性用readonly对象字面量赋值时额外的属性检查,可有没有,不能错!绕开检查的方法:使用as转换类型使用对象引用而非字面量函数类型:接口中只包含一个无名函数可索引类型:数组或对象指定索引的类型,还有相应的索引返回值类型。索引类型只能是:字符串和数字数字索引的返回值必须是字符串索引返回值类型的子类型类类型,实现接口。

2024-04-28 16:59:04 521 1

原创 typescript数据类型

我们提过使用var声明时,它不在乎你声明多少次;你只会得到1个。var x;var x;var x;在上面的例子里,所有x的声明实际上都引用一个相同的x,并且这是完全有效的代码。这经常会成为bug的来源。好的是,let声明就不会这么宽松了。let x = 10;let x = 20;// 错误,不能在1个作用域里多次声明`x`并不是要求两个均是块级作用域的声明TypeScript才会给出一个错误的警告。并不是说块级作用域变量不能用函数作用域变量来声明。而是。

2024-04-24 15:40:41 626

原创 TypeScript 简介

TypeScript 通过在编译阶段进行静态类型检查,能够帮助开发者提前发现潜在的错误,提高了代码的可维护性和可读性。编译完成后,TypeScript 代码会被转换成普通的 JavaScript 代码,这样就可以在任何支持 JavaScript 的环境中运行,包括浏览器和 Node.js 服务器。TypeScript 主要特点包括:静态类型:虽然 JavaScript 是动态类型语言,TypeScript 允许你为变量、函数参数、函数返回值等指定类型,这有助于开发大型应用时减少错误。

2024-04-24 15:39:12 337

原创 Generator 函数

什么是Generator?用于异步执行语句一个普通函数,内含多种状态,可用于生成迭代器对象Iterator其中包含yield语句暂定函数执行返回值使用步骤(详见流程)定义。

2024-04-24 15:30:38 385

原创 Iterator 和 for...of 循环

什么是Iterator?用于遍历集合的对象next()return()break或 异常时调用throw()与一起使用返回对象含有以下两个属性value可迭代对象Iterable即是与绑定原生Iterable集合对象的迭代(自定义)类数组对象的迭代特殊的迭代String是默认可迭代的;字符串是类数组对象。

2024-04-24 11:29:28 383

原创 关于npm install -g typescript这个命令没有全局安装

(Windows 上)。但是我们自定义了仓库所以这个地方会返回我们的仓库地址,接下来把仓库地址添加到环境变量里面。我是之前就安装了node,并且配置了仓库,但是仓库没有添加到环境变量里面,所以执行命令执行之后一直没有全局安装。已经添加到系统的 PATH 环境变量中。,那么您需要确保这个路径(仓库路径)

2024-04-24 09:57:45 114

原创 Iterator 和 for...of 循环

什么是Iterator?用于遍历集合的对象next()return()break或 异常时调用throw()与一起使用返回对象含有以下两个属性value可迭代对象Iterable即是与绑定原生Iterable集合对象的迭代(自定义)类数组对象的迭代特殊的迭代String是默认可迭代的;字符串是类数组对象。

2024-04-22 19:40:25 348

原创 Set 和 Map

Set是唯一集合保持插入顺序不会改变数据类型构造:接收iterable对象Setsize属性Set的方法操作函数add()类===判断;对象不相等delete()has()clear()遍历函数keys()values()entries()forEach()与数组的转换操作用途:集合运算。

2024-04-22 19:38:53 209

原创 Symbol

ES5的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是ES6引入Symbol的原因。ES6引入了一种新的原始数据类型Symbol表示独一无二的值。它是JavaScriptundefinednull布尔值(Boolean字符串(String数值(Number对象(ObjectSymbol值通过。

2024-04-22 19:33:56 344

原创 js实现俄罗斯方块

1,左右移动到达边界之后由于数组大小有限,超过边界之后并未处理出现异常。额应该还有其他问题目前就发现这么多,然后就是面向对象的思想问题。3,未制作游戏开始以及失败判定。目前的话有以下问题未解决。2,方块形状没有解决。

2024-04-21 11:04:37 220 2

原创 ES6 新语法

let新增了块级作用域每个代码块都可以有自己的作用域块级作用域的出现,使得匿名立即执行函数表达式(匿名 IIFE)不再必要了。ES6的块级作用域必须有大括号,如果没有大括号,JavaScript引擎就认为不存在块级作用域。声明变量不会前置let和const变量的暂时性死区 (Temporal Dead Zone)如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。

2024-04-20 10:16:10 734

原创 通过原型链继承,以及引用数据出现问题

console.log('品种:' + xx.getStrain());console.log('品种:' + hh.getStrain());console.log('名字:' + xx.getName());console.log('名字:' + hh.getName());console.log('品种:' + xx.getStrain());console.log('品种:' + hh.getStrain());console.log('名字:' + hh.getName());

2024-04-18 23:39:11 684

原创 js原型链

console.log('健康值:' + this.health);console.log('姓名:' + this.name);// 同时,必须修改原型对象的 constructor 属性。每个对象都有一个原型,同时每个对象又可以是其他对象的原型;每个对象都有一个构造函数,每个对象都是由构造函数创建的。函数的原型属性是顶级原型,顶级原型的原型对象是。所有的函数原型对象都是以顶级原型为原型对象的;修改函数原型属性的同时一定要修改原型属性的。函数创建的,因此,函数对象的原型对象是。属性,代表其创建函数。

2024-04-18 21:57:48 312

原创 函数以及调用方式

console.log("姓名:" + this.name);showInfo.apply(l4, ['大头', '广场舞']);var z3 = {name : '张三', age : 18};var l4 = {name : '李四', age : 28};var stu = new Student('张三', 18);showInfo.call(z3, '燕子', '飞檐走壁');var l4 = new Student('李四', 19);// 4. call() 和 apply() 调用方式。

2024-04-18 19:36:55 204

原创 对象以及创建方式

console.log('姓名:' + this.name);console.log('年龄:' + this.age);console.log('姓名:' + this.name);console.log('年龄:' + this.age);stu.name = '张三';name : '加肥',// 2. 字面量 创建对象。// 1. 创建对象。

2024-04-18 19:35:29 97

原创 数组定义以及使用

/ 在头部插入元素。// 在尾部插入元素。// 在尾部删除元素。// 3. 把数组当做栈来使用。// 4. 把数组当做队列使用。// 5. 在头部插入元素。// 6. 连接 join。// 1. 声明数组。// 2. 添加元素。// 使用数组的方法。

2024-04-18 14:54:43 252

原创 变量声明,基本数据类型

/ 默认为 undefined 类型。// 1. 声明变量 —— 5 种基本数据类型。// 5. 不声明,不赋值,不能使用。// 3. 一个变量可以多次声明。// 2. 一次声明多个变量。// 4. 不声明使用变量。

2024-04-18 14:53:45 97

空空如也

空空如也

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

TA关注的人

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