本文源码: https://github.com/jonechenug/ZHS.Nrules.Sample 1. 引言 1.1 为什么需要规则引擎 在业务的早期时代,也许使用硬编码或者逻辑判断就可以满足要求.但随着业务的发展,越来越多的问题会暴露出来: 逻辑复杂度带来的编码挑战,需求变更时改变逻辑可能会引起灾难 重复性的需求必须可重用,否则必须重复性编码 运行期间无法即时修改规则,但重新部署可能会带来其他问题 上线前的测试变得繁琐且不可控,必须花大量的人力和时间去测试 这些困境在『 小明历险记:…
在Windows环境下构建Lua 一:准备软件 1.C-compiler(TDM GCC)  http://tdm-gcc.tdragon.net/download 2.Lua源代码  http://www.lua.org/download.html 3.用2345好解软件更方便.解压软件7-zip,这里不使用官方版本 http://portableapps.com/apps/utilities/7-zip_portable 二:安装软件 gcc 安装完成gcc后的目录结构如下 2.安装解压软件…
写在前面 周末,跟阿里的一个朋友(去年晋升为P9了)聊了很久,聊的内容几乎全是技术,当然了,两个技术男聊得最多的话题当然就是技术了.从基础到架构,从算法到AI,无所不谈.中间又穿插着不少天马行空的想象,虽然现在看起来不太实际,但是随着技术的进步,相信五年.十年之后都会实现的. 不知道是谁提起了在高并发环境下如何构建缓存服务,结果一路停不下来了!! 缓存特征 (1)命中率:命中数/(命中数+没有命中数) (2)最大元素(空间):代表缓存中可以存放的最大元素的数量,一旦缓存中元素的数量超过这个值,或…
本文所有的东西都是在dot Net Core 1.1环境+VS2017保证测试通过. 本文接着上次文章接着写的,不了解上篇文章的可能看着有点吃力.我尽量让大家都能看懂.这是上篇文章的连接http://www.cnblogs.com/qulianqing/p/6745409.html.请大家先看一下,心里大致有个了解,然后看这篇博客就容易了. 这里说一下实现的步骤:1. 新建一个ASP dot Net MVC项目,在这里我的项目名为TestAPI 2. 在项目的根目录下添加一个文件夹 名字为Mod…
tomcat用户权限设置 在tomcat安装路径\conf目录下tomcat-users.xml添加: <role rolename="admin-gui"/> <role rolename="admin-script"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role role…
.NET Core 使用Nuget包一般是先写入csproj文件,然后下载保存在\bin\Debug\netcoreapp2.0\publish\下,所以可以采用如下方案进行删除操作(其中netcoreapp2.0是.NET Core版本). 第一种:修改配置和手动删除文件(不建议) 对于任何系统环境下都有效,直接修改csproj文件,nuget包都包含在这个文件下,修改后删除你本地相同包名称的文件就行. 例如:删除<PackageReference Include="Microsoft.…
安装 下载[http://www.interlog.com/~tcharron/wgetwin.html] 解压到目录 比如我解压到D:\Tool\wget 添加wget环境变量,这样使用就更方便了,右键计算机->属性->高级系统设置->高级->环境变量->选中PATH->编辑,在最后添加 ;D:\Tool\wget (实际解压路径) 到此安装完成. 使用 下载文件 wget 网址 而要让档案自动储存到指令的目录下,则需要借用-P这个参数,可以使用以下的指令 wget…
flannel 是coreos 开发的网络解决方案,为每一台主机分配一个 subnet,容器从此subnet 中分配ip,ip可以在主机间路由.每个subnet从更大的ip池中划分,为了在各个主机间共享信息,用etcd 存放网络配置信息.数据包在主机间转发是backend 决定的,flannel提供多种backend,包括vxlan ,host-gw. 一.环境 三台主机,一台etcd 主机,作为共享数据使用:两台主机安装docker. 做主机ip和主机名的 hosts文件映射,然后拷贝至三台机…
安装 下载[http://www.interlog.com/~tcharron/wgetwin.html] 解压到目录 比如我解压到D:\Tool\wget 添加wget环境变量,这样使用就更方便了,右键计算机->属性->高级系统设置->高级->环境变量->选中PATH->编辑,在最后添加 ;D:\Tool\wget (实际解压路径) 到此安装完成. 使用 下载文件 wget 网址 而要让档案自动储存到指令的目录下,则需要借用-P这个参数,可以使用以下的指令 wget…
做软件,遇到一些通用性的功能,我想绝大多数同学都是去网上(或自己之前的项目中)搜一段代码出来,贴到项目中,修修改改,完成任务. 但身为一个有追求的软件工程师,怎么能一直忍受这种低级的操作呢?插件化,模块化才是正确的选择. 一直想做些事情,做些能让软件开发成为快乐的事情,这段时间比较清闲(求职中...),于是整理了两个图形验证模块,希望对大家的日常开发工作有所帮助. 希望我做的事情能让你的开发工作变得些许轻松,以后还会继续开源一些基础组件,努力让软件开发成为快乐的事情,让天下没有难写的代码. 项目…