自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Jpeg算法

压缩算法之所以有用的原因:人的眼睛并不完美,很多细微的东西观察不到,jpeg算法利用算法来去除这些细微的差别,视杆细胞和视锥细胞。使用jpeg算法的时候可以选一个叫’质量’的可变数值来决定压缩的程度,压缩过多的时候我们会得到有缺陷的方框,叫做膺像。1.在压缩矢量就是有棱角的图片的时候会得到明显的膺像,在压缩自然图片的时候效果很好,因为自然图片有许多光滑的纹理。会遍历图像的客个部分,并找到具有高频率的色度或亮度的像素频繁出现的区域,然后删除人眼难以感知的元素。然后用哈夫曼编码进行重构树重构。

2023-05-05 20:44:21 666

原创 引用的通俗讲解

关于c++中的引用笔记

2021-05-04 18:21:31 276

原创 指针常量与常量指针详细讲解

常量指针以及指针常量个人理解

2021-05-04 12:07:29 1033 3

原创 Requests库

通过这个类,无需我们操心, requests库自动帮我们保存服务端返回的 cookie数据, HTTP请求自动 在消息头中放入 cookie 数据。Web API接口中,消息体基本都是文本,文本的格式主要是这3种: urlencoded ,json , XML。但是有时候,服务端并不一定会在消息头中指定编码格式,这时, requests的推测可能有误,需要我们指定编码格式。但是有的时候,我们的url参数里面有些特殊字符,比如 参数的值就包含了。这种格式的消息体就是一种 键值对的格式存放数据,如下所示。

2023-09-23 16:13:51 340

原创 pytest

我们的测试函数 都是 pytest 搜集和调用的,pytest会做这样的分析:如果发现 测试函数参数 和 某个 fixture 同名,就知道:要在执行该测试时先调用该 fixture函数, 然后把fixture函数返回的结果 作为 调用测试函数该参数的值。用例 UI-0001 到 UI-0005 这5个登录的测试用例,共同的特点是,它们测试步骤是一模一样的,只是输入的数据(用户名、密码)不同,要检查的输出数据(错误提示)不同。前面的fixture示例,都需要 用例函数 在参数里面 申明使用,才会调用的。

2023-09-23 15:07:02 247

原创 自动化测试-Xpath

XPATH

2023-09-21 17:09:10 400

原创 自动化测试---选择框

5.deselect_by_visible_text(‘’)根据选项的可见文本,去除 选中元素。3.select_by_visible_text(‘’)根据选项的 可见文本 ,选择元素。1.select_by_value(‘’)根据选项的 value属性值 ,选择元素。2.select_by_index(‘’)根据选项的 次序 (从1开始),选择元素。4.deselect_by_index(‘’)根据选项的次序,去除 选中元素。这个点上去就是 选择,所以我们必须先获取复选框的状态,然后再考虑是否点击。

2023-09-21 15:22:20 199

原创 frame切换/窗口切换/选择框

选择框

2023-09-21 15:09:43 116

原创 自动化测试—选择器

css

2023-09-21 14:43:16 111

原创 自动化测试---选择元素

选择元素

2023-09-19 16:23:10 96

原创 py基础语法

py基础

2023-09-19 10:35:01 79

原创 封装企业级fetch

封装

2023-06-20 09:25:47 114

原创 fecth

1

2023-06-19 19:55:20 748

原创 react-redux

【代码】react-redux。

2023-06-19 12:00:57 227

原创 合并reducer

2023-06-19 10:31:41 368

原创 Redux的基础操作和思想

Redux提供的模式和工具使您更容易理解应用程序中的状态何时、何地、为什么以及如何更新,以及当这些更改发生时,您的应用程序逻辑将如何表现!React-Redux:官方库,让React组件与Redux有了交互,可以从store读取些state,可以通过dispatch actions来更新store!index.jsx的后代组件,基于上下文方案,获取在上下文中存储的store就可以。为了在各个组件中,都可以把创建的store获取到,我们可以基于上下文的方。浅拷贝,每次都是第一次产生的那个闭包!

2023-06-14 21:52:28 429

原创 React中的HOC高阶组件处理

新组件有时被称为包装组件,它可以在原始组件的基础上添加一些新的逻辑或功能,从而增强原始组件的能力,实现代码的复用和可拓展性。柯里化函数(Currying Function)是指将一个接受多个参数的函数转化成一系列只接受单个参数的函数,并且返回接受单个参数的函数,达到简化函数调用和提高可读性的目的。简单来说,柯里化即将接收多个参数的函数转换成为接收单个参数的函数,并返回一个新的函数,新函数可以在后续的调用中继续接收参数,直到参数全部传递完成后返回最终的结果。函数返回一个函数,这个函数只接受一个参数。

