长连接与 Websocket 2019-10-27 编程随笔 约 472 字 预计阅读 1 分钟 公司想要做一个聊天系统,原本打算上 Websocket ,我例程都写了,老板又不想弄长连接了,认为短连接就符合需求了,无奈。 Websocket 还是值得说一说的,我们是使用 node 开发的。 阅读更多 »
分布式锁的简单实现 2019-10-20 后端 约 384 字 预计阅读 1 分钟 打算每周写一篇博客,希望每周都能有新的收获。本周写的博客是我在工作中应用写的一个有趣的东西。 我们采用 pm2 进行进程管理,我们开启了多个进程,但各个进程之间并没有交流,所以,我想要全局操作某个变量时,就会出现数据安全问题,虽然在 redis 里面单个操作是原子,但我也要保证复合操作也是原子的。但我并不使用 redis 的事务,是因为这个事务会阻塞其他操作,所以,不如在应用层上实现锁,从而不阻塞 redis 。我们虽然不是分布式系统,但是是分布式进程,所以实现也参考分布式锁。 阅读更多 »
Java 源码阅读之 HashMap 2019-10-04 Java 约 2552 字 预计阅读 6 分钟 对以下一段代码进行 Debug,阅读建议边 Debug 边看。 import java.util.HashMap; public class Collec { public static void main(String[] args) { HashMap a = new HashMap(); a.put("sd", "54"); a.put("sd", "125"); } } 阅读更多 »
读书的退步 2019-07-04 随笔 约 1198 字 预计阅读 3 分钟 我自高中以后便没有写过什么作文了,一来是没有什么闲心,二来是没有什么动力。同样的情况,我从高三开始便没有再读书了,就是那些闲书,以前我最爱看的,什么小说啊,社科啊,哲学之类的。在我高三开始,为了省下复习的时间,于是便戒了书瘾。结果是,书瘾戒了,学习却没有好,高中时候花了大量时间去读闲书,到头来却是得到了最差的结果。 阅读更多 »
在 Debian 下使用 PPA 2019-06-26 Linux 约 760 字 预计阅读 2 分钟 仅仅使用 Debian 源里的软件包并不是很够,所以不可避免的,我们会使用一些第三方的软件源,比如 Arch 下的 aur , Ubuntu 的 PPA ,等等。由于 Ubuntu 是 Debian 系的发行版,两者的包管理是相通的,所以我们可以借用一下 Ubuntu 的 PPA 来扩充我们的软件库。然而,两者毕竟不是同一发行版,所以还是会有很多的差别,我们并不能保证两者的软件包一定能通用,毕竟打包并不是针对 Debian 的,不过, Ubuntu 能用的, Debian 基本能用,所以,把 Ubuntu 的 ppa 拉过来还是很有意义的。 阅读更多 »
动态规划求解 RMQ 问题 2019-03-22 Algorithm 约 1012 字 预计阅读 3 分钟 rmq 即是区间最值问题,这里是动态规划模板的讲解。所谓 dp 的方法,就是区间 dp 的方法,如果采用原始的区间 dp 方法,那么当数据量很大时会出现时间和空间的双重爆破。这里我们采用了倍增法。我们通过这个模板来观察这个的实现以及思想。 阅读更多 »