nodejs计算md5时未指定编码导致中文md5值错误

当使用如下代码计算md5时

crypto.createHash('md5').update('hello').digest('hex');

如果update传入的是中文字符串

crypto.createHash('md5').update('辣条').digest('hex');

计算出来的md5是
b48404099575c247af9872cd89a591fb

实际上应该是
c3ad...


自定义JSON.stringify返回的Date格式

默认情况下JS的JSON.stringify会将对象内的Date类型的属性按照ISO时间格式解析,得到的内容类似于

{"d":"2015-12-10T10:40:50.835Z"}

但是这种时间的格式在非JS运行环境下解析起来是非常费劲的,关于这件事情,Android和iOS的开发跟我抱怨了很久

后来,在stackoverflow上看到了
http://stackoverflow.com/q...


nodejs集成支付宝所遇到的坑

首先,使用express框架,能够接收到支付宝发来的POST notify请求,但是解析出来的body一直为空对象,然后将整个请求log出来查看,发现支付宝发来的Content-Type是一个奇葩的

application/x-www-form-urlencoded; text/html; charset=utf-8

这TM什么鬼玩意,到底是form还是html,于是bodyParser就扑街...


CentOS6上正常使用node 4.0.0以上的node-gyp

node4.0.0开始升级了V8引擎,所以编译安装时要求gcc 4.8以上的版本。但是CentOS6内置的GCC版本只有4.4.7,并不支持编译所需的C++11标准,二进制安装可以正常使用node,但是在安装需要编译的modules时就会报

../node_modules/nan/nan.h:41:3: error: #error This version of node/NAN/v8 requ
...

minecraft shop插件backport

原帖地址

我将其1.2.0的插件backport到1.7.10的版本,支持KCalundron。官方发布的支持Cauldron1.7.10的只有1.1.3,很多新功能和特性都没有。目前在炉心工艺三周目运行正常

backport版...


一个简单的代码行数统计工具

npm

tnpm

安装

npm install source-count -g

使用

jscount
统计当前目录


jscount ../foo
统计 ../foo


jscount -m 0
只显示总计行数,不显示文件夹和文件详情


jscount -i libs
忽略libs目录


jscount -i libs -i public/libs
忽略 libs 和 public/l...


如何正确使用hostker的git方式部署代码

git方式部署的代码,没有每天20贝壳的最低消费限制,就是没有下限【x

推广链接→https://i.zhujike.com/flag/2098

首先,说一点很重要的,创建一个新项目之后,hostker服务器上得到的并不是一个空项目,直接push会报non-fast- forward。
此时万万不可使用--force来进行push,否则只能上ftp手动处理冲突或者砍了重练。

...


使用BMCLAPI加速forge的gradlew构建速度

forge的国内速度一直差强人意,尤其是部署forge开发环境的时候,如果运气不好折腾好几天都是有可能的。自从bmclapi解决大部分人的minecraft客户端安装问题之后,我就在计划加速forge开发环境了,最近终于完工。

使用方法很简单,解压好forge的zip后,找到build.gradle,修改

http://files.minecraftforge.net/maven

h
...

CP16D1

话不多说,放图


解决win8下使用微软账户登录后留下中文用户文件夹导致node-gyp无法编译

在win8下使用需要编译的npm包时,如果用户文件夹是中文的,可能会遇到“error MSB4025: 未能加载项目文件,给定编码中的字符无效”错误。网上看了一圈有两种方案,

其一是修改node-gyp的代码,转换文件编码

http://my.oschina.net/tearlight/blog/279797

另一种就是修改注册表,然后修改用户文件夹改到一个英文目录中。

但是修改用户文件夹...


修正mcmmo和mcpc升级后导致使用MySQL数据库的mcMMO无法正确加载用户技能

之前服务器要加竹mod的时候提示forge版本过低,于是升级了mcpc,同时看到mcmmo也发布了新版,于是就打算顺手升个级。
但是不料升级后我登陆正常,部分其他用户登陆后无法加载mcmmo等级,后台的log显示

[08:52:11] [Craft Scheduler Thread - 1482/ERROR]: [mcMMO] Location: sun.reflect.NativeConstr
...

Discuz导读页面不显示帖子

以X3.2为例,source\module\forum\forum_guide.php 文件第161行

      foreach($_G['cache']['forums'] as $fid => $forum) {
            if($forum['type'] != 'group' && $forum['status'] > 0 &&
...

gin vs martini vs expressjs 压力测试

这次重写手机选课项目可能会考虑使用go,于是又该挑web框架了,查了一番资料之后在gin和martini之间无法最终决定。于是跑一发压力测试和旧的expressjs框架做对比。

先贴一下三个框架使用的代码

var http = require('http');
var express = require('express');
var logger = require('morgan');
...

前面那篇文章图里的本子的下载代码

QQ截图20150413194519
nodejs,需要request包。没找到压缩包下载,所以自己写了一个

var fs = require('fs');
var request = require('request');
request.get('http://www.aaadream.com/thread-25468-1-1.html', function (err, res, body){
    var reg = /
...

cordova 插件开发

cordova的文档还真是不太给力,研究了一晚上cordova插件,终于折腾出结果来了

首先cordova的插件必须有一个plugin.xml,记录了插件的基础信息和js到原生的映射信息,它可以长成这样

<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
        xmlns:rim="http://www.blackb
...

BMCLAPIV2概览

在我写好正式的文档之前,先写一篇简单的供各启动器过渡吧

BMCLAPIV2支持了Forge的library缓存,换用百度云加速作为镜像CDN,大部分地址和原先相同,你需要做的只是把http://bmclapi.bangbang93.com这个地址修改为http://bmclapi2.bangbang93.com。

在过渡期的时候旧域名会使用302重定向到新域名

library

http:/...