Sinon 入门,看这篇文章就够了

2017-07-27
阅读 4 分钟
26.8k
当我们在开发前端项目的时候, 很多时候需要根据后端返回的数据来渲染页面, 我们通常使用AJAX发送请求给服务端。当我们开发后端逻辑的时候有时候需要连接数据库,根据从数据库中得到的数据来执行后续的逻辑代码, 或者其他的依赖, 甚至会更加复杂棘手。这些开发都存在一个共同的局限性, 就是会去依赖别的服务, 需要别的系统...

Node.js中Event_pool的使用场景

2017-06-22
阅读 3 分钟
1.7k
众所周知Node是单线程异步,其实这个是相对于Node这层来说是没有问题的。但是如果整体来看其实还是有个thread_pool的概念,我更喜欢把Node看做一个胶水层,把libuv与v8粘合在一起。v8作为js执行的引擎,libuv封装了一些c++代码来实现一些内核调用,同时把同类功能接口做抽象,满足跨平台的需求。我觉得写Node有两条主线...

理解Javascritp中的"引用"

2017-06-11
阅读 3 分钟
1.7k
那为什么obj1的值修改了,但是obj2的值却没有被覆盖?当我们调用changeStuff函数的时候,参数b,c的值分别是obj1,obj2的引用。

如何理解异步/同步 与 阻塞/非阻塞

2017-05-20
阅读 2 分钟
6k
Author: bugall Wechat: bugallF Email: 769088641@qq.com Github: [链接] 一: 引言 在面试中我们会碰到这种场景: 面试官:能解释下什么是同步,异步么? 程序员:假如我们执行A,B两个IO操作的时候,如果必须等待A完成后才能执行B那么这个就是 同步的,如果A,B可以同时执行那么就是异步的。 面试官:那能解释下什么是阻...

事件循环与任务队列

2017-05-10
阅读 2 分钟
6.4k
虽然我们用Javascript总是可以实现一些异步代码, 但是Javascript中真正的异步概念,但是直到ES6,Javascript才内建了直接的异步概念。

那些被遗忘的javascript细节

2016-12-01
阅读 6 分钟
2k
Author: bugall Wechat: bugallF Email: 769088641@qq.com Github: [链接] 第一章-变量 1.内置类型 {代码...} 2.null==='object' {代码...} 3.null是基本类型中唯一的假值 {代码...} 4.function(函数)是javascript的一个内置函数 {代码...} 5.数组是对象,是object的一个子类型 {代码...} 6.javascript中的变量没有类型,...

Sequelize 事务大并发下造成的死锁问题

2016-09-20
阅读 2 分钟
5.1k
Author: bugall Wechat: bugallF Email: 769088641@qq.com Github: [链接] 环境 Mysql 5.6 InnoDB 一.声明 这并不是sequelize的bug,在涉及到connection pool的时候都有可能出现这个问题 二.起因 我们有个需要事物的业务场景,上线之初一直运行正常,可是在晚上高峰的时候一直会有逻辑错误的问题,刚开始觉得是逻辑有问题...

从Linux内核角度看InnoDB同步机制的实现(上)

2016-09-18
阅读 4 分钟
3.3k
InnoDB是符合MVCC(Multi-Version Concurrency Control)规范的,通俗的讲就是写加锁,读不加锁,读写不冲突(有些情况下是不符合MVCC的,比如当isolation级别为serializable时,

AABB包围盒算法,在2D碰撞检测中的实现

2016-09-02
阅读 2 分钟
21k
碰撞检测是游戏开发中常用到的基础功能,通常的物理引擎中都会包含碰撞引擎.我们今天主要介绍的就是Dynamic AABB Tree的实现原理,AABB Tree是个二叉树,从名字上看,像是个动态平衡树的变种。确实在构造AABB树的时候是需要balance逻辑的。但是AABB的平衡不是基于数的深度的而是"面积",后面会详细介绍。

redis事务实现原理(源码分析)

2016-07-25
阅读 6 分钟
6.7k
Redis事务通常会使用MULTI,EXEC,WATCH等命令来完成,redis实现事务实现的机制与常见的关系型数据库有很大的区别,比如redis的事务不支持回滚,事务执行时会阻塞其它客户端的请求执行。