自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue2(七):配置脚手架、render函数、ref属性、props配置项、mixin(混入)、插件、scoped样式

定义在另一个js文件中,这里定义在mixin.js中methods: {},console.log('混合里的mounted优先调用');可以在另一个js中配置插件,然后通过import引入到main.js中看看下面的代码,复习复习之前的知识//第一个参数是Vue构造函数//后面的参数是使用者传进来的东西123//1.定义一个全局过滤器//返回值别忘了});//2.定义一个全局自定义指令,元素默认获取焦点},el.focus();},})

2025-08-26 20:34:06 1108

原创 Vue2(六):使用组件的三大步、组件的嵌套、Vuecomponent构造函数、单文件组件

使用创建,其中options和时传入的那个options几乎一样,但也有点区别;school组件本质是一个名为的构造函数,且不是程序员定义的,是Vue.extend生成的。我们只需要写<school/>或,Vue解析时会帮我们创建school组件的实例对象。特别注意:每次调用Vue.extend,返回的都是一个全新的VueComponent构造函数而不是返回VueComponent的实例。

2025-08-21 11:29:19 874

原创 Vue2(五):收集表单数据、过滤器、自定义指令、Vue的生命周期

定义:对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理比如价格1999改成1,999等需求,复杂的用计算属性或方法)。语法:或{{ xxx | 过滤器名}}或v-bind:属性 = "xxx | 过滤器名"(第二种几乎不用)v-bind: 单向绑定解析表达式, 可简写为 :xxxv-model: 双向数据绑定v-for: 遍历数组/对象/字符串v-on: 绑定事件监听, 可简写为@v-if: 条件渲染(动态控制节点是否存存在)v-else: 条件渲染(动态控制节点是否存存在)

2025-08-19 17:43:56 930

原创 Vue2(四):Vue监测数据的原理

所以如果我们后期手动直接给_data添加属性(注意区别手动添加和从data中收集),是无法实现响应式的,因为没办法给它setter,只有从data中收集过来的属性才能通过一个鱿鱼西定义的好像是叫Observer什么什么的方法给它搞个setter。2、将数组中的元素单独替换,数据修改成功,但是Vue没有监测到,页面不显示,这是因为数组中的每个元素是没有getter和setter的,如果修改数组中的元素无法实现响应式.进而更新页面,实现响应式。也可以实现响应式,第二个参数写索引,第三个写元素,可以改也可以加。

2025-08-19 15:35:08 688

原创 React(九):其他Hook、自定义Hook、Redux和Hook联动

必须以use开头自定义Hook本质上只是一种函数代码逻辑的抽取,严格意义上来说,它本身并不算React的特性。我感觉这东西就和高阶组件一个作用。例如有这样一个需求: 所有的组件在创建和销毁时都进行打印如果每个组件我们都单独编写是非常繁琐的, 并且有许多重复代码;我们可以将实现这样逻辑相同的代码抽离为一个自定义的Hook,在其他的组件中调用自定义Hook即可。

2025-08-14 11:43:34 1161

原创 React(八):引出Hook、useState、useEffect的使用详解

默认情况下,useEffect的回调函数会在每次渲染都重新执行,但是某些代码我们只是希望执行一次即可(比如网络请求,绑定事件、订阅redux)。顾名思义,其实我们平时的网络请求、手动更新DOM、一些事件的监听、订阅redux数据变化等操作,都是除了更新DOM之外需要做的操作,也就是一些副作用。如果是一个旧的项目,你并不需要直接将所有的代码重构为Hooks,因为它完全向下兼容,你可以渐进式的来使用它;所以说我们可以协商这个返回的回调函数,每次更新数据前先执行回调解绑事件,再更新再绑定事件,也就是同样的事件。

2025-08-14 10:39:04 826

原创 React(七):Router基本使用、嵌套路由、编程式导航、路由传参、懒加载

或HashRouter其中使用history<App/>HashRouter使用hash<App/>

2025-08-13 16:50:22 1030

原创 React(五):受控组件、高阶组件、Portals、Fragment、CSS的编写方式(classNames的使用)

类似vue中的v-model,就是双向数据绑定。比如下面这两个input框,受控组件的条件就是有value值。但是只有value值读取state中的值不行,这样input里的东西就不能改了,所以要有onChange事件去修改相应的值,实现输入框和state数据的同步。个人理解受控组件和非受控组件的区别在于,是否受父组件的控制,如果父组件能够控制改变该组件,那么这个组件就是受控组件。如果只是在该组件内部维护状态,那么就是非受控组件。super();

2025-08-13 15:37:45 1208

原创 问题记录一、:focus-within 和 :focus 这两个伪类的区别

只有当元素本身获得焦点时才触发在这个结构中,ant-input-group-wrapper 本身不是一个可聚焦的元素真正获得焦点的是内部的 input 元素。

