系统设计:基于角色的权限管理设计实现

2020-05-05
阅读 1 分钟
3k
内部运营系统的很多 API,涉及到外网正式环境下的用户信息变更。出于安全考虑,在设计之初保留了所有的操作记录,但这用于事后回查;真正要避免线上事故的发生,还需要权限管理。

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

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

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

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

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

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

2020-01-29
阅读 3 分钟
7.3k
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.2k
题目描述 输入一个链表,按链表从尾到头的顺序返回一个 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.4k
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.8k
本次「云开发」公开课,将通过实战「在线对战五子棋」,一步步带领大家,在不借助后端的情况下,利用「小程序 ✖ 云开发」,独立完成一款微信小游戏的开发与上线。

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

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

前端动画专题(二):输入框特效

2019-07-31
阅读 3 分钟
3.9k
专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」| xin-tan.com | GitHub 特效一览 划线动态: 动态边框: 划线动态 效果图 原理和代码 :before 和 :after伪元素指定了一个元素文档树内容之前和之后的内容。由于input标签不是可插入内容的容器。所以这里下划线无法通过伪元素来实现。需要借助其...

CSS动画设计专题(一):字体特效

2019-07-29
阅读 3 分钟
2.5k
专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」| xin-tan.com | GitHub 特效一览 划线动态: 背景高亮: 色块进出: 划线动态 效果图 原理 首先,利用::after和::before就可以画出上下两条线,所以只需要一个 dom 元素即可。 其次,对于鼠标移入的动画,要给上面两个伪元素设置:hover选择器。 ...

「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 个文件...

「翻译」逐步替换Sass

2019-06-19
阅读 4 分钟
2.4k
这是一篇介绍现代 css 核心特性的文章,并且借助 sass 进行横向对比,充分体现了 css 作为一门设计语言的快速发展以及新特性为我们开发者带来的强大生产力。

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

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

2019-04-20
阅读 3 分钟
3.6k
前言 之前学习了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就可以迅速回顾起精髓,在快速业务开发中,这是个比较经济的做法。