规范git commit的提交记录

2020-05-04
阅读 2 分钟
4.1k
📖博客原文 :xxoo521.com《规范git commit的提交记录(交互式命令行)》 随着项目体积的增加,参与到项目中的同学越来越多,每个人都有自己的打 git log 的习惯: 格式 1: add: 添加... 格式 2: [add]: 添加... 格式 3: Add 添加... 为了形成统一的规范,达成共识,从而降低协作开发成本,需要对 git commit 记录进行规...

Node.js实战--资源压缩与zlib模块

2020-02-11
阅读 4 分钟
7k
nodejs 的 zlib 模块提供了资源压缩功能。例如在 http 传输过程中常用的 gzip,能大幅度减少网络传输流量,提高速度。本文将从下面几个方面介绍 zlib 模块和相关知识点:

Nodejs实战系列:数据加密与crypto模块

2020-02-10
阅读 5 分钟
5k
nodejs 中的 crypto 模块提供了各种各样加密算法的 API。这篇文章记录了常用加密算法的种类、特点、用途和代码实现。其中涉及算法较多,应用面较广,每类算法都有自己适用的场景。为了使行文流畅,列出了本文记录的几类常用算法:

深入Node.js的进程与子进程:从文档到实践

2020-02-02
阅读 7 分钟
9.3k
欢迎关注Github仓库,这是一个自2018年起持续更新的前端&算法开源博客。目前已有node学习、js面试笔记、css3动画设计、webpack4系列教程、设计模式、剑指offer·js版等多个系列。仓库地址:[链接]

深入Nodejs模块fs - 文件系统操作

2020-01-29
阅读 3 分钟
7.4k
node 的fs文档密密麻麻的 api 非常多,毕竟全面支持对文件系统的操作。文档组织的很好,操作基本分为文件操作、目录操作、文件信息、流这个大方面,编程方式也支持同步、异步和 Promise。

深入NodeJS模块系列 - os

2020-01-19
阅读 3 分钟
4.2k
读了 os 模块的文档,研究了几个有意思的问题: 🤔 识别操作系统平台 🤔 理解和计算“平均负载” 🤔 理解和计算“cpu 使用率” 🤔 理解和计算“内存使用率” 🤔 查看运行时间 🔍 关注公众号“心谭博客” / 👉 查看原文: xxoo521.com / 欢迎交流和指正 识别操作系统平台 nodejs 提供了os.platform()和os.type(),可以用来识别操作系统平...

有趣的NodeJS模块 - Buffer

2020-01-18
阅读 3 分钟
4.6k
Buffer 作为 nodejs 中重要的概念和功能,为开发者提供了操作二进制的能力。本文记录了几个问题,来加深对 Buffer 的理解和使用:

有趣的Nodejs模块之events

2020-01-10
阅读 3 分钟
2.6k
读了 events 模块的文档,研究了几个有意思的问题: ?️ 事件驱动模型 ?️ 优雅的错误处理 ?️ 监听器器队列顺序处理 ?️ 内存管理与防止泄漏 引用/转载 请声明出处:原文链接: xxoo521.com 事件驱动模型 Nodejs 使用了一个事件驱动、非阻塞 IO 的模型。events模块是事件驱动的核心模块。很多内置模块都继承了events.EventEm...

剑指offer·JS版 | 重建二叉树

2019-12-22
阅读 2 分钟
3.2k
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。

剑指offer·JS版 | 从尾到头打印链表

2019-12-22
阅读 2 分钟
4.3k
题目描述 输入一个链表,按链表从尾到头的顺序返回一个 ArrayList。 解法 1: 栈 题目要求的是从尾到头。这种“后进先出”的访问顺序,自然想到了用栈。 时间复杂度 O(N),空间复杂度 O(N)。 {代码...} 专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」| xxoo521.com | GitHub 发现后半段出栈的逻辑...

剑指offer·JS版 | 替换空格

2019-12-20
阅读 2 分钟
3.4k
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为 We Are Happy.则经过替换之后的字符串为 We%20Are%20Happy。

剑指offer·JS | 二维数组中的查找

2019-12-20
阅读 2 分钟
4.4k
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

「超全」手写Promise的相关方法

2019-12-13
阅读 5 分钟
4.5k
Promise 作为 JS 社区的异步解决方案,为开发者提供了.then()、Promise.resolve()、Promise.reject()等基本方法。除此之外,为了更方便地组合和控制多个的 Promise 实例,也提供了.all()、.race()等方法。

一文说清「VirtualDOM」的含义与实现

2019-11-30
阅读 6 分钟
5.7k
随着 React 的兴起,Virtual DOM 的原理和实现也开始出现在各大厂面试和社区的文章中。其实这种做法早在 d3.js 中就有实现,是 react 生态的快速建立让它正式进入了广大开发者的视角。

《MongoDB实战》读书笔记

2019-10-12
阅读 10 分钟
3.1k
MongoDB的特点:扩展策略、直观的数据模型。在mongodb中,编程语言定义的对象能被“原封不变”地持久化,消除对象结构和程序映射的复杂性。

云开发之实时数据推送:打造在线对战五子棋

2019-08-28
阅读 6 分钟
3.9k
本次「云开发」公开课,将通过实战「在线对战五子棋」,一步步带领大家,在不借助后端的情况下,利用「小程序 ✖ 云开发」,独立完成一款微信小游戏的开发与上线。

前端动画专题(三):撩人的按钮特效

2019-08-02
阅读 5 分钟
5k
专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」| xin-tan.com | GitHub 特效一览 滑箱: 果冻: 脉冲: 闪光: 气泡: 滑箱特效 效果图 原理 因为 button 元素可以使用 before/after 伪元素,所以借助伪元素,可以实现动态图中的遮盖层。 为了避免回流重绘,滑箱的运动方向是垂直方向,所以使...

