var

常用js设计模式整理

在做canvas、webGL游戏时,很深切的感觉到,游戏编程玩的都是设计模式。架构没预先设计好,强耦合性代码在后期维护简直灾难。大型单页应用里,复杂度上升到一定程度时,没有适当的设计模式进行降耦,后续的开发也难以下手。而设计模式正是为了降耦而存在。参考《javascript设计模式》——曾探函数节流var throttle = function(fn, interval){

Mongoose

mongoose简介是一个将JavaScript对象与数据库产生关系的一个框架,Object related model。操作对象,就是操作数据库了。对象产生了,同时也持久化(数据进入数据库)了。初步使用mongoose连接数据库var mongoose = require('mongoose');//创建数据库连接var db = mongoose.createConne

给裸接口加一道防护,避免恶意盗刷和爬取

WEB应用是开放的,WEB前端代码也是公开的,和后端交互的接口如果没有经过特殊处理(加密/token),那么就是裸露的,只要知道api地址,那么就能随便获取应用数据。这样应用数据就很容易被人爬取或者恶意盗刷,典型的短信被恶意盗刷。公司理财产品的短信接口就是一个裸接口,只要手机号就可以任意盗刷,当然背后有根据手机号,ip地址做了请求限制,但还是不够。后面就加了一定时间内一定请

koa 微信开发 (1) -- 接入指南

申请公众号在 mp.weixin.qq.com 上根据步骤申请一个账号进入公众号选择开发--基本配置,进行修改配置服务器编写根据文档,我们需要做的是接入微信公众平台开发,开发者需要按照如下步骤完成:1、填写服务器配置2、验证服务器地址的有效性3、依据接口文档实现业务逻辑当你在配置中写完配置,要提交的时候,微信会对你填写的url发送一个get请求, 包括:参数

初步了解this

在面向对象编程中,this指针的指向我经常弄不清楚,看了几篇博客之后,乘有了一点点了解,赶快做笔记记录下来。 this的指向取决于调用的模式,而在js中有4中调用模式:方法调用模式,函数调用模式,构造函数调用模式,apply调用模式 方法调用模式 当一个函数是作为一个对象的属性被调用时,this会指向该属性所属的对象。 var name = 'window'; var pe

「译」Node.js Streams 基础

Node.js 天生异步和事件驱动,非常适合处理 I/O 相关的任务。如果你在处理应用中 I/O 相关的操作,你可以利用 Node.js 中的流(stream)。因此,我们先具体看看流,理解一下它们是怎么简化 I/O 操作的吧。流是什么流是 unix 管道,让你可以很容易地从数据源读取数据,然后流向另一个目的地。简单来说,流不是什么特别的东西,它只是一个实现了一些方法的 E

代码片段:AES 加解密代码

function encrypt (plaintext) { var algorithm = 'aes-256-cbc' var key = 'I am a happy key.' var sha256sum = crypto.createHash('sha256') var _key = sha256sum.update(key).digest() var _iv = '

[译] 你想知道的关于 JavaScript 作用域的一切

原文链接: Everything you wanted to know about JavaScript scope原文作者: Todd MottoGithub: 你想知道的关于JavaScript作用域的一切(译)JavaScript中有许多章节是关于scope的,但是对于初学者来说(甚至是一些有经验的JavaScript开发者),这些有关作用域的章节既不直接也不容易理解