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