4 huangpb0624

尚未进行身份认证

hpb0624.cn

等级
TA的排名 9k+

Homebrew - Mac必备软件包管理工具

Homebrew 又叫 brew,是Mac OSX上的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。一、安装按照Homebrew官网提供的地址安装,很简单,就一条命令。二、Homebrew基本使用1. 安装软件比如安装node:brew install node2...

2020-04-19 09:35:22

上传功能实现

上传前用户要选择本地要上传的文件,用户可以通过以下三种方式操作触发:通过input type="file" 选择本地文件 通过拖拽的方式把文件拖过来 在编辑框里面复制粘贴一、三种选择文件的不同操作1. 通过input type="file" 选择本地文件通过这种方式选择文件的话,前端可以有2种上传方式:Ajax请求 和 Form表单。Ajax请求:就是平时用的 post...

2020-04-11 11:45:57

Node调试之 谷歌Inspect扩展程序

一、安装Node.js V8 InspectorNode.js V8 Inspector 是Chrome的一个调试node的扩展程序,可以去谷歌商品下载。二、示例程序为了方便讲解,下面是一个示例脚本。首先,新建一个工作目录,并进入该目录。$ mkdir debug-demo$ cd debug-demo然后,生成package.json文件,并安装Koa框架和 koa...

2020-03-23 23:45:41

GitBook 本地安装和使用

GitBook 是一个基于 Node.js 的现代化文档平台,可使用 Github/Git 和 Markdown 来制作精美的电子书。一、GitBook 本地安装和使用教程1. 全局安装 gitbook 脚手架$ npm install gitbook-cli -g2. 检查是否安装成功$ gitbook -VCLI version: 2.3.2GitBook vers...

2020-03-08 16:43:29

对象属性监听getter setter

