本文由作者FreddyChen原创分享,为了更好的体现文章价值,引用时有少许改动,感谢原作者. 1.写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间.今天终于从公司离职了,打算好好休息几天再重新找工作,趁时间空闲,决定静下心来写一篇文章,毕竟从前辈那里学到了很多东西. 工作了五年半,这三四年来一直在做社交相关的项目,有直播.即时通讯.短视频分享.社区论坛等产品,深知即时通讯技术在一个项目中的重要性,本着开源分享的精神,也趁这机会总结一下,所以写下了这篇文章. * 重要…
书接上文 上篇文章「MySQL 可重复读,差点就让我背上了一个 P0 事故!」发布之后,收到很多小伙伴们的留言,从中又学习到很多,总结一下. 上篇文章可能举得例子有点不恰当,导致有些小伙伴没看懂为什么余额会变负. 这次我们举得实际一点,还是上篇文章 account 表,假设 id=1,balance=1000,不过这次我们扣款 1000,两个事务的时序图如下: 这次使用两个命令窗口真实执行一把: 注意事务 2,③处查询到 id=1,balance=1000,但是实际上由于此时事务 1 已经提交,…
LAIN是宜信公司大数据创新中心开发的开源PaaS平台.在金融的场景下,LAIN 是为解放各个团队和业务线的生产力而设计的一个云平台.LAIN 为宜信大数据创新中心各个团队提供了统一的测试和生产环境,简化了服务的部署与上线流程,也降低了运维人员对系统管理的复杂度. GitHub地址:https://github.com/laincloud 一.安装 LAIN 集群 本节包含三种场景下安装LAIN集群 本地启动虚拟机安装LAIN集群,可供本地测试开发 物理服务器/虚拟机安装LAIN集群 云服务器安…
欢迎关注微信公众号:「Java之言」技术文章持续更新,请持续关注...... 第一时间学习最新技术文章 领取最新技术学习资料视频 最新互联网资讯和面试经验 何为 Starter ? 想必大家都使用过 SpringBoot,在 SpringBoot 项目中,使用最多的无非就是各种各样的 Starter 了.那何为 Starter 呢?你可以理解为一个可拔插式的插件(组件).或者理解为场景启动器. 通过 Starter,能够简化以前繁杂的配置,无需过多的配置和依赖,它会帮你合并依赖,并且将其统一集成…
项目地址:https://github.com/laiy/Awesome-Complier. 转载请注明出处. 前言 这是学校里编译原理课程的大作业,此Project十分适合编译原理的学习,让基本不听课的我理解了一个编译器的编写过程. 所以忍不住想分享一下. 什么是AQL? 全称: Annotation Query Language 用于Text Analytics. 可以从非结构化或半结构化的文本中提取结构化信息的语言. 语法与SQL类似. 什么是AQL Subset? AQL语法复杂,功能强…
一.前置说明: 操作系统:Centos 7 物理内存:>=2G 本人亲测,如果安装低版本的gitlab,比如我这里所使用的v8.17.0,物理内存1G,swap 2G虚拟内存即可部署.高版本的所需内存稍大,这里建议至少2G物理内存. 二.详细步骤如下: 1.下载wget yum install -y wget 2.安装gitlab依赖项 yum install -y curl openssh-server openssh-clients postfix cronie policycoreutil…
手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单   手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 Chrome的更新速度可以说前无古人,现在我每天开机的第一件事就是打开Chrome检查是不是有了新版本.界面清爽.操作人性化.网络备份资料和快速的启动速度令我爱不释手,还有它拥有众多的扩展程序,相对于firefox的插件来…
转载:http://www.cnblogs.com/walkingp/archive/2011/04/04/2003875.html 手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单   手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 Chrome的更新速度可以说前无古人,现在我每天开机的第一件事就是打开Chrome检查是…
手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 HTML5中的localStorage localStorage与cookie类似,它是存储在客户端浏览器中的数据,它与cookie不同的一点是它没有时间限制.localStorage属于html5中的新特性,在浏览器支持localStorage统计中,Chrome4+.Firefox3.5+.IE8+.IE…
手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 HTML5中的localStorage localStorage与cookie类似,它是存储在客户端浏览器中的数据,它与cookie不同的一点是它没有时间限制.localStorage属于html5中的新特性,在浏览器支持localStorage统计中,Chrome4+.Firefox3.5+.IE8+.IE…