自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

996程序员的自我修养

秃young 秃simple

  • 博客(60)
  • 收藏
  • 关注

原创 Array变化侦测

1.为什么Array的侦测要和Object的侦测区分实现呢?Object是通过getter、setter实现的侦测,但数组中使用push等方法改变数组时,不会触发getter、setter在数组中的元素如果是个对象,也要对他们的子属性进行监听。在数组新增一个对象元素时,也要对新增的元素进行监听。虽然Array的原型最终还是Object,但是正是由于Array的这些特性,导致了对Object的那一套侦测方式无法直接使用在数组Array中。2.Array对象中包含了什么?想要对Array进行监听

2021-07-29 19:38:06 234

原创 Object 的变化侦测

是什么是指在数据状态发生变化时,让对应的重新DOM渲染。这里我们首先了解对象(Object)变化时,怎么通知到外界的。(1)简单来看,第一次渲染的时候数据传递就是这样一个过程这里的外界,指的是要渲染的模板,或者要暴露出去的watch监听方法等。(2)当数据发生变化时,要让外界知道数据的变化。所以数据和外界的关系应当如下。(3)然后就是怎么通知的问题了,这就是我们这次要将的Object变化侦测,就是要监听数据的变化,并且通知到外界。这个监听器我们暂且定义为watcher。watcher监听着数据

2021-07-28 17:53:31 221

原创 js中的事件

事件内容复杂,总体知识结构为:一、事件流二、事件处理程序三、模拟事件四、事件类型

2021-06-20 18:41:09 134

原创 DOM-文档对象模型

一、Node类型二、Element类型三、Document类型

2021-06-20 18:28:26 174

原创 客户端检测

2021-06-20 18:21:58 65

原创 BOM-浏览器对象模型

2021-06-20 18:19:58 77

原创 函数表达式

2021-06-20 18:17:55 61

原创 面向对象程序设计

许多熟悉java开发的大佬们,对面向对象这个词一定不陌生,它的具体概念就不做过多介绍了。主要从以下三个方面认识:一、对象属性这里有个疑问,如果有大佬知道的,麻烦在评论区为我解惑:能否把属性修改为访问器属性?二、对象创建以下介绍了几种创建对象的模式三、对象继承...

2021-06-20 18:15:41 48

原创 Js中的引用类型

引用类型包含的内容比较多,主要分为:基本包装类型Date类型数组类型Function类型RegExp类型表单内置对象一、 基本包装类型二、Date类型三、数组类型四、 Function类型五、RegExp类型正则比较常见,就不做过多的总结了六、 表单内置对象...

2021-06-20 18:06:33 188

原创 变量,运用域和内存

2021-06-20 17:51:02 52

原创 Javascript简介

下面是对JS的以及基本介绍和认识。(充不起VIP,导出有水印。请见谅)

2021-06-20 17:47:03 42

原创 发布订阅模式

