学习笔记
蜗牛1T
中山大学计算机系网络工程专业本科毕业。
2010年加入金山安全至今,专注前端开发,PHP和NodeJS也有所涉猎。
喜欢关注业界动态,乐于学习新技术,有代码洁癖强迫症,追求高质量高效率的代码。
欢迎关注微信公众号《前端分享吧》
展开
-
终于看明白cookie了
文章目录cookie的介绍cookie的作用cookie的分类cookie的特性后端通过http头设置请求时通过http头传给后端前端可读写遵守同源策略Cookie 的属性Expires,Max-AgeDomainPathSecureHttpOnlySameSiteSameSite 的作用SameSite 的值跨站的判断cookie的介绍我们都知道HTTP协议是无状态的,这种无状态意味着程序需要验证每一次请求,从而辨别客户端的身份。Cookie,就是为了辨别客户端身份而储存在客户端本地的数据。Coo原创 2020-07-07 18:11:53 · 1107 阅读 · 1 评论 -
JS中的descriptor
JS中的descriptor,属性描述对象,在Object.defineProperty()中会用到,其值如下:{ value: 属性值, enumerable: false, // 是否可枚举 configurable: true, // 是否可配置 writable: true // 是否可写}...原创 2020-04-25 21:51:33 · 973 阅读 · 0 评论 -
Webpack 按需打包 Loadsh
Loadsh 是一个一致性、模块化、高性能的 JavaScript 实用工具库。在数据操作时,我们经常会用的 loadsh 封装好的一些工具方法,但是并不想把整个包打包进项目里面。以下提供几个按需打包 lodash 的方法。使用方法:import {isEmpty, isObject, cloneDeep} from 'lodash';存在问题:当我们仅使用 lodas...原创 2019-11-07 14:08:53 · 1757 阅读 · 0 评论 -
webpack-bundle-analyzer 打包文件可视化分析工具的安装使用
1 安装依赖首先安装webpack-bundle-analyzernpm install --save-dev webpack-bundle-analyzer大多数情况下,在windows平台下使用类似于: NODE_ENV=production的命令行指令会卡住。cross-env能跨平台地设置及使用环境变量npm install --save-dev cross-env...原创 2019-11-04 15:34:33 · 2769 阅读 · 1 评论 -
技术备忘本
1、JS中,通过var,const或let关键字声明的变量无法用delete操作符来删除,delete操作符只能删除对象的属性。2、import命令是编译阶段执行的,在代码运行之前。因此这意味着被导入的模块会先运行,而导入模块的文件会后执行。这是CommonJS中require()和import之间的区别。使用require(),您可以在运行代码时根据需要加载依赖项。3、np...原创 2019-07-26 20:27:25 · 99 阅读 · 0 评论 -
JavaScript任务队列的顺序机制(事件循环)
同步与异步模式简介我们知道,Javascript语言的执行环境是单线程(single thread)的。所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就...原创 2019-05-28 19:35:06 · 7910 阅读 · 7 评论 -
关于JS字面量及其相关的一些小知识点
字面量:用来为变量赋值时的常数量。对象字面量对象字面值是封闭在花括号对({})中的一个对象的零个或多个"属性名:值"列表。var person={ "name":"Jack", "age":29, 5:true // 这里的数值属性,不能使用传统的点访问符,需要使用数组访问符}console.log(person.name) // Jackco...原创 2019-05-26 11:34:46 · 317 阅读 · 0 评论 -
RESTful API 最佳实践
RESTful是目前最流行的 API 设计规范,用于 Web 数据接口的设计。它的大原则容易把握,但是细节不容易做对。本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。一、URL 设计1.1 动词 + 宾语RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。比如,GET /articles这个命令,GET是动词,/...转载 2019-05-16 16:53:25 · 77 阅读 · 0 评论 -
https加解密过程详解和TLS证书验证
定义HTTPS是HTTP over SSL的简称,即工作在SSL上的HTTP,也就是加密通信的HTTP。工作原理HTTPS在通信过程中使用的是对称加密,当然,它的密钥是无法直接获取的,因为它的密钥是通过非对称加密进行传输的,中间还有很多复杂的过程,保证密钥是绝对安全的。先简单看下https的加密过程,如下图:文字描述一下这个过程,就是: 1.客户端访问 http...转载 2019-05-16 12:50:42 · 3466 阅读 · 0 评论 -
10分钟彻底搞懂Http的强制缓存和协商缓存
一 强制缓存强制缓存整体流程比较简单,就是在第一次访问服务器取到数据之后,在过期时间之内不会再去重复请求。实现这个流程的核心就是如何知道当前时间是否超过了过期时间。强制缓存的过期时间通过第一次访问服务器时返回的响应头获取。在http 1.0和http 1.1版本中通过不同的响应头字段实现。http 1.0在http 1.0版本中,强制缓存通过Expires响应头来实...转载 2019-04-28 17:16:07 · 1210 阅读 · 0 评论 -
Flex 布局教程:语法篇
网页布局(layout)是 CSS 的一个重点应用。布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地...转载 2019-02-24 23:17:40 · 238 阅读 · 0 评论 -
Flex 布局教程:实例篇
一、骰子的布局骰子的一面,最多可以放置9个点。下面,就来看看Flex如何实现,从1个点到9个点的布局。你可以到codepen查看Demo。如果不加说明,本节的HTML模板一律如下。<div class="box"> <span class="item"></span></div>上面代码中,div元素(代表...转载 2019-03-05 17:56:49 · 140 阅读 · 0 评论 -
关于布局
转载 2019-03-05 23:10:21 · 102 阅读 · 0 评论 -
关于小程序
转载 2019-03-05 23:19:53 · 161 阅读 · 0 评论 -
未来必热:SVG Sprite技术介绍(转自张鑫旭-鑫空间-鑫生活)
一、Sprite技术这里所说的Sprite技术,没错,类似于CSS中的Sprite技术。图标图形整合在一起,实际呈现的时候准确显示特定图标。另,本文图片甚多,爪机党继续浏览需慎重。二、SVG Sprite与symbol元素目前,SVG Sprite最佳实践是使用symbol元素。symbol元素是什么呢?单纯翻译的话,是“符号”的意思。然,这个释义并不符合这里的场景。不知大家有没有...转载 2019-03-09 23:13:15 · 2702 阅读 · 0 评论 -
Javascript原型小结
实例上的__proto__指向原型上的prototype,prototype和__proto__的区别:实例.__proto__ === 原型.prototype 凡是通过new Function()创建的对象都是函数对象,其他的都是普通对象 每个对象都有__proto__属性,但只有函数对象才有 prototype 属性,这都是js解释器自动加上的 所有函数对象的__proto__都指向 ...原创 2019-04-08 18:14:41 · 84 阅读 · 0 评论 -
无法将“webpack”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
背景环境:1、并没有全局安装webpack和webpack-cli 2、项目没有安装其他模块1、运行“npm install webpack webpack-cli -D”安装webpack和webpack-cli包到项目。版本如下:2、项目根目录下创建webpack.config.js// 向外暴露一个打包的配置对象// 因为 webpa...原创 2019-05-02 16:07:39 · 24193 阅读 · 11 评论 -
ES6中 import 和 export 的一些小总结
ES6之前已经出现了js模块加载的方案,最主要的是CommonJS和AMD规范。CommonJS主要应用于服务器,实现同步加载,如nodejs。AMD规范应用于浏览器,如requirejs,为异步加载。同时还有CMD规范,为同步加载方案如seaJS。ES6在语言规格的层面上,实现了模块功能,而且实现得相当简单,完全可以取代CommonJS和AMD规范,成为浏览器和服务器通用的模块解决方案。...原创 2019-04-23 17:10:43 · 1095 阅读 · 0 评论 -
ES6项目构建
ES6项目主要按以下几大步骤走:基础架构 任务自动化 编译工具 代码实现1、基础架构主要分以下三大块:业务逻辑:包括页面和交互 自动构建:包括编译和辅助,辅助包括自动刷新、文件合并、资源压缩 任务自动化gulp 编译工具(babel、webpack)服务接口:包括数据和接口2、开始架构(创建目录) 1)项目根目录下创建pack...原创 2019-04-19 15:52:18 · 500 阅读 · 0 评论 -
微信小程序笔记
微信小程序账号与工具在线文档:https://mp.weixin.qq.com/debug/wxadoc/dev/小程序开发者账号注册微信公众平台:https://mp.weixin.qq.com/小程序开发者账号注册:https://mp.weixin.qq.com/wxopen/waregister?action=step1微信开发者工具微信开发者工具:https://mp.wei...转载 2019-02-24 23:43:45 · 223 阅读 · 0 评论