Skip to content

Instantly share code, notes, and snippets.

View rangercyh's full-sized avatar
☠️
苟且偷生

caiyiheng rangercyh

☠️
苟且偷生
View GitHub Profile
@rangercyh
rangercyh / walkpath.lua
Created December 28, 2015 12:55
walk path dir format lua table to js object
#!/usr/bin/lua
function gf_CopyTable(tbOrg)
local tbSaveExitTable = {}
local function _copy(object)
if type(object) ~= "table" then
return object;
elseif tbSaveExitTable[object] then --检查是否有循环嵌套的table
return tbSaveExitTable[object];
end
@rangercyh
rangercyh / mymod.user.lua
Created October 30, 2015 02:20 — forked from cloudwu/mymod.user.lua
user defined loader
local M = {}
function M.test(...)
print(...)
end
return M
@rangercyh
rangercyh / queue.js
Created October 20, 2015 09:30
js queue implement
var Queue = function() {
this.tail = [];
this.head = [];
this.offset = 0;
};
module.exports = Queue;
Queue.prototype.shift = function () {
if (this.offset === this.head.length) {
var MT = [];
var index = 0;
function initialize_generator(seed) {
MT[0] = seed;
for (var i = 1; i < 624; i++) {
MT[i] = 0xffffffff & (0x6c078965 * (MT[i - 1] ^ (MT[i - 1] >> 30)) + i);
}
}
function generate_numbers() {
for (var i = 0; i < 624; i++) {
var Ws = require('ws').Server;
var num = 0;
var server = new Ws({ port: 4000 });
server.on('connection', function(client) {
client.addEventListener('message', function(msg) {
// no thing to do
});
++num;
console.log('new comer = ', num);
});
@rangercyh
rangercyh / ws_client.js
Last active August 29, 2015 14:21
ws_client
var WS = require('ws');
var cli = [];
function send() {
var str = 'I am ok!';
var len = Buffer.byteLength(str);
var buf = new Buffer(len + 2);
buf.writeUInt16LE(len, 0);
buf.write(str, 2, len);
this.send(buf);
}
@rangercyh
rangercyh / onlytcp.lua
Last active August 29, 2015 14:13 — forked from fireyang/onlytcp.lua
--[[
onlytcp lua客户端
因为发现luasocket receive(number)方式的一个奇惨问题 所以收数据改成了按行读取
]]
CONST_Socket_TickTime = 0.1--SOCKET接收信息轮训时间
CONST_Socket_ReconnectTime = 5--socket重连偿试时间时隔
CONST_HeartBeaT_TimeOut = 20--socket心跳超时时间
CONST_HeartBeaT_SendTime = 15--socket心跳发送间隔
CONST_HeartBeaT_CheckTime = 25--socket心跳检查时间
@rangercyh
rangercyh / copy_lua_table.lua
Created November 7, 2014 03:02
deep copy lua table
--复制一个table
--org为源table,des为复制出来的新table
function gf_CopyTable(tbOrg)
local tbSaveExitTable = {}
local function _copy(object)
if type(object) ~= "table" then
return object
elseif tbSaveExitTable[object] then --检查是否有循环嵌套的table
return tbSaveExitTable[object]
end
@rangercyh
rangercyh / random.lua
Created September 26, 2014 09:28
linear congruence generate random number
local IA = 3877
local IB = 29573
local g_seed = 42
function setseed(seed)
g_seed = seed
end
function getrandom(max)
@rangercyh
rangercyh / chinese_year_calc.lua
Last active December 18, 2018 08:39
chinese year name calc
--[[
天干纪年,格里历
其实只能正确计算 1752年9月14日之后的,因为1752年9月被英国议会去掉了11天,前面的历法计算需要换用儒略历,太过复杂
]]
local tbHeavenlyStems = { --天干
[1] = "甲",
[2] = "乙",
[3] = "丙",