一、是什么就好比你在微博上关注了一个人,然后他每次发动态的时候,你都能收到消息提示。这就是发布订阅模式,博主就是发布者,你就是订阅者。博主的粉丝就是发布者的缓存列表,每当他发表说说后,就会遍历粉丝列表,通知所有的订阅者(就是粉丝)。二、作用和应用松耦合发布者和订阅者互相独立运行。能够解决负载问题。方便维护。应用常见应用有 图片或模块懒加载。层级复杂的组件之间通信。三、实现方式实现思路:创建一个对象在该对象上创建缓存列表on 方法用来把函数 fn 都加到缓存列表中(订阅者注册事件到调

2021-06-16 21:46:54 73

原创 H5和安卓交互时,H5渲染滞后的坑

一、H5页面和安卓如何交互的1.为什么会有h5和安卓的交互?在手机app中,有时候需要在app中嵌入h5网页,能增加app的跨平台性,也就是相同的h5也可以嵌在ios平台。减少跨平台的开发成本。同时,也能增强响应速度,减少内存消耗等优点。2.如何交互?主要在app中镶嵌webview的方式。webview可以看做一个内置浏览器,在webview中通过链接进入页面。h5调移动端:在app中定义一个全局方法A,h5去调用。移动端调h5:相同的,在h5 中定义一个全局方法B,然后app中调用。

2021-04-30 13:57:35 868

原创 iview实现表格动态添加输入框校验

需求描述1.有一个表格,里面能展示原有数据,同是也能在表格中动态增加一行输入框2.增加的每个输入框,要动态添加表格的验证,以及表单数据的绑定3.为了样式统一,使用iview的ui框架主要难点让表格中同时展示原有数据和新增的输入框新增的输入框,动态绑定表单数据输入框动态增加校验实现方式1.使用Table组件,创建表格,绑定好表格列的定义, 使用tableColums变量表示<Table :columns="tableColums"> </Tabl

2021-03-08 14:26:47 3350

原创 如何在前端web服务器中,打印出用户操作网页痕迹的操作日志

一、背景由于前端项目是静态文件,是在浏览器端运行,如果要打日志到服务器,无法直接通过某些工具完成。只有那些运行在服务器端的程序,如后台程序,才能直接的在服务器端打印日志。但是我们必须要记录下前端页面的操作轨迹,就必须另辟蹊径了。二、探索结果1.从apache的日志入手通过查阅资料,发现apache服务器或者nginx服务器都能够记录前端发送到服务器的请求。并能记录请求的url连接,请求时间,客户端浏览器等信息。2.通过请求的URL记录日志所以,我们可以通过前端请求的url来记录日志。将日志写在u

2020-12-21 16:28:48 4000

原创 解决VUEX刷新store消失的问题

现象,在设置好store之后,刷新页面,store中的内容会消失解决在刷新前将store中的内容添加到sessionStorage,例如,可以在App.vue的created() 方法中添加如下内容// 在页面加载时读取sessionStorage里的状态信息 if (sessionStorage.getItem('store')) { // 存储状态 this.$store.replaceState(Object.assign({}, this.$store.stat

2020-12-21 16:24:31 1098

原创 vue-cli脚手架安装jest单元测试,运行异常解决办法

利用vue-cli搭建了一个demo工程,在选项里选择了单元测试跟jest框架,npm install完成,npm run dev 也OK,但是npm run unit,报错了解决:此属性已移除,详细可以见 https://jestjs.io/docs/en/configuration 官方公布的属性,在test/unit/jest.conf.js找到并删除该属性问题2:localStorage is not available for opaque origins解决:在jest.config.

2020-12-21 15:30:13 608

原创 Vue 组件多级继承、继承全部属性

核心方法在B组件中添加v-bind="$attrs" 和 v-on="$listeners"两个属性即可`A 组件中:<B v-bind="$attrs" v-on="$listeners></B>这样在A中就能使用B的属性和绑定的方法了如果想详细理解,请继续阅读一、关于组件之间的通信组件之间相互传递数据、方法,就可以理解为组件之间的通信。比如A组件传一个对象给B组件,这就是通信。二、组件之间通信的常见方式使用props或vuex可以实现。具体实现可参考:但

2020-12-21 15:00:07 4828

原创 Vue 中v-model双向绑定的实现

方式一:定义一个子组件:命名为child.vue<template> <div> <p>子组件当前的值:{{num}}</p> <button @click="btnClick">增加</button> </div></template><script>export default { name: 'child', props: { v

2020-12-09 09:08:29 130

原创 vue 表格大量数据展示时,页面卡顿问题解决

解决方案参考:https://blog.csdn.net/tzllxya/article/details/90676040?utm_medium=distribute.wap_relevant_download.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.wap_relevant_download.none-task-blog-baidujs-1.nonecase一、原因分析当页面表格出现大量数据时,页面中的DO

2020-12-08 14:36:50 6214

原创 Linux 中 sonar安装

1. 下载安装包下载地址: ftp.cqrd.com/software/sonarqube/sonarqube-5.6.zip2. 解压到任意目录下3. 启动Linux: 终端执行命令:sh 解压后的目录下/bin/linux-x86-32/sonar.sh start然后在浏览器中进入:localhost:90004. 登录找到login,并进入登录页面,默认用户名和密码都是admin5. 下载插件点击导航栏中的Administrator,然后点击 System-> Upda

2020-12-08 14:34:38 298

原创 linux远程免密登录服务器

目的:在本地直接使用 ssh xxxx@xx.xx.xx.xx 命令,不用输入密码,就能直接登录目标服务器假如A是远程服务器1. 现在A服务器上生成密钥执行命令:$ ssh-keygen -t rsa一路回车会在用户目录下生成.ssh文件夹可以查看该文件夹$ ll ~/.ssh-rw------- 1 leitao leitao 1.7K 6月 15 09:34 id_rsa-rw-r--r-- 1 leitao leitao 398 6月 15 09:34 id_rsa.p.

2020-12-08 14:32:41 132

原创 linux 解压命令小结

各种解压命令解压以**.tar**结尾的文件tar -xf all.tar解压以gz结尾的文件gzip -d all.gzgunzip all.gz解压以.tgz或**.tar.gz**结尾的文件tar -xzf all.tar.gztar -xzf all.tgz解压以**.bz2**结尾的文件bzip2 -d all.bz2bunzip2 all.bz2解压以.tar.bz2结尾的文件tar -xjf all.tar.bz2解压以**.Z**结尾的文件

2020-12-08 14:29:27 143

原创 js动态修改伪类的content

目的:为了在页面中动态改变某个标签的伪类中的content的内容。实际运用场景有,如输入框下方的输入错误提示可以使用伪类的方式实现,又要根据不通的错误提示不同的内容。主要使用 css中的 attr()方法<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, .

2020-12-08 14:10:37 2380

原创 apache启用web访问日志

一、在apache中配置日志记录1. 在conf/httpd.conf中配置对应的日志规则在该配置文件中,使用 : / 搜索LogFormat。就可以搜索到日志打印的格式设置 ... # 这种是组合日志格式 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined # 这种是通用格式 LogFormat "%h %l %u %t \"%r\" %>s %b" com

2020-12-08 14:03:05 986

原创 更改Ubuntu默认python版本的两种方法

1.使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用leitao@ubuntu:~$ ls /usr/bin/python*/usr/bin/python /usr/bin/python2.7 /usr/bin/python3.5 /usr/bin/python3m/usr/bin/python2 /usr/bin/python3 /usr/bin/python3.5m2.查看默认的 Python 版本信息leitao@ubuntu:~$ pytho

2020-12-08 11:23:15 210

原创 Linux搭建flask环境

0.什么是flask框架一句话:Flask 是一个微型的 Python 开发的 Web 框架1.使用python3.5 切换版本到3.5 。可以查看如何切换版本的笔记2.创建项目mkdir codeProjectpython -m venv venv如果上面的命令遇到问题说:available. On Debian/Ubuntu systems, you need to install the python3-venvpackage using the following comm

2020-12-08 11:22:09 764

原创 安装apr-util提示致命错误:expat.h:没有那个文件或目录

原因:缺少expat库解决:安装exppat库#yum install -y expat-devel安装成功后,再次编译即可

2020-12-08 11:18:13 1205

原创 Ubuntu下VMware 网络无法链接

问题描述在启动虚拟机后,虚拟机网络无法和宿主机建立连接。手动点击窗口右下角的network选项,点击connect,弹框提示Could not connect 'Ethernet0' to virtual network '/dev/vmnet8'. More information can be found in the vmware.log file. Failed to connect virtual device 'Ethernet0'.解决尝试运行:sudo vmware-netwo

2020-12-08 11:17:16 935

原创 JAVA面试题 2019-10-14

1.下面哪些是 Thread 类的方法A.start()B.run()C.exit()D.getPriority()答案:AB2.以下语句输出的结果是什么System.out.print(Integer.MAX_VALUE * 2);System.out.print(Integer.MIN_VALUE * 2);A. -2-1B. -1-2C. -20D. -1-1答案:...

2019-10-14 21:45:07 875

原创 2019-10-12

1.简述 SSH 的概念以及中主要的设计思想?ssh的概念: 是一个struts+spring+hibernate的一个集成框架。是一种web应用程序框架设计: 分为四层:表示层、业务逻辑层、数据持久层和域模块层。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理str...

2019-10-14 21:44:34 2457

原创 2019-10-08

1. java中length()和 length 有什么不同点java中的 length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.java中的 length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.2.关于 Web 应用程序,下列说法错误的是a) WEB-INF目录存在于web应用的根目...

2019-10-08 21:25:04 467

原创 2019-09-25

1.ThreadLoal的作用是什么?ThreadLocal不是用来解决共享对象的多线程访问问题的,通过ThreadLocal的set()方法设置到线程的ThreadLocal.ThreadLocalMap里的是是线程自己要存储的对象,其他线程不需要去访问,也是访问不到的。各个线程中的ThreadLocal.ThreadLocalMap以及ThreadLocal.ThreadLocal中的值都是...

2019-09-25 22:36:18 117

原创 2019-09-24

1.a=a+b与a+=b有什么区别吗?使用 a = a+b 时:int a = 2;int b = 3;a = a+b; 和 a += b 没有区别byte a = 1;byte b = 12;a = a + b; 会报错,而 a += b; 不会。因为当两个 byte、short 或者 int类型的数相加时,会将得到结果的类型强制转换为整型,然后在执行加法操作。但此处要将...

2019-09-24 22:34:02 139

原创 2019-09-23

1.一个.java源文件中是否可以包括多个类(不是内部类)?有什么限制?一个.java文件中可以包含多个类,但是只能有一个public类,且该public类的名字必须和文件名一致。2.下面哪个函数是public void example(){…}的重载函数?()A private void example(int m){…}B. public int example(){…}C. pub...

2019-09-23 21:44:18 241

原创 javax.crypto.BadPaddingException: Given final block not properly padded.报错解决

在使用 AES 对加密数据进行解密的时候出现了如下错误javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption. at com.sun.crypto.provider.CipherCor...

2019-09-23 09:51:10 12606

原创 2019-09-18

1.什么是原子操作,Java中的原子操作是什么?所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch。深入了解原子操作2. Java中的volatile关键是什么作用?volatile是Java提供的一种轻量级的同步机制。在并发编程的三个基本概念(原子性、可见性、有序性)中,volatile就保证了线程的可见性。当...

2019-09-18 23:05:04 235

原创 2019-09-16

1.现在有线程 T1、T2 和 T3。你如何确保 T2 线程在 T1 之后执行,并且 T3 线程在 T2 之后执行?可以用 Thread 类的 join 方法实现这一效果。thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。Join方法实现是通过wait实现的jion的使用方式,以下是没有使用jion的情况package com.springb...

2019-09-16 22:49:42 86

原创 2019-09-15

1. 父类与子类之间的调用顺序a) 父类静态代码块b) 子类静态代码块c) 父类构造方法d) 子类构造方法e) 子类普通方法f) 重写父类的方法,则打印重写后的方法2.内部类与外部类的调用内部类可以直接调用外部类包括private的成员变量,使用外部类引用的this.关键字调用即可而外部类调用内部类需要建立内部类对象3.说说多线程a)一个进程是一个独立的运行环境,可以看做...

2019-09-16 22:48:46 145

原创 2019-09-12

1.AOP与IOC的概念(即spring的核心)IOC:IOC控制反转,是指程序之间的关系是由容器控制的,容器控制对象,控制了对外部资源的获取。而反转即为,在传统的编程中都是由我们创建对象获取依赖对象,而在IOC中是容器帮我们创建对象并注入依赖对象,正是容器帮我们查找和注入对象,对象是被获取,所以叫反转**AOP:**面向切面编程,主要是管理系统层的业务,比如日志,权限,事物等。AOP是将封...

2019-09-12 23:41:05 163

空空如也

空空如也

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

TA关注的人

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