摘要: 前一段时间用node.js写了一个简单的文件服务器,用于做项目时本地架设服务器满足客户端下载文件的需求(链接在这里)。 因为是用于本地的测试服务器,所以也没有怎么考虑安全性,直接根据url的路径去读取本地的目录和文件。今天想把文件服务器放到外网测试服务器上提供测试服务,部署之前对文件服务器做了下检查,结果发现,即使是文件服务器这么简单的逻辑,如果不考虑安全,也会导致以下2个漏洞: url指向绝对... 阅读全文
posted @ 2017-03-19 17:58 libla 阅读(237) 评论(0) 推荐(0) 编辑
摘要: Redis的持久化方式主要有2种:RDB和AOF,但各有不足,同时Redis没有SQL支持,Redis本身提供的命令不足以实现大多数SQL查询需求,对后期运营的分析需求支撑不足。此外,对于游戏来说,活跃玩家只占总玩家的很少一部分,所以冷热数据分离也很有必要。因此我觉得Redis最好的持久化方案是备份 阅读全文
posted @ 2017-03-12 19:09 libla 阅读(4136) 评论(0) 推荐(0) 编辑
摘要: 在各种内存CPU核心只有1/2核,内存只有512M/1G的vps下,内存、CPU、硬盘都不是太充裕。因此主要思路是,禁止吃内存大户innodb引擎,默认使用MyISAM。禁止吃硬盘大户log-bin,再调节一些参数到合适的数值。 重启后mysql的内存占用大概为70M+,其中和内存关系较大的是key 阅读全文
posted @ 2016-11-06 08:38 libla 阅读(2011) 评论(0) 推荐(0) 编辑
摘要: 看到某云的CDN居然是使用ftp这种早该淘汰的协议,不禁有些吐槽。ftp曾经作为互联网上最重要的协议,但漫长使用过程中体现出的各种缺点,已不适合再使用。其中最致命的问题就是明文传输用户密码。建议使用这种CDN时,最好长个心眼关闭ftp管理方式,直接使用回源透传的模式。 不过某些情况下,不适合使用sv 阅读全文
posted @ 2016-11-06 08:19 libla 阅读(4164) 评论(0) 推荐(0) 编辑
摘要: 如果你是从nuget上下载安装的SevenZipSharp库,当你写好相应代码,兴冲冲的启动程序进行测试时,以下画面会让你受到当头一棒: 究其原因,是因为SevenZipSharp只是native 7z库的C# Wrap,所以你要让程序能够正常运行,还需要有7z的运行时库(但诡异的是SevenZip 阅读全文
posted @ 2016-08-31 01:45 libla 阅读(4671) 评论(0) 推荐(0) 编辑
摘要: 7z格式采用的LZMA算法,号称具有现今最高压缩率。笔者在nuget上搜索7z,在搜索结果中最终选择了SevenZipSharp来进行压缩/解压。不得不说,SevenZipSharp的API设计得非常方便。 压缩调用: 解压调用: 顺便附上zlib的压缩/解压(使用zlib.net库): 阅读全文
posted @ 2016-08-31 01:36 libla 阅读(6612) 评论(0) 推荐(0) 编辑
摘要: 朋友有个需求,想对N张excel表做过滤和合并的处理,拜托我写个小程序。因为用户的背景是非专业用户,因此最好的选择是写个GUI程序,再加上读写excel的需求,所以我的首选就是C#的WinForm了。 经过搜索,读写excel文件有3种方法: 因为前2种方法都只能在windows平台下使用,虽然能够 阅读全文
posted @ 2016-08-31 00:55 libla 阅读(23598) 评论(6) 推荐(1) 编辑
摘要: 今天和人讨论了一下CPS变形为闭包回调(典型为C#和JS),以及Lua这种具有真正堆栈,可以yield和resume的coroutine,两种以同步的形式写异步处理逻辑的解决方案的优缺点。之后生出疑问,这两种做法,到底哪一种会更消耗。我自己的判断是,在一次调用只有一两个异步调用中断时(即有2次回调, 阅读全文
posted @ 2016-08-16 03:45 libla 阅读(3795) 评论(3) 推荐(0) 编辑
摘要: 今天尝试把.net4.5新增的异步编程模型async/await加入自己的框架,因为从第一印象看,使用async/await的写法实在太方便了,以同步代码的方式写异步流程,写起来更顺畅,不容易打断思路,异常传递、资源控制(lock和using)也都完美支持,即使有少量的性能损失,也完全可以接受。 首 阅读全文
posted @ 2016-08-14 19:26 libla 阅读(3642) 评论(9) 推荐(0) 编辑
摘要: 跨平台开发有一个众所周知,但因为只是偶尔受到困扰,一般人不会在意的问题,就是windows对文件名大小写不敏感,而其他平台对文件名大小写敏感。因此可能出现在windows平台开发时一切正常,但部署/打包到其他平台下,运行时加载文件会失败。我对于这种问题也是不甚在意的,一般都是打包/部署时把所有文件转 阅读全文
posted @ 2016-08-11 23:53 libla 阅读(2380) 评论(0) 推荐(1) 编辑