说到防抖和节流相信大家都不陌生,这两个东西大家可能多多少少都有用到过,最少也有听过古人云,温故而知新。虽然可能已经很熟悉防抖和节流了,但不妨再看一看巩固一下知识什么?你说你不仅不会手写防抖和节流,也没有听过。那也没事,下文会详细介绍的防抖和节流有什么用?简单来说,防抖和节流都是用来减少函数执行的频率,以达到优化项目性能或者实现特定功能的效果防抖定义:事件被触发一定时间后再执行回调。如果在这段时间内又被触发了,则重新开始计算时间常用场景输入框远程查询事件在线文档自动保存浏览器视口大小改变例子张三在某平台搜索一本书籍,发现搜索建议并不是瞬间就出现的,而是自己输入词组结束后出现的。那么该平台在此搜索
一、什么是接口测试?所谓接口,是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接口测试,则是通过接口的不同情况下的输入,去对比输出,看看是否满足接口规范所规定的功能、安全以及性能方面的要求。二、为什么要做接口测试?1、相比系统测试,更早介入测试,提高效率2、可以发现前端测试不了的问题,提高版本质量3、接口标准化了,更容易实现自动化和持续集成,降低测试成本因此在软件测试招聘岗位的要求中,无论是功能测试、自动化测试、性能测试亦或测试开发岗位,接口测试都是必须掌握的!三、如何开展接口测试?接口测试的开展一般包含5个部分:接口文档分析、接口用例设计、执行接口用例、
一、什么是接口测试?所谓接口,是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接口测试,则是通过接口的不同情况下的输入,去对比输出,看看是否满足接口规范所规定的功能、安全以及性能方面的要求。二、为什么要做接口测试?1、相比系统测试,更早介入测试,提高效率2、可以发现前端测试不了的问题,提高版本质量3、接口标准化了,更容易实现自动化和持续集成,降低测试成本因此在软件测试招聘岗位的要求中,无论是功能测试、自动化测试、性能测试亦或测试开发岗位,接口测试都是必须掌握的!三、如何开展接口测试?接口测试的开展一般包含5个部分:接口文档分析、接口用例设计、执行接口用例、
介绍架构的本质是管理复杂性,抽象、分层、分治和演化思维是我们工程师/架构师应对和管理复杂性的四种最基本武器。最近团队来了一些新人,有些有一定工作经验,是以高级工程师/架构师身份进来的,但我发现他们大部分人思维偏应用和细节,抽象能力弱。所以作为团队技术培训的一部分,我整理了这篇文章,希望对他们树立正确的架构设计思维有帮助。我认为,对思维习惯和思考能力的培养,其重要性远远大于对实际技术工具的掌握。由于文章内容较长,所以我把它分成两篇小文章,在第一篇《优秀架构师必须掌握的架构思维》中,我会先介绍抽象、分层、分治和演化这四种应对复杂性的基本思维。在第二篇《四个架构设计案例及其思维方式》中,我会通过四个
介绍架构的本质是管理复杂性,抽象、分层、分治和演化思维是我们工程师/架构师应对和管理复杂性的四种最基本武器。最近团队来了一些新人,有些有一定工作经验,是以高级工程师/架构师身份进来的,但我发现他们大部分人思维偏应用和细节,抽象能力弱。所以作为团队技术培训的一部分,我整理了这篇文章,希望对他们树立正确的架构设计思维有帮助。我认为,对思维习惯和思考能力的培养,其重要性远远大于对实际技术工具的掌握。由于文章内容较长,所以我把它分成两篇小文章,在第一篇《优秀架构师必须掌握的架构思维》中,我会先介绍抽象、分层、分治和演化这四种应对复杂性的基本思维。在第二篇《四个架构设计案例及其思维方式》中,我会通过四个
本次我把CSS中的重难点整理出来,总共54个核心知识点,供大家复习,希望能帮到大家。这些重难点是进阶高薪必需要掌握的知识点,同时也是面试必问的内容。 因为涉及的内容较多,我分5篇内容发出来,好逐一进行让大家消化这些内容,本次我把前13-24个CSS重难点整理出来,具体内容如下:13、如何判断元素是否到达可视区域(图片懒加载原理)?14、link与@import的区别?15、常见的图片格式与场景?16、对CSSSprites(精灵图)的理解?17、CSS预处理器、后处理器是什么?作用是什么?18、常见的CSS单位;19、CSS优化和提高性能的方法?20、为什么有时候用translate来改变位置
本次我把CSS中的重难点整理出来,总共54个核心知识点,供大家复习,希望能帮到大家。这些重难点是进阶高薪必需要掌握的知识点,同时也是面试必问的内容。 因为涉及的内容较多,我分5篇内容发出来,好逐一进行让大家消化这些内容,本次我把前13-24个CSS重难点整理出来,具体内容如下:13、如何判断元素是否到达可视区域(图片懒加载原理)?14、link与@import的区别?15、常见的图片格式与场景?16、对CSSSprites(精灵图)的理解?17、CSS预处理器、后处理器是什么?作用是什么?18、常见的CSS单位;19、CSS优化和提高性能的方法?20、为什么有时候用translate来改变位置
一、什么是防御式编程防御性编程是一种细致、谨慎的编程方法(习惯)。我们在写代码时常会有“以防万一”的心态,把以防万一有可能出现的情况提前考虑进去,规避以免以防万一出现带来的问题。应用防御性编程技术,你可以侦测到可能被忽略的错误,防止可能会导致灾难性后果的“小毛病”的出现,在时间的运行过程中为你节约大量的调试时间。比如我们在写下面这个效果时,如果只是按设计师设计效果来开发,我们就不会考虑标题内容过长的问题。但是在实际的应用中,数据是从后台加载而来,标题的字数就有可能过长,过长之后就会导致标题溢出折行的效果如下图,带来不好的体验。如果站在防御式编程的角度来思考,那我们就会提前把这种问题规避掉。如
一、什么是防御式编程防御性编程是一种细致、谨慎的编程方法(习惯)。我们在写代码时常会有“以防万一”的心态,把以防万一有可能出现的情况提前考虑进去,规避以免以防万一出现带来的问题。应用防御性编程技术,你可以侦测到可能被忽略的错误,防止可能会导致灾难性后果的“小毛病”的出现,在时间的运行过程中为你节约大量的调试时间。比如我们在写下面这个效果时,如果只是按设计师设计效果来开发,我们就不会考虑标题内容过长的问题。但是在实际的应用中,数据是从后台加载而来,标题的字数就有可能过长,过长之后就会导致标题溢出折行的效果如下图,带来不好的体验。如果站在防御式编程的角度来思考,那我们就会提前把这种问题规避掉。如
本文通过编写一个自定义starter来学习springboot的底层原理,帮助我们更好的使用springboot集成第三方插件步骤一:创建项目步骤二:添加依赖步骤三:创建自动配置类步骤四:创建属性类步骤五:创建服务类步骤六:添加自动配置类到Springboot自动配置列表中步骤七:打包并发布步骤八:在其他项目中使用自定义starter结论步骤一:创建项目世界上最伟大的成就,不是从不失败,而是每次失败后,仍能振作起来。首先,我们需要创建一个Springboot项目。删除启动类,配置文件,添加META-INF文件夹和spring.factories,最终项目结构如下步骤二:添加依赖在创建完项目后,