2023-06-14 19:15:22 1477

原创 样式私有化方案

需要注意的是,CSS Modules 和 CSS in JS 都是比较新的技术,需要在开发中谨慎使用。以 CSS Modules 的形式使用 css-loader 和 style-loader,css-loader 负责处理样式表,并使用唯一的类名代替类名,避免直接暴露类名。CSS in JS:通过使用一些 CSS in JS 的库,如 styled-components、emotion 等,可以将组件的样式直接写入组件代码中,从而避免类名冲突的问题。因此,可以避免类名问题,并且具有更好的动态控制能力。

2023-06-14 18:23:44 771

原创 组件的通信方案

当点击支持/反对的时候,把祖先放在上下文中,用来修改状态的方法执行,这样就可以修改祖先组件的状态!祖先组件更新:会把最新的状态信息,重新放在上下文中!后代组件也会跟着更新,从而获取最新的上下文信息进行绑定!二.基于上下文方案实现祖先和后代的传递。

2023-06-14 18:03:36 117

原创 自定义hook函数

在自定义 Hook 中,可以调用其他 Hook(例如 useState、useEffect 等),实现共享和组合逻辑。这是 React 的一个约定,以此来区分普通函数和自定义 Hook,确保在使用 Hook 时,开发者可以一眼看出这是一个 Hook。最后,在组件渲染时,我们使用状态来展示当前的支持和反对人数,并且使用处理函数来更新状态。Hook 可以在其他组件中被使用,以实现在组件第一次渲染完毕后,统一干点事情的需求。的组件中的状态,并且使用返回的状态和更新函数来管理状态。的自定义 Hook。

2023-06-14 12:26:50 845

原创 useref和useImperativeHandle

在函数组件中,React 在内部使用钩子函数来管理组件状态和生命周期,而在类组件中则使用生命周期方法来实现这些功能。通常情况下,使用 Ref 可以获取某个组件的实例或者 DOM 元素,但是如果要只暴露组件的部分实例或者方法,或者对 Ref 进行值转换,就可以使用。** 6.函数子组件内部,可以有自己的状态和方法了﹔如何实现∶基于forwardRef实现ref转发的同时,获取函数子组件内部的状态或者方法呢?属性,我们可以在函数式组件中使用它来保存任何可变值,包括 DOM 元素或组件实例的引用。

2023-06-13 10:35:08 1729

原创 useMemo和useCallback

react

2023-06-11 22:09:46 538

原创 useEffect,useLayoutEffect的基础知识和底层机制

多!!!

2023-06-11 20:02:16 4784

原创 hooks组件+例子+底层机制

2023-06-11 14:29:24 1722

原创 几个事件的问题

移动端的click是单击事件,单击事件:第一次点击后,监测300ms, 看是否有第二次点击操作,如果有就是单击,如果有就是双击。函数中,我们计算了当前的触摸坐标和起始坐标之间的位移,并判断是否在一定的范围内,以确定当前的触摸事件是否有效。单手指事件模型: touch模拟!事件,并在其中记录下当前的时间戳timestamp2和离开的坐标coordinate2。函数中,我们记录了当前触摸事件的时间戳和坐标,用来在后续计算双击事件是否有效。变量来记录上一次的触摸事件的时间戳,以判断当前的触摸事件是否为双击事件。

2023-06-10 20:37:40 692

原创 react合成事件+底层原理+发展历程

猛的1p

2023-06-10 18:46:15 2685 1

原创 setState详解

如果你在网络请求代码块中使用对象方式更新状态,那么在请求还没有返回前,React 会将多个状态更新操作合并成一个更新操作,这可能会导致页面显示不正确或者渲染出错的问题。这就好比是在对象方式更新状态时,由于每次更新操作都会合并状态,所以在异步操作中可能会产生干扰,导致最终更新的状态并不是预期的状态。在更新 lastTick 和 total 状态时,我们使用了函数方式,并且将计算 total 的逻辑也放到了函数中,以确保只更新 lastTick,不影响 count 的更新,不会出现状态合并的问题。

2023-06-10 17:19:21 1467

原创 详解ref---->如何获取dom元素

ref

2023-06-10 15:40:41 1865

原创 PureComponent和Component的区别和底层处理机制