「HTML5」FileAPI 文件操作实战

2019-07-22
阅读 5 分钟
2.9k
专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」| xin-tan.com | GitHub 介绍 HTML5 为我们提供了 File API 相关规范。主要涉及 File 接口 和 FileReader 对象 。 本文整理了兼容性检测、文件选择、属性读取、文件读取、进度监控、大文件分片上传以及拖拽上传等开发中常见的前端文件操作。 准备...

深入koa源码(二):核心库原理

2019-06-24
阅读 4 分钟
2.1k
最近读了 koa2 的源码,理清楚了架构设计与用到的第三方库。本系列将分为 3 篇,分别介绍 koa 的架构设计和 3 个核心库,最终会手动实现一个简易的 koa。这是系列第 2 篇,关于 3 个核心库的原理。

深入koa源码(一):架构设计

2019-06-21
阅读 3 分钟
2.7k
专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」| xin-tan.com | GitHub 最近读了 koa 的源码,理清楚了架构设计与用到的第三方库。本系列将分为 3 篇,分别介绍 koa 的架构设计和 3 个核心库的原理,最终会手动实现一个简易的 koa。 koa 的实现都在仓库的lib目录下,如下图所示,只有 4 个文件...

基于ServerLess的极简网页计数器:源码分析与实践

2019-05-18
阅读 4 分钟
2.3k
这几天基于支持HTML5无感认证的ServerLess平台开发了一款博客、门户网站等web平台常用的PV统计工具:page-counter 。主要用到的技术是js+webpack。

NodeJS实现简易区块链

2019-05-03
阅读 5 分钟
3.5k
但是如果要支持多用户使用,就需要考虑“可信度”的问题。那么按照区块链要求,链上的数据不能被篡改,除非算力超过除了攻击者本身之外其余所以机器的算力。

微信网页登录逻辑与实现

2019-04-29
阅读 4 分钟
6.3k
现在的网站开发,都绕不开微信登录(毕竟微信已经成为国民工具)。虽然文档已经写得很详细,但是对于没有经验的开发者还是容易踩坑。 所以,专门记录一下微信网页认证的交互逻辑,也方便自己日后回查: 加载微信网页sdk 绘制登陆二维码:新tab页面绘制 / 本页面iframe绘制 用户扫码登陆,前端跳入回调网址 回调网址进一...

HTML5原生拖放事件的学习与实践

2019-04-20
阅读 3 分钟
3.7k
前言 之前学习了HTML5的拖放事件,开发中也用到了拖拽组件。为了厘清整体的逻辑,专门做了一个小例子。 具体实现的效果也很简单:元素可以在容器中任意拖动,元素被移入容器的时候,还会有相关样式的改变已达到更好的展示效果。 例子基本运用了拖放事件的全部事件,并且尽量简洁的展示了出来。特此记录。 专注前端与算法...

《前端面试手记》之ES6重难点整理

2019-04-19
阅读 6 分钟
3.7k
? 内容速览 ? let和const Set和Map Generator和yield Promise、async/await介绍 Proxy代理器 ... 专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」| xin-tan.com | GitHub let和const ES6新增了let和const,它们声明的变量,都处于“块级作用域”。并且不存在“变量提升”,不允许重复声明。 同时,c...

📚JavaScript设计模式实践:18份笔记、例子和源码📚

2019-04-11
阅读 2 分钟
3.4k
但也是因为书上场景过多,所以当记不清某一种设计模式的时候,翻书温习复杂案例的成本是相对较高的。有时候,只需要一段经典、简洁的demo就可以迅速回顾起精髓,在快速业务开发中,这是个比较经济的做法。

《前端面试手记》之JavaScript基础知识梳理(下)

2019-04-03
阅读 5 分钟
2.5k
👇 内容速览 👇 实现ES5继承的4种方法 原型和原型链 作用域和作用域链 Event Loop 执行上下文 闭包的理解和分析 🔍查看全部教程 / 阅读原文🔍 ES5继承 题目:ES5中常用继承方法。 方法一:绑定构造函数 缺点:不能继承父类原型方法/属性 {代码...} 方法二:原型链继承 缺点:无法向父类构造函数中传递参数;子类原型链上定义...

《前端面试手记》之JavaScript基础知识梳理(上)

2019-03-31
阅读 5 分钟
2k
? 内容速览 ? 普通函数和箭头函数的this 原始数据类型及其判断和转化方法 深浅拷贝及实现 JS事件模型 常见的高阶函数 ?查看全部教程 / 阅读原文? 普通函数和箭头函数的this 还是一道经典题目,下面的这段代码的输出是什么?(为了方便解释,输出放在了注释中) {代码...} 其实诀窍很简单,常见的基本是3种情况:es5普通...

《前端面试手记》之谈谈promise/async/await的执行顺序

2019-03-22
阅读 2 分钟
6.1k
? 内容速览 ? 题目和答案 输出解释 再谈谈async/await 最新的v8和谷歌浏览器的正确输出 专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」| xin-tan.com | GitHub 1. 题目和答案 故事还是要从下面这道面试题说起:请问下面这段代码的输出是什么? {代码...} 上述,在Chrome 66和node v10中,正确...

《前端面试手记》之常考的源码实现

2019-03-20
阅读 7 分钟
4k
? 内容速览 ? 手动实现call/apply/bind 实现一深拷贝函数 基于ES5/ES6实现双向绑定 instanceof原理与实现 ?查看全部教程 / 阅读原文? 手动撸个call/apply/bind 实现call 来看下call的原生表现形式: {代码...} 好了,开始手动实现我们的call2。在实现的过程有个关键: 如果一个函数作为一个对象的属性,那么通过对象的....