自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 问答 (3)
  • 收藏
  • 关注

原创 css面试题汇总(104道详解)

104道 CSS 面试题,助你查漏补缺(上)104道 CSS 面试题,助你查漏补缺(下)

2020-10-30 15:15:32 150

原创 https数字证书(CA证书)原理

目录1.基础知识1.1非对称加密算法(asymmetric key algorithms)1.2RSA简介1.3签名和加密2.一个加密通信过程的演化2.1 第一回合:2.2 第二回合:2.3 第三回合:2.4 第四回合:2.5 第五回合:2.6 完整过程:2.7 其它问题:3. 证书的构成和原理3.1 证书的构成和原理3.2 如何向证书的发布机构去申请证书3.3 证书的发布机构4. 在windows中对数字证书进行管理4.1 查看、删除、安装 数字证书4.2 如何自己创建证书1.基础知识1.1非对称加密

2020-10-27 17:00:41 2175

原创 MD5加密简介

目录特点关于撞库破解关于MD5加盐算法原理MD5全称:message-digest algorithm 5翻译过来就是:信息 摘要 算法 5特点长度固定:不管多长的字符串,加密后长度都是一样长作用:方便平时信息的统计和管理易计算:字符串和文件加密的过程是容易的.作用: 开发者很容易理解和做出加密工具细微性一个文件,不管多大,小到几k,大到几G,你只要改变里面某个字符,那么都会导致MD5值改变.作用:很多软件和应用在网站提供下载资源,其中包含了对文件的MD5码,用户下载后只需要用工具

2020-10-26 14:11:00 418

原创 前端要了解的数据结构基本知识

目录js数据类型堆栈空间分配区别:堆栈缓存方式区别:堆 、栈数据结构区别:数据结构数据结构分类逻辑结构:存储结构:线性结构 :非线性结构二叉树遍历js数据类型基本类型(栈 stack) : Number、String 、Boolean、Null 和 Undefined , Symbol(es6 新增); 基本数据类型是按值访问 由高向低分配,栈内存最大是 8MB,(超出报栈溢出), String:是特殊的栈内存 (向高分配大小不定),程序员分配引用类型(堆 heap) :Object 、Array

2020-10-23 17:16:37 414

原创 前端需要掌握的基础算法

目录排序基本排序算法冒泡排序选择排序插入排序高级排序算法快速排序希尔排序时间复杂度总结是否稳定辅助记忆递归Deep Clone实战例题Q1:Array数组的flat方法实现Q2 实现简易版的co,自动执行generatorQ3. 爬楼梯问题Q4.二分查找二叉树和二叉查找树树的基本概念二叉查找树二叉树的遍历中序遍历的实现前序遍历后序遍历二叉树的查找排序基本排序算法基本排序的基本思想非常类似,重排列时用的技术基本都是一组嵌套的for循环: 外循环遍历数组的每一项,内循环则用于比较元素。冒泡排序func

2020-10-23 11:26:09 3779 1

原创 前端面试复习必读文章【超三百篇】

