摘要: 最近主要编程语言从 PHP 转到了 Java,一个多月的经历对我很有意义,所以写文章记录一下经历,再分享一下最近学习 Java 的心得体会。 阅读全文
posted @ 2018-03-05 19:50 枕边书 阅读(23265) 评论(8) 推荐(20) 编辑
摘要: Redis 提供的命令简单而高效,但有时候我们可能会需要命令更复杂一些,如用来实现“原子”操作或复合命令。本文通过几个实例介绍了 Redis 提供的 Lua 脚本嵌入功能,并总结了一下适用场景。 阅读全文
posted @ 2018-02-05 19:27 枕边书 阅读(7554) 评论(1) 推荐(2) 编辑
摘要: 接之前的文章对 PostgreSQL 的查询效果和效率进行优化,从使用 B树索引优化查询效果,到使用子查询优化查询效率,最后又使用分词替换掉 B树索引,见招拆招,达成优化目标。 阅读全文
posted @ 2018-01-09 19:34 枕边书 阅读(2279) 评论(3) 推荐(5) 编辑
摘要: 下面列了我读过的一些编程相关的书籍,写了一些对书的印象,都是个人观点。书名后是我个人对书的推荐强烈度打的分(5分满分),都是拍脑袋打的。 我比较习惯读纸质书,买书也比较谨慎,踩的坑少(围笑),分打得可能比较高一些。 操作系统 《Linux内核设计与实现》5分:全书都在讲 Linux 内核的设计思想, 阅读全文
posted @ 2018-01-07 19:55 枕边书 阅读(3622) 评论(4) 推荐(6) 编辑
摘要: 红黑树是非常经典且实用的数据结构,本文通过它的等同——2-3-4树,避开颜色因素的影响,以一种更简单的方式介绍了红黑树插入删除操作的实现。文章附带 PHP 和 Java 版红黑树源码。 阅读全文
posted @ 2018-01-03 19:39 枕边书 阅读(9596) 评论(9) 推荐(10) 编辑
摘要: 本文介绍了如何使用 Nginx 路由重写功能搭配 Linux 链接,再加上项目内部路由达到代码的渐进式迁移,在新旧项目之间实现无缝切换。 阅读全文
posted @ 2017-12-25 20:05 枕边书 阅读(2650) 评论(0) 推荐(2) 编辑
摘要: 恰当地使用多线程能够大大提升程序效率,本文对比多进程介绍了下多线程的优势和适用场景,提出了一种巧用方案,并使用 PHP 代码实现了多线程的常见用法。 阅读全文
posted @ 2017-12-04 20:23 枕边书 阅读(82588) 评论(4) 推荐(23) 编辑
摘要: cron 在单机上应用很方便,可是在多台机器、任务繁多的情况下,想把任务管理得井井有条就不是一件简单的事了。我来安利一个自己用 Go 实现的 cron plus,文章主要介绍实现思想和各功能的技术要点。 阅读全文
posted @ 2017-11-27 19:26 枕边书 阅读(8296) 评论(14) 推荐(11) 编辑
摘要: 全文检索应该算是一个挺普遍的需求了,虽然有 ES 这种搜索引擎,但为了数据的灵活性,关系型数据库更为适合。本文记录了 PostgreSQL 进行全文搜索时的配置步骤,总结了几个优化点,同时填了几个经常遇到的坑。 阅读全文
posted @ 2017-11-06 21:35 枕边书 阅读(31778) 评论(4) 推荐(5) 编辑
摘要: 项目迁移过程中,项目代码结构的确认是头等大事,本文聊聊我在进行老项目重构时进行代码结构设计中的问题和思考。 阅读全文
posted @ 2017-11-02 19:31 枕边书 阅读(5270) 评论(5) 推荐(5) 编辑
摘要: 在“求佛保佑服务器不宕机”、“杀程序员祭天”的环境下,程序员每天可谓是战战兢兢,接到电话和短信都吓得瑟瑟发抖,为了我们的安全,及时发现服务器运行问题已不仅仅是运维的问题了。本文总结了常见的服务器监控指标,希望各位开发人员都搞一个脚本运行着以保障自己的生命安全。 阅读全文
posted @ 2017-10-17 19:37 枕边书 阅读(1789) 评论(1) 推荐(3) 编辑
摘要: 随着业务发展和数据积累,你的 Redis 服务器变得越来越臃肿了,甚至内存爆满影响了业务,那么它是如何一步一步走到这个地步,又如何解决呢?希望本文能帮助到你。 阅读全文
posted @ 2017-10-09 19:48 枕边书 阅读(3515) 评论(8) 推荐(11) 编辑
摘要: 文章通过用Go语言实现的设计模式,总结了各模式的特点和使用场景,并配以现实生活中的实例,帮助理解设计模式。本篇包括:责任链模式、蝇量模式、解释器模式、中介者模式、备忘录模式、原型模式和访问者模式; 阅读全文
posted @ 2017-09-11 19:30 枕边书 阅读(1070) 评论(0) 推荐(4) 编辑
摘要: 前言 前几天,从 DBA 手里接到一个 Redis RDB 文件,里面是 15G 约 660万 的 Redis 键值对数据,想通过这些数据提取出当前 Redis 的 Key 和这些 Key 的类型。其文件的每行结构类似于: KEY: IAmATestKey || TYPE: STRING || ex 阅读全文
posted @ 2017-09-06 19:30 枕边书 阅读(2261) 评论(4) 推荐(9) 编辑
摘要: 文章通过用Go语言实现的设计模式,总结了各模式的特点和使用场景,并配以现实生活中的实例,帮助理解设计模式。本篇包括:模板模式、迭代器模式、组合模式、状态模式、代理模式、桥接模式和建造者模式; 阅读全文
posted @ 2017-08-29 19:19 枕边书 阅读(1282) 评论(2) 推荐(1) 编辑
摘要: PHP程序员阅读Java语言实现设计模式的书,然后用Go语言实现。配以现实生活中的实例,帮助理解设计模式。本篇包括:策略、观察者、装饰者、工厂、单例、命令、适配器、外观。 阅读全文
posted @ 2017-08-21 20:46 枕边书 阅读(2158) 评论(2) 推荐(2) 编辑
摘要: 本文通过 PHP 调用 Go 服务的实例的实现,介绍一种不同语言进程间通信的方式:Unix Domain Sockets,它可以快速高效地实现进程间的数据、信息交互,而且不需要锁等复杂操作,可谓是进程间通信的利器。 阅读全文
posted @ 2017-07-31 20:29 枕边书 阅读(9223) 评论(10) 推荐(9) 编辑
摘要: 60万 条短消息记录,5万 关键词,看我如何一步步地将耗时 10小时 的作业优化到 10分钟 以内。优化过程中的心得、坑和结论方法,希望能大家一些启发。 阅读全文
posted @ 2017-07-17 20:29 枕边书 阅读(20598) 评论(62) 推荐(102) 编辑
摘要: 常在 linux 下玩耍的开发者肯定会经常遇到需要对进程调度的情况,也会遇到一些其中的小状况,本文介绍了几个可以在 linux 方便安稳运行后台程序的命令、常用的作业调度命令及 Daemon 进程的特点及创建,也解决了几个常见的小问题。 阅读全文
posted @ 2017-07-11 20:22 枕边书 阅读(10105) 评论(25) 推荐(26) 编辑
摘要: 本文通过C语言的四叉树实例,介绍了四叉树的实现过程(主要是插入和查询),另外介绍了四叉树的边界点问题及解决方案,并将四叉树和GeoHash在实现空间索引的原理上做了对比。 阅读全文
posted @ 2017-06-21 20:31 枕边书 阅读(31493) 评论(6) 推荐(20) 编辑