2025-08-13 11:06:00 389

原创 React(四):事件总线、setState的细节、PureComponent、ref

原因是:这里回调的参数state是上一个合并状态的state,所以是可以在上一个的基础上做操作的!如果同步更新了state,但是还没有执行render函数,那么state和props不能保持同步,这样会在开发中产生很多的问题;上面解决了这两个问题,但是真的是非常的麻烦,如果有多个数据,往下层也传了多个数据,那么我们要对每一个数据都写一个判断吗?2、第二个问题,如果子组件没有数据的改变,那么就不需要跟着父组件重新执行render函数了,我们同样可以用。更改数据,那么参数state保存的是上一个修改状态的值!

2025-08-11 10:34:42 900

原创 React(三):脚手架、组件化、生命周期、父子组件通信、插槽、Context

首先安装node,建议使用nvm管理node版本。使用nvm管理node在git bash中输入:,然后输入,如果能正常显示版本号,那么安装就成功了。目录下右键 => git bash => 项目名 => 回车等几分钟就欧了。注意项目名不能包含大写字母。脚手架目录下 => ,然后就可以看到非常帅气的大花。没啥用的先删了,我们自己搭建src中的文件:好,那么接下来我们重新写一下src里面的文件:三、组件化1. 类组件类组件的定义有如下要求:使用class定义一个组件:render函数的返

2025-08-07 19:51:06 989 2

原创 React(二):jsx事件绑定、条件渲染、列表渲染、jsx的本质、购物车案例

3、目前最常用的,直接写箭头函数,点击时触发一个箭头函数的回调,箭头函数可以调用另外一个函数,这样的话就是一个隐式绑定(this.fun3(),那么fun3里的this当然指向的也是类的实例),解决了this指向的问题。删除和修改的逻辑是类似的,不过修改是修改对象中某个属性,由于浅拷贝拷贝的是地址,所以修改对象中的属性,那么books和newBooks都会变。这里的逻辑比较有意思,因为我们不能直接去修改state中的数据,我们要借助调用setState这个方法去修改,从而可以执行render函数更新页面。

2025-08-06 16:20:14 772

原创 React(一):初识React、类组件、jsx的基础语法

1、React是什么?用于构建用户界面的 JavaScript 库3、React的特点:(1)声明式编程:声明式编程是目前整个大前端开发的模式:Vue、React、Flutter、SwiftUI;(2)组件化开发(3)多平台适配1、定义类组件,继承React.Component,并继承父类的属性-- 准备好一个容器 -->//1.定义类组件super();</script>2、添加一个state属性,用来存储数据,名字必须叫state-- 准备好一个容器 -->//1.定义类组件。

2025-08-05 17:26:01 1046

原创 Vue2(三):绑定样式、条件渲染(v-if,v-show)、列表渲染(v-for)、key的原理、列表过滤、列表排序

这个案例再次体现出计算属性的强大之处,只要get里用到的数据(keyword,sortType)发生改变,get都会重新执行,模板都会重新解析,这个业务逻辑就实现了。(2)如果不存在对数据的逆序添加、逆序删除等破坏顺序操作,仅用于渲染列表用于展示,使用index作为key是没有问题的。(2)旧虚拟DOM中未找到与新虚拟DOM相同的key,创建新的真实DOM,随后渲染到到页面。3、数组写法适用于:要绑定多个样式,但是不确定绑定哪几个,就写成数组,省的一个一个绑定。(因为会动DOM树,节点删来删去不太好)

2025-08-04 20:35:03 1042 1

原创 Vue2(二):计算属性、监视属性、二者的区别

定义:要用的属性不存在,要通过Vue中已有属性计算得来。原理:底层借助了方法提供的getter和setter。get函数什么时候执行?(1).初次读取时会执行一次。(2).当依赖的数据发生改变时会被再次调用。优势:与methods实现相比,内部有缓存机制(复用),效率更高,调试方便。备注:1、计算属性最终会出现在vm上,直接读取使用即可,不用加括号,和methods区别一下子。2、如果计算属性要被修改,那必须写set函数去响应修改,且set中要引起计算时依赖的数据发生改变,

2025-07-29 17:57:41 1007

原创 Vue2(一):初识Vue、模板语法、数据绑定、el和data的两种写法、MVVM、数据代理、事件

1、想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象。2、root容器里代码依然符合HTML规范,只不过混入了一些特殊的Vue语法。3、root容器里的代码被称为【Vue模板】。4、Vue容器与与Vue实例是一对一关系,一个容器只能被一个Vue实例接管,一个Vue实例只能接管一个容器。5、真实开发中只有Vue实例,并且会配合着组件一起使用。6、{{xxx}}中的xxx要写js表达式(不能写if,for这样的js代码),且xxx可以自动读取到data中的所有属性。