参考原文JavaScript 基础1.1 执行上下文/作用域链/闭包理解 JavaScript 中的执行上下文和执行栈[1]JavaScript深入之执行上下文栈[2]一道js面试题引发的思考[3]JavaScript深入之词法作用域和动态作用域[4]JavaScript深入之作用域链[5]发现 JavaScript 中闭包的强大威力[6]JavaScript闭包的底层运行机制[7]我从来不理解JavaScript闭包,直到有人这样向我解释它…[8]破解前端面试(80% 应聘者不

2020-10-22 10:40:14 9171 1

原创 一文搞懂http和https

目录http历史HTTPSHTTP特点:HTTPS特点:HTTP通信传输HTTPS实现原理问题运用与总结http历史http:超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。版本产生时间内容发展现状HTTP/0.91991年不涉及数据包传输,规定客户端和服务器之间通信格式,只能GET请求没有

2020-10-20 14:13:16 121

原创 Base64加密原理和应用场景

目录Base64编码使用场景Base64编码原理Base64编码base64 最早就是用来邮件传输协议中的,原因是邮件传输协议只支持 ascii 字符传递,因此如果要传输二进制文件,如:图片、视频是无法实现的。因此 base64 就可以用来将二进制文件内容编码为只包含 ascii 字符的内容。我们知道在计算机中任何数据都是按ascii码存储的,而ascii码的128~255之间的值是不可见字符。而在网络上交换数据时,比如说从A地传到B地,往往要经过多个路由设备,由于不同的设备对字符的处理方式有一些不同

2020-10-20 13:51:06 656

原创 cdn加速原理浅析

目录CDNCDN相关技术1.负载均衡技术2.动态分发与复制技术3.缓存技术工作原理CDNCDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效率。从技术上全面解决

2020-10-20 11:13:32 292

原创 常见的几种WEB攻击

目录1.XSS攻击:2.CSRF攻击:3.SQL注入:4.文件上传漏洞:5.DDos漏洞:6.DNS Query Flood攻击:7.CC攻击:1.XSS攻击:指的是跨脚本攻击,指的是攻击者在网页中嵌套,恶意脚本程序,当用户打开网页时,程序开始在浏览器上启动,盗取用户的cooks,从而盗取密码等信息,下载执行木马程序。解决方法:XSS之所以会发生,是因为用户输入的数据变成了代码。因此,我们需要对用户输入的数据进行HTML转义处理,将其中的“尖括号”、“单引号”、“引号” 之类的特殊字符进行转义编码。

2020-10-20 11:07:29 1132

原创 浏览器渲染原理浅析

目录进程和线程的联系和区别浏览器的进程和线程浏览器的进程包括浏览器内核(渲染进程)Browser进程和浏览器内核(Renderer进程)的通信过程浏览器内核中线程之间的关系进程和线程的联系和区别官方的定义是:进程是cpu资源分配的最小单位(是能拥有资源和独立运行的最小单位),在一定的环境下,把静态的程序代码运行起来,通过使用不同的资源,来完成一定的任务。线程是cpu调度的最小单位(线程是建立在进程的基础上的一次程序运行单位,一个进程中可以有多个线程,个进程中的线程可以互相通信,共享内存等资源,不同

2020-10-20 11:01:53 231

原创 js数值精度和大数、小数计算

JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。根据国际标准 IEEE 754,JavaScript 浮点数的64个二进制位,从最左边开始,是这样组成的。第1位:符号位,0表示正数,1表示负数第2位到第12位:指数部分第13位到第64位:小数部分(即有效数字)符号位决定了一个数的正负,指数部分决定了数值的大小,小数部分决定了数值的精度。IEEE 754 规定,有效数字第一位默认总是1,不保存在64位浮点数之中。也就是说,

2020-10-19 16:22:02 1018

原创 一文搞懂垃圾回收机制

目录栈和堆垃圾回收算法第一步:标记空间中「可达」值。第二步:回收「不可达」的值所占据的内存。第三步,做内存整理。什么时候垃圾回收?分代收集主垃圾回收器副垃圾回收器分代收集增量收集闲时收集面试题1:浏览器怎么进行垃圾回收?面试题2:浏览器中不同类型变量的内存都是何时释放?面试题3:哪些情况会导致内存泄露?如何避免?闭包会导致内存泄露吗?面试题4:weakMap weakSet 和 Map Set 有什么区别?总结栈和堆Stack为自动分配的内存空间,它由系统自动释放;Heap则是动态分配的内存,大小不定

2020-10-19 16:04:02 409

原创 HTTP2.0详解

HTTP2.0和HTTP1.X相比的新特性新的二进制格式(Binary Format),HTTP1.x的解析是基于文本。与Http1.x(文本协议)不同,Http2是一个二进制协议,所有的消息被http2拆分封装成更小的消息单元帧,并进行二进制编码。其中http1.x的首部信息被封装成HEADER帧和CONTINUATION帧,请求体被封装到DATA帧,如下图所示:为什么使用二进制协议?二进制协议二进制协议一般消息头固定和消息体变长 ,每个字段固定了含义 ,其特点如下:可读性差,难于调试

2020-10-13 11:48:39 3003

原创 一文搞懂回流和重绘

浏览器的渲染过程解析HTML,生成DOM树,解析CSS,生成CSSOM树将DOM树和CSSOM树结合,生成渲染树(Render Tree)Layout(回流):根据生成的渲染树,进行回流(Layout),得到节点的几何信息(位置,大小)Painting(重绘):根据渲染树以及回流得到的几何信息,得到节点的绝对像素Display:将像素发送给GPU,展示在页面上。(这一步其实还有很多内容,比如会在GPU将多个合成层合并为同一个层,并展示在页面中。而css3硬件加速的原理则是新建合成层,这里我们不

2020-10-13 09:48:11 192

空空如也

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

TA关注的人

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