博客园 - 冷侃
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=142233
2021-09-07T12:26:14Z
冷侃
https://www.cnblogs.com/linbc/
feed.cnblogs.com
https://www.cnblogs.com/linbc/p/15232116.html
不引入任何第三方最最简单异或加密(或者说是混淆)实现 - 冷侃
最简单的加密当然是混淆了. 任何一个字节,通过两次异或可以还原, 那么用这个原理就可以双方约定一组约定的字节序列进行混淆了 好了, 直接贴几个语言的实现 第一个luajit local bit = require 'bit' local function xor_encode(input, key)
2021-09-05T19:17:00Z
2021-09-05T19:17:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】最简单的加密当然是混淆了. 任何一个字节,通过两次异或可以还原, 那么用这个原理就可以双方约定一组约定的字节序列进行混淆了 好了, 直接贴几个语言的实现 第一个luajit local bit = require 'bit' local function xor_encode(input, key) <a href="https://www.cnblogs.com/linbc/p/15232116.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/11002915.html
centos7 vim环境优化 - 冷侃
centos7默认是使用vi,而不是使用vim,所以,我们需要修改一下vi的别名,并且,我们使用neovim,vi毕竟还是有很多功能比较原始 所以 插件不能少,,省心点,我们用github最多星的 https://github.com/amix/vimrc 执行以下脚本,安装vim常用插件,具体插件
2019-06-11T04:23:00Z
2019-06-11T04:23:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】centos7默认是使用vi,而不是使用vim,所以,我们需要修改一下vi的别名,并且,我们使用neovim,vi毕竟还是有很多功能比较原始 所以 插件不能少,,省心点,我们用github最多星的 https://github.com/amix/vimrc 执行以下脚本,安装vim常用插件,具体插件 <a href="https://www.cnblogs.com/linbc/p/11002915.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/10555623.html
openresty及lua的随机函数 - 冷侃
我们都知道,所谓的随机都是伪随机,随机的结果是由随机算法和随机种子决定的。 所以,当我们没有初始化的时候,如果直接使用math.random(),那么出来的值肯定是每次都一样,因为种子等于0。 因此,我们都会在进程启动前,我们先调用一下种子 --随机种子初始化 math.randomseed(tos
2019-03-18T14:21:00Z
2019-03-18T14:21:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】我们都知道,所谓的随机都是伪随机,随机的结果是由随机算法和随机种子决定的。 所以,当我们没有初始化的时候,如果直接使用math.random(),那么出来的值肯定是每次都一样,因为种子等于0。 因此,我们都会在进程启动前,我们先调用一下种子 --随机种子初始化 math.randomseed(tos <a href="https://www.cnblogs.com/linbc/p/10555623.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/9934671.html
秀一秀我们的招聘创意... - 冷侃
2018-11-09T05:49:00Z
2018-11-09T05:49:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】 <a href="https://www.cnblogs.com/linbc/p/9934671.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/9710487.html
微信小程序及各种平台对接常用可逆加密算法aes256 - 冷侃
不同程序之间经常会交换数据,我们经常采用的套路是: 假设要传输的信息是json,我们假设其为json_data,通过http传递信息为 json_data_encode=json_data&sign=md5(json_data+key) 接收方通过验证sign就知道内容有没有被篡改. 但是,这样js
2018-09-26T14:26:00Z
2018-09-26T14:26:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】不同程序之间经常会交换数据,我们经常采用的套路是: 假设要传输的信息是json,我们假设其为json_data,通过http传递信息为 json_data_encode=json_data&sign=md5(json_data+key) 接收方通过验证sign就知道内容有没有被篡改. 但是,这样js <a href="https://www.cnblogs.com/linbc/p/9710487.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/8581286.html
cetnos7下openresty使用luarocks 进行lua的包管理 - 冷侃
先安装一下包管理工具 yum install luarocks lua-devel -y luarocks install lpack ln -s /usr/lib64/lua /usr/local/lib 指定luarocks安装路径参数备忘 luarocks install lpack --tr
2018-03-16T06:42:00Z
2018-03-16T06:42:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】先安装一下包管理工具 yum install luarocks lua-devel -y luarocks install lpack ln -s /usr/lib64/lua /usr/local/lib 指定luarocks安装路径参数备忘 luarocks install lpack --tr <a href="https://www.cnblogs.com/linbc/p/8581286.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/7171699.html
游戏里面的容斥原理 - 冷侃
我们处理游戏Boss掉落时经常碰到一个问题,假设这个BOSS会掉3个部位的装备, 武器:20% 衣服:30% 头盔:50% 那么求,期望次数多少,可以集齐这三件装备 作为程序员,我们先来一段暴力破解,循环1000000万次,也便于我们验证解果 但是这出来也只是个近似值,得到一个靠谱值,这个时候容
2017-07-14T09:51:00Z
2017-07-14T09:51:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】我们处理游戏Boss掉落时经常碰到一个问题,假设这个BOSS会掉3个部位的装备, 武器:20% 衣服:30% 头盔:50% 那么求,期望次数多少,可以集齐这三件装备 作为程序员,我们先来一段暴力破解,循环1000000万次,也便于我们验证解果 但是这出来也只是个近似值,得到一个靠谱值,这个时候容 <a href="https://www.cnblogs.com/linbc/p/7171699.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/6308894.html
最近编译tolua_runtime安卓编译错误 - 冷侃
编译时出现以下错误In file included from lj_ffrecord.c:859:0: lj_recdef.h:224:1: error: ‘recff_rawlen’ undeclared here (not in a function) recff_rawlen, ^ Makef
2017-01-19T14:02:00Z
2017-01-19T14:02:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】编译时出现以下错误In file included from lj_ffrecord.c:859:0: lj_recdef.h:224:1: error: ‘recff_rawlen’ undeclared here (not in a function) recff_rawlen, ^ Makef <a href="https://www.cnblogs.com/linbc/p/6308894.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/6298568.html
省事之通用Makefile模版 - 冷侃
现在编译方案都偏爱使用cmake解决问题,这两条做unity插件,还是用Makefile,居然忘得光光,好记性不如烂笔头。 后面,翻箱倒柜找到以前为炼金术写的Makefiel,发现还真是挺好用,贴出来,当万能Makefile模板挺好的。。 修改LIBNAME为你想要库名 在源码目录文件名为Makef
2017-01-18T15:47:00Z
2017-01-18T15:47:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】现在编译方案都偏爱使用cmake解决问题,这两条做unity插件,还是用Makefile,居然忘得光光,好记性不如烂笔头。 后面,翻箱倒柜找到以前为炼金术写的Makefiel,发现还真是挺好用,贴出来,当万能Makefile模板挺好的。。 修改LIBNAME为你想要库名 在源码目录文件名为Makef <a href="https://www.cnblogs.com/linbc/p/6298568.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/5907289.html
这个测速挺好的 - 冷侃
// <![CDATA[ // ]]>
2016-09-25T14:38:00Z
2016-09-25T14:38:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】// <![CDATA[ // ]]> <a href="https://www.cnblogs.com/linbc/p/5907289.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/5577415.html
unity3d项目版本管理设置 - 冷侃
unity3d老是有一堆乱七八糟的文件,好像不提交也不行,特别是那烦人的meta文件,哪到底unity项目提交到版本管理哪些东西可以忽略呢?应该设置些什么东西呢? 菜单,Edit => Project Settings => Edit Version Control => Visible Meta
2016-06-12T06:23:00Z
2016-06-12T06:23:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】unity3d老是有一堆乱七八糟的文件,好像不提交也不行,特别是那烦人的meta文件,哪到底unity项目提交到版本管理哪些东西可以忽略呢?应该设置些什么东西呢? 菜单,Edit => Project Settings => Edit Version Control => Visible Meta <a href="https://www.cnblogs.com/linbc/p/5577415.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/5549573.html
lua垃圾回收之空表 - 冷侃
故事背景: 自己手动手写的一个lua外部库luaopen_xxx,采用了tolua++1.0.93,编译后得到xxx.dll,当在luajit中require 'xxx'后是正常的,但如果运行环境换成lua5.1.4,进程崩溃,调试后发现,出问题的现场在这个函数: 堆栈如下: 如果解决这个问题: 先
2016-06-01T06:47:00Z
2016-06-01T06:47:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】故事背景: 自己手动手写的一个lua外部库luaopen_xxx,采用了tolua++1.0.93,编译后得到xxx.dll,当在luajit中require 'xxx'后是正常的,但如果运行环境换成lua5.1.4,进程崩溃,调试后发现,出问题的现场在这个函数: 堆栈如下: 如果解决这个问题: 先 <a href="https://www.cnblogs.com/linbc/p/5549573.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/5279125.html
使用MongoDB血泪般的经验教训 - 冷侃
故事背景,天书世界,现在项目已经属于成熟维护期,是时候总结一下当时的想法 第一个问题,为什么使用mongodb? 第二个要回答的问题,mongodb有什么让人纠结点? 第三个问题,都这样了,有什么要说的吗? 常规经验贴,推荐 http://www.cnblogs.com/cswuyg/p/45957
2016-03-15T05:25:00Z
2016-03-15T05:25:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】故事背景,天书世界,现在项目已经属于成熟维护期,是时候总结一下当时的想法 第一个问题,为什么使用mongodb? 第二个要回答的问题,mongodb有什么让人纠结点? 第三个问题,都这样了,有什么要说的吗? 常规经验贴,推荐 http://www.cnblogs.com/cswuyg/p/45957 <a href="https://www.cnblogs.com/linbc/p/5279125.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/5238691.html
关于cmake输出动态链接库名字的问题 - 冷侃
使用cmake进行项目编译管理时,我们经常使用 add_library(foo SHARED foo.cpp) 这样的话,输出时,如果在win下面会得到foo.dll,linux下面会得到libfoo.so,mac 下得到libfoo.dylib 如果我们编写的是用于lua扩展的C模块,那么在进行r
2016-03-03T07:10:00Z
2016-03-03T07:10:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】使用cmake进行项目编译管理时,我们经常使用 add_library(foo SHARED foo.cpp) 这样的话,输出时,如果在win下面会得到foo.dll,linux下面会得到libfoo.so,mac 下得到libfoo.dylib 如果我们编写的是用于lua扩展的C模块,那么在进行r <a href="https://www.cnblogs.com/linbc/p/5238691.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/5167319.html
lua-excel助手 - 冷侃
excel是我们工作及生活当中不可或缺的东西,好吧,我是一个游戏程序员,数值哥哥肯定会给我些表格的。回归正题,为什么需要做这个封装? 为什么需要这个项目,因为我们需要使用程序进行自动化操作 VBA我们不熟悉,而且我必须使用我最熟悉的lua或者是python,由于lua的运行环境更简单,直接文件拷贝一
2016-02-01T07:52:00Z
2016-02-01T07:52:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】excel是我们工作及生活当中不可或缺的东西,好吧,我是一个游戏程序员,数值哥哥肯定会给我些表格的。回归正题,为什么需要做这个封装? 为什么需要这个项目,因为我们需要使用程序进行自动化操作 VBA我们不熟悉,而且我必须使用我最熟悉的lua或者是python,由于lua的运行环境更简单,直接文件拷贝一 <a href="https://www.cnblogs.com/linbc/p/5167319.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/5158327.html
lua之m进制转换为n进制-任意进制转换算法 - 冷侃
够无聊的写这个,为防止需要的人也无聊一遍,写个吧算法有n种,但是,咱们一种就够用了 1 --数组倒序排列 2 local function orderByDesc( input ) 3 local output = {} 4 local count = #input 5 wh...
2016-01-25T10:31:00Z
2016-01-25T10:31:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】够无聊的写这个,为防止需要的人也无聊一遍,写个吧算法有n种,但是,咱们一种就够用了 1 --数组倒序排列 2 local function orderByDesc( input ) 3 local output = {} 4 local count = #input 5 wh... <a href="https://www.cnblogs.com/linbc/p/5158327.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/5041648.html
使用c++11写个最简跨平台线程池 - 冷侃
为什么需要多线程?最简单的多线程长啥样?为什么需要线程池,有什么问题?实现的主要原理是什么?带着这几个问题,我们依次展开。1.为什么需要多线程? 大部分程序毕竟都不是计算密集型的,简单的说,正常情况下,以单线程的模式来写对程序员而言是最舒心的。因为所有的代码都是顺序执行,非常容易理解!函数一级一级...
2015-12-12T10:52:00Z
2015-12-12T10:52:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】为什么需要多线程?最简单的多线程长啥样?为什么需要线程池,有什么问题?实现的主要原理是什么?带着这几个问题,我们依次展开。1.为什么需要多线程? 大部分程序毕竟都不是计算密集型的,简单的说,正常情况下,以单线程的模式来写对程序员而言是最舒心的。因为所有的代码都是顺序执行,非常容易理解!函数一级一级... <a href="https://www.cnblogs.com/linbc/p/5041648.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/5034286.html
跨平台c++/boost/asio 简单的HTTP POST请求 客户端模型 - 冷侃
作为一个呼应,写一个c++版本的同步http post客户端功能,如果你需要纯C版本,移步这里linux下纯C简单的HTTP POST请求 客户端模型讲解一下基本的的http post协议通过\r\n,实现tcp的消息边界每个请求的第一段POST/a.bHTTP/1.1POST http的方法,还有...
2015-12-09T13:18:00Z
2015-12-09T13:18:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】作为一个呼应,写一个c++版本的同步http post客户端功能,如果你需要纯C版本,移步这里linux下纯C简单的HTTP POST请求 客户端模型讲解一下基本的的http post协议通过\r\n,实现tcp的消息边界每个请求的第一段POST/a.bHTTP/1.1POST http的方法,还有... <a href="https://www.cnblogs.com/linbc/p/5034286.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/4861858.html
ssh配置调试的必杀技 - 冷侃
我们知道,ssh客户端的文件及文件夹的权限会影响到身份验证是否通过,可能又不告诉我们为什么,这真是件烦心了事 所以,服务器调试执行就可以看到很多错误信息了  /usr/sbin/sshd -d -p 2222 以上命令采用调试方式监听端口2222,可以看到错误信息,妈妈再也不用担心我的权限问题了 客
2015-10-08T10:35:00Z
2015-10-08T10:35:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】我们知道,ssh客户端的文件及文件夹的权限会影响到身份验证是否通过,可能又不告诉我们为什么,这真是件烦心了事 所以,服务器调试执行就可以看到很多错误信息了  /usr/sbin/sshd -d -p 2222 以上命令采用调试方式监听端口2222,可以看到错误信息,妈妈再也不用担心我的权限问题了 客 <a href="https://www.cnblogs.com/linbc/p/4861858.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/linbc/p/4788806.html
关于lua垃圾回收是否会执行__gc函数呢? - 冷侃
直接上代码 执行结果 结论: lua 5.1、luajit不支持 lua5.2完美支持 终于找到一个升级为lua5.2的理由了
2015-09-07T06:37:00Z
2015-09-07T06:37:00Z
冷侃
https://www.cnblogs.com/linbc/
【摘要】直接上代码 执行结果 结论: lua 5.1、luajit不支持 lua5.2完美支持 终于找到一个升级为lua5.2的理由了 <a href="https://www.cnblogs.com/linbc/p/4788806.html" target="_blank">阅读全文</a>