【译】WebSocket 协议——摘要

2018-07-24
阅读 1 分钟
3.7k
概述 本系列内容为RFC6455 WebSocket协议的中文翻译版。进行相关文档规范的翻译初衷是为了更加深刻的了解WebSocket以及相关内容。 本文主要为WebSocket协议 摘要 文章具体内容较少,后续会陆续更新相关的章节,有兴趣的同学可以持续关注一下。 翻译版包含了部分个人的理解,大部分内容为直译,其他小部分内容可能为意译...

如何模拟一个XMLHttpRequest请求用于单元测试——nise源码阅读与分析

2018-04-22
阅读 4 分钟
2.6k
在我们进行单元测试的过程中,如果我们需要对一些HTTP接口进行相关的业务测试,那么我们就需要来模拟HTTP请求的发送与响应,否则我们就无法完成测试的闭环。

提高代码质量——使用Jest和Sinon给已有的代码添加单元测试

2018-04-18
阅读 5 分钟
5.9k
在日常的功能开发中,我们的代码测试都依赖于自己或者QA进行测试。这些操作不仅费时费力,而且还依赖开发者自身的驱动。在开发一些第三方依赖的库时,我们也没有办法给第三方提供完整的代码质量报告。

JavaScript如何实现UTF-16编码转换为UTF-8编码——utfx.js源码解析

2018-04-15
阅读 5 分钟
7.1k
当你在前端需要通过二进制数据与服务端进行通信时,你可能会遇到二进制数据的编码问题。大部分服务端的字符串编码类型都为UTF-8,而JavaScript中字符串编码类型是UTF-16,因此,你需要一个能够将字符串在两种编码方式间进行转换的方法。

Unicode中UTF-8与UTF-16编码详解

2018-04-11
阅读 3 分钟
7.8k
本文通过介绍Unicode编码以及对应的两种编码方式UTF-8和UTF-16,让读者能够了解关于字符串编码的相关知识,同时能够弄清楚Unicode和UTF-8和UTF-16之间的关系。

chrome扩展应用开发快速科普

2018-04-08
阅读 6 分钟
2.3k
本文通过对chrome插件的各个部分进行快速的介绍,从而让大家了解插件各个部分的关系,并且知道如何将其进行组装成一个完整的chrome插件。

WebSocket系列之如何建立和维护可靠的连接

2018-04-05
阅读 2 分钟
6.2k
通过前四篇博客,相信读者对于WebSocket的使用和数据(不论是ArrayBuffer还是String)传输都有了一个深刻的了解。现在我们来介绍下,我在使用WebSocket时,连接相关模块遇到的一些共性问题,以及我们如何解决这些问题。

WebSocket系列之二进制数据设计与传输

2018-03-31
阅读 3 分钟
20.6k
通过前三篇博客,我们能够了解在通过WebSocket发送数据之前,我们需要传递的数据是如何变成ArrayBuffer二进制数据的;在我们收到二进制数据之后,我们又如何将其变成了JavaScript中的常见数据类型。本文作为WebSocket系列的第四篇内容,将会用一个简单的IM聊天应用把整个WebSocket传输二进制数据类型的内容连接起来,让...

WebSocket系列之字符串如何与二进制数据间进行互相转换

2018-03-30
阅读 4 分钟
13k
上一篇博客我们说到了如何进行数字类型(如Short、Int、Long类型)如何在JavaScript中进行二进制转换,如果感兴趣的可以可以阅读本系列第二篇博客——WebSocket系列之JavaScript中数字数据如何转换为二进制数据。这次,我们来说下string类型的数据如何进行处理。本文是WebSocket系列的第三篇,主要介绍string数据与二进制...

WebSocket系列之JavaScript中数字数据如何转换为二进制数据

2018-03-28
阅读 4 分钟
8.7k
本文主要通过对JavaScript中数字数据与二进制数据之间的转换,让读者能够了解在JavaScript中如何对数字类型(包括但不限于Number类型)进行处理。

WebSocket系列之基础知识入门篇

2018-03-27
阅读 4 分钟
7.4k
本文是WebSocket系列的第一篇,主要介绍WebSocket相关的基础协议知识和API。由于WebSocket的相关介绍在MDN中分布较乱,初学者不太容易入门,因此通过本文将相关基础知识和使用方法进行一个归纳和总结。

《软技能——代码之外的生存指南》读书笔记(职业篇)

2018-03-12
阅读 2 分钟
2k
对书中职业篇的内容进行整理和归纳。读者可以通过本文快速的了解本书中关于职业部分的建议与意见。其中虽然有部分内容本人并不认同,但是为了保证记录的完整性,也没有进行删除和修改。

提高开发效率之VS Code基础配置篇

2018-02-19
阅读 3 分钟
5.7k
背景 之前一直是只用WebStorm作为IDE来编写代码,但是由于: 手中的这台Mac接了两个显示器以后,使用WebStorm会有卡顿。 WebStorm需要付费(虽然可以通过某方法和谐)。 所以需要寻找一个新的编辑器或者IDE来进行边写代码。 为什么选择VS Code VS Code的性能明显由于Atom。 VS Code的插件系统使用方便程度远高于Sublime...