的默认实现可以避免一些不必要的渲染,但它并不是完全自动化的,也不能保证在所有情况下都能正确地避免不必要的渲染。在比较属性时,我们可以使用浅比较或者深比较来实现,具体方法取决于属性的数据类型和结构。3.如果需要重新渲染组件,React会根据虚拟DOM的增量更新算法计算出需要更新的节点,并将变化应用到DOM上。没有发生变化,则阻止组件的重新渲染,提高性能。高阶组件对组件进行包装,将组件包装成具有浅比较优化功能的组件。方法,对组件的属性进行比较,避免不必要的重新渲染。都会导致组件的重新渲染,甚至在组件的。

2023-06-10 14:53:52 2878

原创 组件更新的底层逻辑

更新组件

2023-06-10 11:18:48 1251

原创 动态组件:类组件

类组件

2023-06-10 10:26:54 1640

原创 react里面的插槽

作用:和属性一样,让组件具备更强的复用性,传递数据值用属性,传递HTML结构用插槽。插槽必须用双闭合调用,传过去的数据都在children。在index.js中!

2023-06-09 19:21:33 43

原创 props的细节问题!

作用:父组件(index.jsx)调用子组件(DemoOne.jsx)的时候,可以基于属性,把不同的信息传递给子组件;子组件接收相应的属性值,呈现出不同的效果,让组件的复用性更强!传递进来的属性,首先会经历规则的校验,不管校验成功还是失败,最后都会把属性给形参props,只不过如果不符合设定的规则,控制台会抛出警告错误{不影响属性值的获取}!被冻结的对象,即是不可扩展的,也是密封的!同理,被密封的对象,也是不可扩展的!被密封的对象:可以修改成员的值,但也不能删、不能新增、不能劫持!属性props的处理。

2023-06-09 17:52:14 918

原创 jsx底层渲染机制,函数组件的底层渲染机制

它首先会根据虚拟 DOM 中的 type 属性创建一个对应的 HTML 元素,然后根据虚拟 DOM 中的 props 属性设置元素的属性和子元素,最后将该元素插入到指定的 container 容器中。虚拟DON对象∶框架自己内部构建的一套对象体系(对象的相关成员都是React内部规定的),基于这些属性描述出,我们所构建视图中的,DOM节点的相关特征!不对,1.数组对象可以渲染,2.style的行内样式属性可以渲染,3.可以直接通过createElement来渲染!多闭合调用可以传入其他标签!

2023-06-09 17:25:52 832

原创 一些小需求

几个简单的需求

2023-06-09 09:46:00 67

原创 react设计模式,jsx

第一篇

2023-06-09 09:14:02 1836

原创 一道promise输出题

【代码】一道promise输出题。

2023-05-29 09:16:36 105

原创 js垃圾回收机制各阶段问题以及解决方案

我们先要了解一个概念 全停顿(Stop-The-World),我们都知道 JavaScript 是一门单线程的语言,它是运行在主线程上的,那在进行垃圾回收时就会阻塞 JavaScript 脚本的执行,需等待垃圾回收完毕后再恢复脚本执行,我们把这种行为叫做 全停顿。试想一下,我们上面所说的垃圾清理算法在每次垃圾回收时都要检查内存中所有的对象,这样的话对于一些大、老、存活时间长的对象来说同新、小、存活时间短的对象一个频率的检查很不好,因为前者需要时间长并且不需要频繁进行清理,后者恰好相反,怎么优化这点呢?

2023-05-09 10:03:47 305

原创 provide和inject,Teleport,Fragment

使用传统OptionsAPI中,新增或者修改一个需求,就需要分别在data,methods,computed里修改。Options API存在的问题,在vue2中都是配置式的api,在vue3中就变成了组合式api。套路:父组件有一个provide选项来提供数据,子组件有一个inject选项来开始使用这些数据。isProxy:检查一个对象是否是由reactive或者readonly方法创建的代理。在Vue3中:组件可以没有根标签,内部会将多个标签包含在一个。在Vue2中:组件必须有一个根标签。

2023-04-25 12:27:21 372

原创 hook函数,toRef家族

shallowReactive:只处理对象最外层属性的响应式(浅响应式)。shallowRef:只处理基本数据类型的响应式,不进行对象的响应式处理。扩展:toRefs 与toRef功能一致,但可以批量创建多个ref对象,语法:toRefs(person),这里面直接放对象!如果有一个对象数据,后续功能不会修改该对象中的属性,而是生新的对象来替换===> shallowRef。使用场景:用于读取响应式对象对应的普通对象,对这个普通对象的所有操作,不会引起页面更新。应用场景:不希望数据被修改时。

2023-04-25 09:52:48 417

空空如也

空空如也

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

TA关注的人

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