2025-07-28 16:41:30 1077

原创 字节跳动测试开发日常实习三面

1、SQL语句:查询一个班的同学中姓张的,然后按照年龄的降序排列出来。2、lfet join 和right join区别。2、在对项目测试过程中遇到的问题。3、如果token被篡改了怎么办。1、说说项目系统的整体架构。1、支付宝支付测试用例。1、线程创建的三种方式。

2022-11-30 18:42:50 301

原创 字节跳动测试开发日常实习二面

面经

2022-10-26 20:41:47 336

原创 字节跳动测试开发日常实习一面

字节实习

2022-10-20 19:53:07 550

原创 Java虚拟机

垃圾回收机制保证可以将“无用的对象”进行回收。无用的对象指的就是没有任何变量引用该对象。Java的垃圾回收器通过相关算法发现无用对象,并进行清除和整理。

2022-10-18 21:29:58 207

原创 Docker Compose安装方法

Docker Compose安装方法 -- 亲测有用

2022-10-12 15:59:06 229

原创 第一篇好的秋招经验

第一篇好的秋招经验

2022-10-11 19:51:49 131

原创 接入ups的物流追踪系统

最近在做有关物流商城的项目,其中有一个需求是接入英国ups系统,由于过程中出现了一些问题,所以作者在这里记录一下。

2022-09-23 17:02:06 1457 1

原创 将xsd、以及xsdl文件转化为Java类

在将UPS系统的快递追踪接口集成到项目的时候,UPS快递公司提供的接口是以xsd、xsdl文件的格式提供的,这个在之前的学习中从来没有遇到过,于是查找资料发现,xsd以及xsdl文件是可以转化为java代码的,转化的方式为:在指定要转化的文件夹cmd,打开窗口。然后运行命令。解析xsd文件命令:解析xsdl文件命令: 解析完成后就会在当前文件夹中,看到解析后的结果了。...

2022-07-10 18:42:04 867

原创 Exception in thread “main“ java.lang.UnsatisfiedLinkError: Error looking up function ‘CheckCmdLine‘:

在Java项目中,调用用C++程序写的接口时,出现了说找不到程序这样的一个问题,具体报错信息如下:通过查找封装好的C++程序发现,里面其实是有这个方法的, 查找资料发现,问题是出在命名规范这一块,C++里面方法的命名,要与Java这边的一致,都必须使用驼峰命名法,否则会出现找不到该程序这样一个问题。下面是C++程序里面封装的方法:将C++里面的方法名称改为驼峰命名法。改完之后iu,执行正常。...

2022-06-07 21:09:49 3105

原创 进程和线程的区别?

进程进程就是正在运行的程序,它会占用对应的内存区域,由CPU进行执行与计算。线程进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。进程与线程的区别根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,...

2022-05-24 08:48:19 127

原创 Object类有哪些方法?详细说明

问题答案Object类提供了如下几个常用方法: Class<?> getClass():返回该对象的运行时类。 boolean equals(Object obj):判断指定对象与该对象是否相等。 int hashCode():返回该对象的hashCode值。在默认情况下,Object类的hashCode()方法根据该对象的地址来计算。但很多类都重写了Object类的hashCode()方法,不再根据地址来计算其hashCode()方法值。 String

2022-05-23 09:00:07 1749

原创 java里面的线程和操作系统的线程一样吗?

文章目录问题回答阐述关系源码分析问题回答不同在多核操作系统中,jvm也会允许在一个进程内同时并发执行多个线程。java中的线程和操作系统中的线程分别存在于虚拟机和操作系统中,他们虽然不同,但却是一一对应,息息相关的。阐述关系首先,日常开发中都是会使用线程池来获取或者创建线程的,而线程在创建时,其实是先创建一个java线程,等到本地存储、程序计数器、缓冲区等都分配好以后,JVM会调用操作系统的方法,创建一个与java线程绑定的原生线程。线程的调度是由操作系统负责的。

2022-05-23 08:43:27 731

原创 重载和重写的区别?

