自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

WindrunnerMax

自从厌倦于追寻,我已学一觅即中;当一股逆风袭来,我已能抵御八面来风,驾舟而行。

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

原创 HTTP协议发展历程

HTTP协议发展历程HTTP超文本传输协议是一个用于传输超文本文档的应用层协议,它是为Web浏览器与Web服务器之间的通信而设计的,HTTP协议到目前为止全部的版本可以分为HTTP 0.9、HTTP 1.0、HTTP 1.1、HTTP 2.0、HTTP 3.0,其中现在普遍应用的版本是HTTP 1.1版本,正在推进HTTP 2.0版本,以及未来的HTTP 3.0版本。HTTP 0.9HTTP...

2020-04-30 14:14:10 1313

原创 Js箭头函数

Js箭头函数箭头函数是ES6新增的语法,提供了一种更加简洁的函数书写方式,类似于匿名函数,并且简化了函数定义。完整写法完整写法类似于匿名函数,省略了function关键字。var s = (a,b) => { console.log(a, b); // 1 2 return a + b;}s(1,2);// 相当于var s = function(a,b) ...

2020-04-29 14:07:52 3190 2

原创 RESTful架构与RPC架构

RESTful架构与RPC架构在RESTful架构中,关注点在于资源,操作资源时使用标准方法检索并操作信息片段,在RPC架构中,关注点在于方法,调用方法时将像调用本地方法一样调用服务器的方法。RESTful架构REST即表述性状态传递Representational State Transfer,是一种软件架构风格,也可以称作是一种设计API的模式,REST通过HTTP协议定义的通用动词方法...

2020-04-28 14:50:29 1191

原创 CSS3新特性

CSS3新特性CSS3是最新的CSS标准,旨在扩展CSS2.1。圆角通过border-radius属性可以给任何元素制作圆角。border-radius: 所有四个边角border-*-*-radius属性的缩写。border-top-left-radius: 定义了左上角的弧度。border-top-right-radius: 定义了右上角的弧度。border-bottom-ri...

2020-04-27 14:24:36 1243

原创 YOLOV3目标检测模型训练实例

YOLO3目标检测实现目标为识别空教室人数以及教室占用状态,计算教室置空率DEMO测试YOLO提供了模型以及源码,首先使用YOLO训练好的权重文件进行快速测试,首先下载权重文件https://pjreddie.com/media/files/yolov3.weights将yolo3的版本库clone到本地,本次测试的commit id为e6598d1git clone git@git...

2020-04-26 18:04:18 4531 2

原创 HTML5新特性

HTML5新特性HTML5是下一代HTML标准,是HTML最新的修订版本,2014年10月由万维网联盟W3C完成标准制定,HTML5将HTML从用于构造一个文档的一个简单标记,到一个完整的应用程序开发平台,HTML5还包括新元素和用于增强存储、多媒体和硬件访问的JavaScript APIs。新增语义化标签<header>: 页眉通常包括网站标志、主导航、全站链接以及搜索框。...

2020-04-26 13:59:30 1160

原创 Js严格模式

Js严格模式JavaScript严格模式strict mode,即在严格的条件下运行。严格模式消除了Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;消除代码运行的一些不安全之处,保证代码运行的安全;提高了引擎的效率,增加运行速度;为未来新的Js版本做好铺垫。实例针对整个脚本文件启用严格模式"use strict";x = 1; // Uncaught Referenc...

2020-04-25 12:39:18 2141

原创 浏览器页面呈现过程

浏览器页面呈现过程从输入链接到浏览器呈现页面的过程中,浏览器所经历的过程。DNS解析首先浏览器将输入的链接进行DNS解析,也就是将域名转换为IP地址的过程,得到了服务器具体的IP地址,才可以进行TCP链接以及数据的传输。具体DNS解析的过程,浏览器首先检查自身的DNS缓存是否对于此域名有IP地址,chrome对于域名解析的缓存时间为60s,可以通过地址栏输入chrome://net-int...

2020-04-24 11:54:20 1524 1

原创 Function与Object

Function与ObjectJavaScript中内置了两个顶级对象Function、Object,Object是所有对象的基类,而所有的构造函数同时又是Function对象的实例。ObjectJavaScript中的所有对象都来自Object,所有对象从Object.prototype继承方法和属性,尽管它们可能被覆盖,例如其他构造函数在原型中实现自己的toString()方法。Obje...

2020-04-23 12:38:38 1292

原创 前端性能优化方案

前端性能优化方案前端资源比较庞大,包括HTML、CSS、JavaScript、Image、Flash、Media、Font、Doc等等,前端优化相对比较复杂,对于各种资源的优化都有不同的方式,按粒度大致可以分为两类,第一类是页面级别的优化,例如减小HTTP请求数、脚本的无阻塞加载、内联脚本的位置优化等,第二类则是代码级别的优化,例如JavaScript中的DOM操作优化、图片优化以及HTML结构...

2020-04-22 13:57:21 1257

原创 CSS引入方式

CSS引入的方式将CSS作用到HTML主要有四种方式,分别为HTML元素添加内联样式、<style>标签嵌入样式、<link>标签引入外部样式、@import导入外部样式。内联方式<div style="color: red"></div>特点不需要额外的HTTP请求。适合HTML电子邮件与富文本编辑器的使用。内联样式比外部样式具有...

2020-04-21 11:51:32 1237

原创 浏览器事件

浏览器事件常用浏览器事件与DOM事件,包括鼠标事件、键盘事件、框架/对象事件、表单事件、剪贴板事件、打印事件、拖动事件、多媒体事件、动画事件、过渡事件。浏览器事件加载相关onbeforeunload: 该事件在即将离开页面(刷新或关闭)时触发。onload: 文档加载完成后触发。onunload: 当窗口卸载其内容和资源时触发。onerror: 当发生JavaScript运行时错误...

2020-04-20 13:40:41 2076

原创 Js继承的实现方式

Js继承的实现方式继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。原型链继承通过将子类的原型对象指向父类的实例,实现继承访问父类属性方法等// 定义父类function Parent(){ this.name = "parent"; this.say = function()...

2020-04-19 12:38:00 1344

原创 Js数组操作

Js数组操作JavaScript数组操作,主要包括Array对象原型方法以及常用操作如去重、扁平化、排序等。Array.prototypeforEachArray.prototype.forEach()arr.forEach(callback(currentValue [, index [, array]])[, thisArg])callback 为数组中每个元素执行的函数,该函数接...

2020-04-18 15:18:16 1387

原创 TCP与UDP异同

TCP与UDP异同TCP/IP模型的运输层有两个不同的协议:UDP用户数据报协议与TCP传输控制协议相同点TCP与UDP都是运行在运输层的协议TCP与UDP的通信都需要开放端口不同点TCPTCP是面向连接的协议,提供全双工通信,需要建立链接之后再传输数据,数据传输负载相对较大。TCP提供可靠交付的服务,使用流量控制和拥塞控制等服务保证可靠通信。TCP首部最小20字节,最大6...

2020-04-17 22:56:38 1513

原创 Js异步机制的实现

Js异步机制JavaScript是一门单线程语言,所谓单线程,就是指一次只能完成一件任务,如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。这种模式的好处是实现起来比较简单,执行环境相对单纯,坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应也就是假死状态,往往就是因为某一段Javascript代码长时间运行比如死循环,导致...

2020-04-16 12:43:31 1493 1

原创 Canvas基础

Canvas基础HTML5中引入<canvas>标签,用于图形的绘制,<canvas>为图形的绘制提供了画布,是图形容器,具体的图形绘制由JavaScript来完成。实例<!-- 绘制冒泡效果 --><!DOCTYPE html><html><head> <title>Canvas</ti...

2020-04-15 14:17:01 1311

原创 SVG基础

SVG基础SVG可缩放矢量图形Scalable Vector Graphics是基于可扩展标记语言XML,用于描述二维矢量图形的一种图形格式。SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式,SVG于2003年成为W3C推荐标准。示例<?xml version="1.0" standalone="no"?><!DO...

2020-04-14 12:24:48 1312

原创 作用域与作用域链

作用域与作用域链通常来说,一段程序代码中所用到的名字并不总是有效或可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域scope。当一个方法或成员被声明,他就拥有当前的执行上下文context环境。在有具体值的context中,表达式是可见也都能够被引用。如果一个变量或者其他表达式不在当前的作用域,则将无法使用。作用域也可以根据代码层次分层,以便子作用域可以访问父作用域,通常是指沿着链式...

2020-04-13 19:57:09 4526

原创 TCP三次握手

TCP三次握手传输控制协议TCP,Transmission Control Protocol是一种面向连接的、可靠的、基于字节流的传输层通信协议,其是运行在OSI七层模型中的运输层,为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。三次握手过程client server主动打开 → ...

2020-04-12 14:37:32 1540

原创 let与const

let与constES2015(ES6)新增加了两个重要的JavaScript关键字: let和const。块级作用域代码块内如果存在let或者const,代码块会对这些命令声明的变量从块的开始就形成一个封闭作用域。{ let a = 1; var b = 2; function s(){return a;} console.dir(s); /* ...

2020-04-11 12:07:42 1301

原创 Js模块化导入导出

Js模块化导入导出CommonJs、AMD、CMD、ES6都是用于模块化定义中使用的规范,其为了规范化模块的引入与处理模块之间的依赖关系以及解决命名冲突问题,并使用模块化方案来使复杂系统分解为代码结构更合理,可维护性更高的可管理的模块。CommonJSCommonJS是NodeJs服务器端模块的规范,根据这个规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是...

2020-04-10 17:50:05 1901

原创 分布式SESSION一致性

分布式SESSION一致性SESSION是服务器为客户端创建的一个会话,存储用户的相关信息,用以标识用户身份等。在单服务器环境下是不需要考虑会话的一致性的问题的,但是在集群环境下就会出现一些问题,假如一个用户在登录请求时负载均衡到了A服务器,A服务器为其分配了SESSION,下次请求数据时被分配到了B服务器,此时由于B服务器不存在此用户的SESSION,此用户会被重定向到登录页面,这种情况是不合...

2020-04-09 22:28:11 1269

原创 JSON WEB TOKEN (JWT)

JSON WEB TOKENJSON WEB TOKEN简称为JWT,是一个基于JSON的开放标准,用于通信双方之间传递安全信息的简洁的、URL安全的表述性声明规范,经常用于身份验证。结构JWT有三部分组成,他们之间用.分隔,这三部分分别是Header、Payload、Signature,结构如下Header.Payload.Signature在jwt.io给予的实例eyJhbGci...

2020-04-08 12:17:27 1353

原创 Table布局

Table布局<table>最常用的也是最正确的使用方法是制作表格,由于其对占据的空间有着划分的作用,便可以使用<table>来布局。实例实现一个简单的布局,将表格的border、cellpadding、cellspacing全部设置为0,表格的边框和间距就不占有页面空间,它只起到划分空间的作用,如果布局复杂,可以在单元格中再嵌套表格,单元格中的元素或者嵌套的表格用a...

2020-04-07 11:10:05 1561

原创 GRID布局

GRID布局目前CSS布局方案中,网格布局可以算得上是最强大的布局方案了。它可以将网页分为一个个网格,然后利用这些网格组合做出各种各样的布局。Grid布局与Flex布局有一定的相似性,都可以指定容器内部多个成员的位置。不同之处在于,Flex布局是轴线布局,只能指定成员针对轴线的位置,可以看作是一维布局。Grid布局则是将容器划分成行和列,产生单元格,然后指定成员所在的单元格,可以看作是二维布局。...

2020-04-06 13:36:28 1542

原创 三种方式实现轮播图功能

手动实现轮播图使用纯HTML、CSS、JavaScript实现轮播图功能position使用position的绝对定位与相对定位实现轮播图,首先将图片全部拼接成为一行,使用overflow: hidden;将其他图片隐藏,将这一行图片加入定时任务不断进行左移,从而只显示中间的图片,对于边缘特殊处理,将第一张轮播图追加到一行图片之后,当切换到最后一张轮播图时,下一张即播放第一张图,当此图轮播完...

2020-04-05 17:13:24 2064

原创 FLEX布局

FLEX布局FLEX布局也称弹性布局,可以为盒状模型提供最大的灵活性,是布局的首选方案,现已得到所有现代浏览器的支持。基础通过指定display: flex来标识一个弹性布局盒子,称为FLEX容器,容器内部的盒子就成为FLEX容器的成员,容器默认两根轴线,水平的主轴与垂直的交叉轴,主轴的开始位置叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start...

2020-04-04 13:25:30 1443

原创 JavaScript选择器

Js选择器JS选择器常用的有getElementById()、getElementsByClassName()、getElementsByName()、getElementsByTagName()、querySelector()、querySelectorAll()getElementById通过id来定位,返回对指定id的第一个对象的引用,返回类型为HTMLDivElement。<...

2020-04-03 11:50:34 1467

原创 Js中==与===

Js中==与===JavaScript中提供==相等运算符与===严格相等运算符,建议是只要变量的数据类型能够确定,一律使用=====相等运算符==在判断相等时会进行隐式的类型转换, 其比较遵循一些原则,即先转换类型再比较如果有一个操作数是布尔值,则在比较相等性之前先将其转换为数值,即是调用Number()方法如果一个操作数是字符串,另一个是数值,在比较相等性之前先将字符串转换为数值,...

2020-04-02 14:10:21 1308

原创 Generator函数

Generator函数生成器generator是ES6标准引入的新的数据类型,一个generator看上去像一个函数,但可以返回多次,通过yield关键字,把函数的执行流挂起,为改变执行流程提供了可能,从而为异步编程提供解决方案。方法Generator.prototype.next():返回一个由yield表达式生成的值。Generator.prototype.return():返回给定...

2020-04-01 12:24:06 1457

空空如也

空空如也

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

TA关注的人

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