avatar
@bangbang93

BMCLAPI暂停部分服务

BMCLAPI由于资金问题暂停服务

即日起所有libraries和assets的请求将重定向至官方服务器

下载版本和forge两个功能将保留

还有assets的索引index也将保留

接口不会有任何改变


基于OpenVPN的反向代理

红色家园服务器都是没有公网IP的,走的是学校服务器的反向代理。

结果今天学校入口服务器扑街了。

截止我写这篇东西的时候学校首页还是打不开。

学校老师已经下班了,但是我们的服务不能就这么瘫在那里啊,于是想了想手上的资源。有一台跳板服务器是有公网IP和内网IP的,于是就打算用它进行反代先抢救一部分服务。

但是还有一个严重的问题,这台服务器尽管有公网IP,但是还是在学校防火墙以内,对外的端口只有...


Apache反代实现类似于nginx的try_files效果

不得不说nginx的try_files实在是好用。

这两天在开发的时候为了解决前后端分离开发导致的跨域问题使用了Apache进行反代,最初是使用

ProxyPass /api/ http://host/api/

这种类型的写法,不过随着api增多,还有些图片以及其他静态文件的调用,ProxyPass写的越来越多,看着烦死了,于是就想简化一下,想到了nginx的try_files。

不过装...


CP15DAY2

DAY2感觉拍出来的片子的质量比DAY1好,所以图也比DAY1多。总共是39张

我是在13号门那里发拍立得+两颗大白兔的那只ˊ_>ˋ不过由于拍立得片子没备足,第二天只剩18张拍立得了,所以肯定不是所有在这里的coser都拿到了我的拍立得……

...


CP15 DAY1

快有半年没拍片子了。第一天的片子大部分还顺手发了拍立得


Minecraft空岛小游戏岩浆恢复插件

插件功能很简单

用桶右键黑曜石,黑曜石消失,桶变岩浆桶

没有其他多余的使用要求

开发于Bukkit1.6.4,适用于Bukkit1.6和1.7,其他版本未经测试

SkyBlockLavaBucket.7z

因为项目太小,所以开源都懒得创建一个github repo,于是直接贴在这里了

package com.bangbang93.SkyBlockLavaBucket;

import
...

fibjs vs nodejs(4)

突然想到Node.JS中有种很常用的优化方法,是利用异步的特性不管执行是否成功,先返回HTTP响应,于是按照这种方法我又改了一下代码

var http = require('http');
var mongodb = require('mongodb').MongoClient;
mongodb.connect('mongodb://localhost/fibvsnode?maxPoolSiz
...

fibjs vs nodejs(3)

响马回复了

@孢子响马:同时你这个测试中大家的 mongodb 都是一个连接,因此其实在请求 mongodb 时是串行的,所以你这个其实是在测试 mongodb 的 qps

于是改了一下代码,创建了一个500连接的连接池

fibjs

var db = require('db');
var http = require('http');

var connectPool = [];
...

fibjs vs node(2)

后来想起来fibjs社区里响马提到用keep-alive测试一发,于是又跑了一遍测试

源码见上篇文章

fibjs

[bangbang93@10-4-14-175 ~]$ ab -n 100000 -c 500 -k http://server.bangbang93.com:12345/
This is ApacheBench, Version 2.3 <$Revision: 65565
...

fibjs vs nodejs

网上见过的对比都是只有一个Hello, world!的输出。其实这毫无意义啊。于是打算自己敲一个对比

大致思路是收到http请求后去mongodb插一条数据,插完返回一段json,用来简单模拟一个创建的请求,以求更贴近业务

先说一下运行环境
CentOS 6.5 X86_64
双路Xeon X5470
16G内存

然后贴代码


先贴fibjs的

var db = require('d
...

D2回来的感悟

#D2 2014#
去了趟D2,感觉收获颇多。

一大早从学校出发,从杭州最东面跑到了杭州最西面,终于又见到了这块石头

1414202646053.jpg

早上到的有点晚,落座的时候已经过了十点钟了主持人已经开始热场了,所以坐的位置比较靠后。先扔一张主会场的图

1414204020842.jpg

左右两边是微博墙,不过居然用的是定时刷新的方式

一点也不COOL,太不前端了,完全不符合主题好么

由于某些原因,在里面霸了挺长时间的屏,还好主办没有打...


Sequelize With SQLite

BMCD由于不想再附加一个MongoDB的依赖,于是选用了SQLite作为数据库。不过手写SQL语句实在是太烦了,于是我又选用了Sequelilze作为SQLite的ORM模型处理。

折腾了一天之后稍微总结一下它的用法

var Sequelize = require('sequelize');
var sequelize = new Sequelize('bmcd', null, null,
...

Minecraft PlayStation Edition初体验

由于游戏不允许截图,所以所有图片只好使用手机拍摄的方式

DSC_0298.JPG
起先是看见Cthuwork的群里有人说PSV版发布了,于是拿出没电的PSV充了会儿电就在新发布列表的第一条里看见了。
价格如图,我是港服,除本体外还有材质包和皮肤包都是另外收钱的

DSC_0299.JPG
安装好的Launch界面如图,左边可以下载皮肤包,右边可以下载材质包

DSC_0321.JPG
进入游戏的主界面,说是中日英韩文版,不过我没找到在哪里设置语言……

DSC_0300.JPG
开了个教程...


UEditor报Cannot read property 'innerHTML' of undefined

UEditor内会有一个iframe,所以如果刚刚使用

var ue = UE.getEditor('editor');

就进行

ue.setContent($('#content').val(), false);

的话

UEditor源码里setContent是这么写的

me=this;
me.body.innerHTML = (isAppendTo ? me.body.inn
...

MongoDB的$where使用NodeJS里的变量

MongoDB的$where允许传递一个JavaScript Function作为判断一个文档是否应该被返回到结果,最简单的比如

$where: function (){
  return !!this.id;
}

当然真要判断id是否存在别用$where,效率太差,它会把集合内的每个对象或者当前选中的所有对象都跑一边这个函数。

但是由于这个function的实际执行者是MongoDB,也...


近期Minecraft事件整理

EvilSeph与Mojang产生矛盾,Mojang全面接管Bukkit项目
2014-08-21

http://www.mcbbs.net/thread-326367-1-1.html

Bukkit 官网暂停提供下载
2014-09-04
由于DCMA takedown request (美国数字千年版权法移除要求),Bukkit暂时无法提供下载。
由于Bukkit(目前由Mojang接管...