- 博客(11)
- 收藏
- 关注
原创 实现mini Vue
Observer进行数据劫持,Dep进行依赖收集,Watcher进行页面数据变化的监听,Compile对不同结点进行处理,初始化模板,更新模板等<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="v
2022-03-13 17:43:34
737
原创 JS继承方式
1.指定prototype继承但是这样有缺点,由于所有子类都共用父类的实例,当实例里的属性为引用值时,一个子类实例进行修改时,其他子类实例的属性也会被修改// 父类function Person(){ this.id = 0; this.books = ['js', 'java', 'python']}// 子类function Stu(id){ this.id = id;}// 令子类Stu的prototype指向父类的实例Stu.prototype =
2022-03-12 21:48:32
104
原创 浏览器安全
SYN攻击服务器端的资源分配是在二次握手时分配的,而客户端的资源是在完成三次握手时分配的,所以服务器容易受到SYN洪泛攻击。SYN攻击就是Client在短时间内伪造大量不存在的IP地址,并向Server不断地发送SYN包,Server则回复确认包,并等待Client确认,由于源地址不存在,因此Server需要不断重发直至超时,这些伪造的SYN包将长时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起网络拥塞甚至系统瘫痪。SYN 攻击是一种典型的 DoS/DDoS 攻击。 ...
2022-02-27 19:05:59
359
原创 js构建树形菜单
数据以数组形式存储,元素包括id和parentidvar data = [ { id: 1, name: "办公管理", pid: 0 }, { id: 2, name: "请假申请", pid: 1 }, { id: 3, name: "出差申请", pid: 1 }, { id: 4, name: "请假记录", pid: 2 }, { id: 5, name: "系统设置", pid: 0 }, { id: 6, name: "权限管理", pid
2022-02-27 17:17:59
1225
原创 手写实现Call Apply Bind
Function.prototype.call = function (obj, ...args) { if (typeof this !== 'function') { throw 'not a function'; } let fn = Symbol('fn'); obj[fn] = this; let res = obj[fn](...args); delete obj[fn]; return res;}Function.prototype.apply .
2022-02-26 20:13:38
135
原创 JS闭包理解
闭包通俗的理解就是上级作用域中的变量被下级作用域给引用,以至于上层函数返回时里面引用的变量生命周期没有结束,直到下层函数执行完后,才被释放。function counter(){ let count = 0; const increter = () => { count += 1; return count; } return increter;}let increment = counter()'let c1 = incr
2022-02-26 20:08:47
185
原创 快速排序与归并排序
let arr = [13, 2, 7, 21, 8, 65, 2, 0, 1, 9, 14, 7, 63]快速排序采用数组第一个元素作为基准,通过左右两个指针与基准进行大小比较(从左指针开始比较),交换数据进行指针移动,得到第一个元素的基准下标后,数组分成两部分,左右数组递归地进行基准确定function quickSort(arr, left, right) { if (left < right) { let pivot = partition(arr, l.
2021-09-24 21:34:10
98
原创 http与https的区别
1.HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。2.使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。3.HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 H
2021-09-17 20:02:46
85
原创 TCP 为什么是三次握手,而不是两次或四次?
client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文段后,就误认为是client再次发出的一个新的连接请求。于是就向client发出确认报文段,同意建立连接。假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送数据。但server却以为新
2021-09-17 19:55:53
74
原创 DarkNet53 pytorch实现
DarkNet53pytorch实现本文根据百度的目标检测教程实现,原文采用百度自己的Paddle框架实现,原文链接DarkNet53结构如下:代码: 导入包import torchimport torchvisionfrom torch import nn, optimfrom torch.nn import functional as Ffrom collections import OrderedDict 构建卷积归一化层,下采样层cla...
2020-08-31 20:40:41
713
原创 Latex安装教程
Latex安装以及IDETexStudio的下载,视频教程如下:https://www.bilibili.com/video/BV1tg4y1B7f3TexStudio下载地址:https://d.serctl.com
2020-07-06 21:35:06
369
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人