子集构造法

概念 首先介绍一下 有限自动机 FA (Finite Automate)的概念,形式上它是一个五元组 \( (S, \sum, \delta, s_0, S_A) \) \( S \) 是识别器的有限状态集,以及一个错误状态\( S_e\) \( \sum \)是识别器使用的有限字母表。通常,\( \sum \) 是转移图中边的标签合集 \( \delta( »

hibernate 测试

问题 线上出现了一个问题,跟hibernate相关,所以想先搭建一下环境测试 环境 用的idea旗舰版,很不好意思是破解的,本来是想买正版的,但是正式实在是太贵了。 新建项目Maven,使用SDK jdk 1.8 选择Create from archetype, maven-archetype-webapp项目 项目目录,如下 问题 问题1 写测试样例的时候,报错了 四月 25, »

数据库并发锁

问题 之前让同事修改需求,实现商品列表页上的每个购物车图标按钮,点击能够局部刷新用户的购物车 购物车数据库是这样设计的,每条数据主要跟用户id、商家id、商品id有关;另外还有一个字段是count,也就是说用户对某个商品的购物车数据就是该count 如果查到三条信息一致的记录,那么就update原来的那条记录 count + 1 如果没有查到这样的记录,那么insert一条 count = 1 的数据 问题就是这个insert;不然只有update的话,按照原来我写的文章 mysql数据一致性闲谈,搞一个悲观锁就ok了 问题场景 当一个新的用户, »

Redis入侵服务器

redis集群 之前打算用redis作为session的缓存,然后让同事去配置了redis集群。测试环境流程ok,在生产环境并没有直接合入,只是单纯地搭建了redis集群数据库。 发现问题 因为我们有自动化备份数据,利用linux自带的cron工具,每天凌晨2点去执行备份数据库脚本,但是我们运维人员某天去检查的时候,发现当天的凌晨2点并没有产生备份数据库。沿着线索发现cron的文本已经被修改了 cd /var/spool/cron/crontabs/ //文件位置 cat root //查看文件 REDIS0007dis-ver3.2.8edis-bitsctimeXed-mem */1 »

extern c

函数签名 Function Signature,函数签名包含了一个函数的信息,包括函数名、它的参数类型、它所在的类和名称空间及其他信息。 编译过程中,编译器(或者链接器)处理符号时,他们使用某种名称修饰的方法,使得每个函数签名对应一个修饰后名称(Decorated Name)。 (内容主要摘抄《程序员的自我修养》) 以下表格是c++代码编译过后在gcc编译器下的符号名 函数签名 修饰后名称(符号名) int func(float) _Z4funcf »

js valueOf

toString的区别 valueOf():返回最适合该对象类型的原始值; toString(): 将该对象的原始值以字符串形式返回。 在数值运算里,会优先调用valueOf(),如a + b; 在字符串运算里,会优先调用toString(),如alert(c)。 知乎来源 我在网上找到的其他例子,放在crhome里面跑,或者nodejsV7.7.2都是不同的 所以有理由相信,之前的js实现跟当前流行的是不一样的,下面以nodejs为主 var c = { i: 10, »

编译clang

环境 windows10 vs2015update3 community版 cmake3.7.2 Python 3.5.3 GnuWin32 tools llvm4.0源码 安装过程 首先安装vs2015updaate3 community版,双击iso镜像文件,win10系统自动挂载,在虚拟镜像里面双击vs_community.exe,选择默认安装即可 python、cmake安装过程比较简单, »