一、在新对象初始化时定义 getter settervar obj = { log: ["a", "b", "c"], get latest() { if (this.log.length == 0) { return undefined; } return this.log[this.log.length - 1]; }, set lat...

2020-02-23 22:41:37

事件冒泡、事件捕获和事件委托

一、事件冒泡和事件捕获的区别事件冒泡:目标元素事件先触发,然后父元素事件触发 事件捕获:父元素事件先触发,然后目标元素事件触发事件执行顺序是:先事件捕获(从 Windows -> document 依次往下) 再是目标事件处理 最后是事件冒泡addEventListener() 第三个参数为 false 事件触发顺序是冒泡顺序,true 为捕获顺序,默认为 false(这个...

2020-02-22 10:44:55

性能调试实践

页面帧(Performance -> FPS,Rendering -> FPS meter)、事件(Performance -> Event Log)和实际内存(Memory,Performance Monitor -> JS heap size)使用三个方面发现程序的问题。如果一个页面比较卡,可能是由以下几方面造成的:内存泄露。使用 Memory 的3次快照查看总...

2020-02-16 23:58:34

前端异常捕获和日志上报

一、异常捕获对于前端来说,我们需要的异常捕获无非为以下两种:接口调用情况; 页面逻辑是否错误,例如,用户进入页面后页面显示白屏;对于接口调用情况,在前端通常需要上报客户端相关参数,例如:用户OS与浏览器版本、请求参数(如页面ID);而对于页面逻辑是否错误问题,通常除了用户OS与浏览器版本外,需要的是报错的堆栈信息及具体报错位置。异常捕获方法全局捕获可以通过全局监听异常来捕获...

2020-02-16 23:56:28

前端性能优化清单

前端性能优化清单

2020-02-16 15:14:36

用 @font-face 实现自定义字体

目录一、语法二、字体格式三、实战使用四、各浏览器兼容五、用 unicode-range 指定字体适用范围1. unicode-range的值和语法2. unicode-range的常用值六、字体压缩参考文章一、语法@font-face { font-family: <fontFamily>; /* 自定义字体名称; */ s...

2020-02-09 22:03:05

Unix、Linux、macOS 操作系统简介

一、Unix 操作系统Unix是1970年出现的一个操作系统。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥",后来的 Windows 和 Linux 都参考了 UNIX。UNIX系统的主要特点表现在以下几方面:(1...

2020-02-08 22:04:57

HTTPS让数据传输更安全

谈到HTTPS, 就不得不谈到与之相对的HTTP。HTTP的特性是明文传输,因此在传输的每一个环节,数据都有可能被第三方窃取或者篡改,具体来说,HTTP 数据经过 TCP 层,然后经过WIFI路由器、运营商和目标服务器,这些环节中都可能被中间人拿到数据并进行篡改,也就是我们常说的中间人攻击。为了防范这样一类攻击,我们不得已要引入新的加密方案,即 HTTPS。HTTPS并不是一个新的协议, ...

2018-08-01 11:01:53

二进制对象:Blob、File和它们的读取对象:FileReader

一、Blob 对象Blob,全称 Binary Large Object,代表二进制类型的大对象。在Web领域,Blob对象表示一个不可变、二进制原始数据的类文件对象,因此可以像操作文件对象一样操作Blob对象。File 接口基于Blob,继承了 Blob 的功能并将其扩展使其支持用户系统上的文件。一、Blob基本用法1. 创建Blob对象生成Blob对象有两种方法:使用Blo...

2020-02-06 00:17:40

Base64编码格式

Base64 就是一种编码方法,可以将任意值转成 0~9、A~Z、a-z、+、/ 这64个字符组成的可打印字符。使用它的主要目的,不是为了加密,而是为了不出现特殊字符,简化程序的处理。经编码后,文本体积会变大 1/3。一、ASCII 编码转Base64js原生提供两个 Base64 相关的方法:btoa():ASCII 编码转为 Base64 编码 atob():Base64 编码...

2020-02-02 12:06:12

URI 和 URL

一、URI(统一资源标识符)URI 是用来标识互联网上的资源(例如,网页或文件)和怎样访问这些资源的传输协议(例如,HTTP 或 FTP)的字符串。js编码解码URI的方法有4个:encodeURI、encodeURIComponent、decodeURI、decodeURIComponent。1、一个URI的组成一个 URI 是由组件分隔符分割的组件序列组成。其一般形式是:Sch...

2020-02-02 10:38:17

浏览器的多进程架构

以 Chrome 为例,它由多个进程组成,每个进程都有自己核心的职责,它们相互配合完成浏览器的整体功能。Chrome 采用多进程架构,其顶层存在一个 Browser process 用以协调浏览器的其它进程。优点由于默认 新开 一个 tab 页面 新建 一个进程,所以单个 tab 页面崩溃不会影响到整个浏览器。同样,第三方插件崩溃也不会影响到整个浏览器。多进程可以充分利用现...

2020-01-23 20:52:26

授权认证登录之 Cookie、Session、Token、JWT 详解

目录一、先了解几个基础概念二、什么是 Cookie1. cookie 重要的属性2. 服务器端设置cookie示例(Node)3. 客户端对Cookie的存取4. 每个域名下cookie个数限制5.封装对Cookie的操作三、什么是 Session四、Cookie 和 Session 的区别五、什么是 Token(令牌)Acesss Token...

2020-01-14 22:25:54

计算机存储部件详解

一、存储器计算机的存储器有两类:一类是内部存储器(内存),存储信息速度快,但是断电后存储内容全部丢失。 一类是外部存储器(主要是磁盘),存取速度比内存慢得多,但是存储信息不受断电的影响。二、磁盘磁盘又分为两类,一类是硬盘,一类是软盘。硬盘的容量比较大,一般都装在机箱里面。软盘的容量就相对比较小了,一般放在机箱外面。计算机上有个特殊的地方叫做软盘驱动器,要用软盘的时候就把它放...

2020-01-04 17:03:02

iconfont 的使用方法

iconfont 常用的方法有两种:一种是直接下载到本地,另一种是使用远程链接。直接下载到本地把 iconfont 下载到本地,然后把整个文件夹放到自己的项目中。iconfont 有三种引用方式:Unicode,Font class,Symbol。Unicode 引用Unicode 是字体在网页端最原始的应用方式,特点是:兼容性最好,支持 IE6+,及所有现代浏览器。...

2020-01-02 23:36:02

js中的内存管理

前言像C语言这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()用于分配内存和释放内存。 而对于JavaScript来说,会在创建变量时分配内存,并且在不再使用它们时“自动”释放内存,这个自动释放内存的过程称为垃圾回收。 因为自动垃圾回收机制的存在,让大多Javascript开发者感觉他们可以不关心内存管理,所以会在一些情况下导致内存泄漏。一、内存结构内存分为...

2020-01-01 14:09:57

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。