自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

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