目录1、重写重写总结2.重载重载总结面试标准回答1、重写从字面上看,重写就是 重新写一遍的意思。其实就是在子类中把父类本身有的方法重新写一遍。子类继承了父类原有的方法,但有时子类并不想原封不动的继承父类中的某个方法,所以在方法名,参数列表,返回类型(除过子类中方法的返回值是父类中方法返回值的子类时)都相同的情况下, 对方法体进行修改或重写,这就是重写。但要注意子类函数的访问修饰权限不能少于父类的。例如: public class Father { pub.

2022-05-22 21:06:28 107

原创 命令行打开jupyter notebook在d盘

文章目录问题描述解决方法问题描述今天在想打开jupyter notebook 在D盘的时候找不到特定的命令行解决方法打开cmd命令行,输入以下代码:jupyter notebook D:

2022-05-20 15:41:51 365

原创 Spring—注解开发

1、注解驱动的意义1.1 什么是注解驱动注解启动时使用注解的形式替代xml配置,将繁杂的spring配置文件从工程中彻底消除掉,简化书写1.2 注解驱动的弊端 为了达成注解驱动的目的,可能会将原先很简单的书写,变的更加复杂 XML中配置第三方开发的资源是很方便的,但使用注解驱动无法在第三方开发的资源中进行编辑,因此会增大开发工作量 2 常用注解2.1 启动注解功能 在 applicationContext 即 spring配置文件中,启动注解...

2022-05-20 11:26:56 139

原创 AOP—面向切面编程

1 AOP简介1.1 OOP开发思路1.2 AOP开发思想1.3 AOP概念 AOP(Aspect Oriented Programing)面向切面编程,一种编程范式,隶属于软工范畴,指导开发者如何组织程序结构 AOP弥补了OOP的不足,基于OOP基础之上进行横向开发 uOOP规定程序开发以类为主体模型,一切围绕对象进行,完成某个任务先构建模型 uAOP程序开发主要关注基于OOP开发中的共性功能,一切围绕共性功能进行,完成某个任务先构建可能遇到的

2022-05-20 11:25:45 909

原创 java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/J

文章目录问题描述原因解决办法问题描述用IDEA搭建maven web项目,跑起来的时候报错了……纠结了好半天,是关于servlet包加载的问题后台报错如下java.lang.LinkageError: loader constraint violation: loader (instance oforg/apache/jasper/servlet /JasperLoader) previously initiated loading for a different type w.

2022-05-19 08:45:43 1423

原创 远程调用别的服务(nacos)

nacos的使用

2022-03-03 15:38:14 1020

原创 Maven

1.Maven简介1.1 Maven是什么在学习Maven之前,我们先来看一下我们现在做的项目都有哪些问题。假设你现在做了一个crm的系统,项目中肯定要用到一些jar包,比如说mybatis,log4j,JUnit等,除了这些之外,你有可能用到你的同事开发的其他的东西,比如说别人做了一个财务模块或做了一个结算的模块,你在这里边有可能要用到这些东西。假如有一天你们的项目中mybatis进行了一个升级,但是它内部使用的JUnit没有升级,你升级以后的mybatis...

2021-12-04 18:17:30 157

原创 EL表达式 & 过滤器 & 监听器

1.1 EL表达式1.1.1 EL表达式介绍基本概念:EL表达式,全称是Expression Language。意为表达式语言。它是Servlet规范中的一部分,是JSP2.0规范加入的内容。作用:用于在JSP页面中获取数据,从而让我们的JSP脱离java代码块和JSP表达式。基本语法:EL表达式的语法格式非常简单,写为 ${表达式内容}假定,我们在请求域中存入了一个名称为message的数据(`request.setAtt...

2021-11-22 20:51:59 363

原创 Cookie & Session & JSP

1 会话技术1.1 会话管理概述1.1.1 什么是会话这里的会话,指的是web开发中的一次通话过程,当打开浏览器,访问网站地址后,会话开始,当关闭浏览器(或者到了过期时间),会话结束。举个例子:例如,你在给家人打电话,这时突然有送快递的配送员敲门,你放下电话去开门,收完快递回来后,通话还在保持中,继续说话就行了。​1.1.2 会话管理作用什么时候会用到会话管理呢?最常见的就是购物车,当我们登录成功后,把商品加入到购物车之中,此时我们无...

2021-11-15 19:58:54 123

原创 Servlet

1、Servlet1.1 Servlet概述Servlet是SUN公司提供的一套规范,名称就叫Servlet规范,它也是JavaEE规范之一。我们可以像学习Java基础一样,通过API来学习Servlet。这里需要注意的是,在我们之前JDK的API中是没有Servlet规范的相关内容,需要使用JavaEE的API。目前在Oracle官网中的最新版本是[JavaEE8](https://www.oracle.com/technetwork/java/javaee/documentati...

2021-11-08 11:10:19 288

原创 MyBatis-Plus

1、了解Mybatis-Plus 1.1Mybatis-Plus介绍 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。官网:https://mybatis.plus/ 或 https://mp.baomidou.com/ 愿景:我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。1.2特性 无侵入:...

2021-10-28 20:53:18 5637

原创 JDBC(Java数据库连接)

1、JDBC快速入门1.1 jdbc的概念- JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问,它是由一组用Java语言编写的类和接口组成的。1.2 jdbc的本质- 其实就是java官方提供的一套规范(接口)。用于帮助开发人员快速实现不同关系型数据库的连接!1.3 jdbc的快速入门程序1.3.1 导入jar包1.3.2 注册驱动Class.forNa..

2021-10-19 21:22:59 596

空空如也

空空如也

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

TA关注的人

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