如何实现一个脚手架进阶版(Vue-cli v2.9学习篇)

2018-02-01
阅读 3 分钟
4.1k
前言 在之前一篇博客介绍了关于Node脚手架的一些基础的知识,这篇博客是在之前的基础上针对在Node中开发脚手架中遇到的问题,如: 终端样式、交互问题 文件处理问题 通过对Vue-cli 2.9.2的源码进行分析,解决相关问题。 如果没有看过之前一篇博客的,或者对Node.js的脚手架没有了解过的同学,推荐先看上一篇:如何实现一...

如何实现一个简单的Node.js脚手架

2017-12-03
阅读 3 分钟
7.1k
原因 在工作中,需要开发一个脚手架,用于给相关用户提供相关的开发便利性。 适合人群 对前端、Node操作有一定的了解,同时向了解脚手架开发过程或者需要自己实现一个脚手架的开发者。 目标 开发一个简单的脚手架,能够提供给用户进行安装。 能够输出相关提示。 对用户文件进行读写操作。 在脚手架中使用Shell脚本。 更...

如何在JavaScript中实现一个Long型——Long.js源码学习与分析

2017-05-30
阅读 5 分钟
32.3k
由于在项目中使用到了WebSocket的自定义二进制协议,需要将二进制转为后端服务中定义的Long型。而在JavaScript中的Number类型由于自身原因,并不能完全表示Long型的数字,因此需要我们通过其他的方式来对Long型值进行存储。

《麦肯锡 问题分析与解决技巧》——阅读笔记(共16章)

2016-11-29
阅读 1 分钟
6.7k
简介 原因 《麦肯锡 问题分析与解决技巧》是一本关于问题分析与如何解决问题的书籍,在阅读过程中收获不少,因此留下读书笔记方便其他人来进行学习。 书籍信息 书名: 麦肯锡 问题分析与解决技巧 英文名称:Problem Analysis and Solving Skills 作者:高杉尚孝[日] 译者:郑舜珑 其他信息:豆瓣介绍 说明 读书笔记主要...

IndexedDB使用与出坑指南

2016-09-18
阅读 7 分钟
16.3k
概述 本文通过对IndexedDB的使用方法和使用场景进行相关介绍,对常见的问题进行解答。 同时,因为MDN中的相关文档缺乏相关逻辑性,所以不容易理解。本文将通过项目中常见的数据存储和操作需求来进行内容组织。 读者能够通过本文学会在项目中正确的使用IndexedDB,给应用带来的本地存储能力,并且避免一些常见的问题。 原...

eventEmitter3源码分析与学习

2016-05-09
阅读 6 分钟
9.4k
在具体的一些业务场景中,第三方的自定义事件能够在层级较多,函数调用困难以及需要多个地方响应的时候有着其独特的优势——调用方便,避免多层嵌套,降低组件间耦合性。

动态生成DOM元素的高度及行数获取与计算方法

2016-04-17
阅读 2 分钟
10.8k
在开发IM的项目过程中,经常会有出现一些需要计算DOM高度,然后超出若干行隐藏等需求。很多时候,需要计算高度的DOM元素都是动态生成的,我们无法在数据渲染前获取到它的高度。

Markdown语法简介

2016-04-10
阅读 2 分钟
2.2k
目的 对Markdown的语法进行最基础简单的介绍,能够满足在各个方面的基本使用。 说明 markdown语法目前有两种,我会选择一种我在实践过程中认为比较简单的标记来进行简单介绍。如果需要进行查阅,可以直接阅读末尾总结部分。 markdown也支持部分HTML,如果需要实现换行等需求也可以使用<br/>等来完成。 不同的markd...

CSS transition delay简介与进阶应用

2016-04-04
阅读 5 分钟
8.3k
背景 在日常的项目开发中,我们会很经常的遇见如下的需求: 在浏览器页面中,当鼠标移动到某个部分后,另一个部分在延迟若干时间后出现 在鼠标移除该区域后,另一部分也在延迟若干时间后消失 我相信这是一个很常见的一个需求,有很多种方式能够实现,但是,其实现方式的原理各不相同,也有利有弊。 实现方案 CSS 在CSS中...

基于React与Redux的留言墙的实现

2016-03-16
阅读 4 分钟
5.8k
背景 由于某事业群需要留言墙用于年会,同时需要调用大象公众号服务器接口,所以在今年年初开发了留言墙用于活动现场交流。 设计 本次留言墙分为两部分。一部分为活动展示部分,另一部分为后台审批部分。 活动展示部分为匿名留言墙形式(后改为实名制),需要根据收到的留言墙进行向上平滑滚动,如果没有消息接收则停止...

should.js源码分析与学习

2016-03-06
阅读 6 分钟
5.4k
为了研究与学习某些测试框架的工作原理,同时也为了完成培训中实现一个简单的测试框架的原因,我对should.js的代码进行了学习与分析,现在与大家来进行交流下。