
Linux升级Vim8.0
Vim 8.0的更新带来了更多可能性,让各种插件能够完成很多以前做不了的事情,让 Vim 在保持小巧的情况下,跟 emacs 一样变得 “像个操作系统了” (这句话好像是 emacser 们最值得骄傲的地方),提供比以前好得多的体验。如何在Ubuntu 16.04中安装Vim 8.0虽然 Vim 8.0 已经正式发布,但要进入各大 Linux 发行版的官方源还需要很长一段时间。幸运的是,已经...

数据结构常见的排序算法(golang版)
排序算法是比较基础的内容,在工作过程中可能使用的场景不多(现存的语言框架已经实现了常用数据类型的排序算法,一般会根据使用场景选择不同的排序策略),但对个人的代码逻辑锻炼却有帮助。排序算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以...

Postgresql 死锁解决方案
- 死锁产生的原因数据库死锁的情况是什么?当多个事务处理对多个资源同时访问时,若双方已锁定一部分资源但也都需要对方已锁定的资源时,无法在有限的时间内完全获得所需的资源,就会处于无限的等待状态,从而造成其对资源需求的死锁,导致锁表。以下情况将导致死锁的发生:在某一个时刻,线程A在更新 user表的第1行数据,线程B在更新 user表的第2行数据;在下一刻,线程A需要操作user表的第2行数据(...