领域驱动设计(DDD)实践之路(一)

领域驱动设计是当前比较热门的话题,不过我发现大家对DDD也存有一些误区,使其渐渐成了一门“高深的玄学”,经常被大家束之高阁。本人通过学习实践思考,逐渐领悟到DDD作为一种思想,其实离我们很近。当我们掌握个中缘由、领悟其精髓以后一定能够“笑傲代码”,掌握解决软件核心复杂性的内功心法。 ... »

深入理解 web 协议(一)- http 包体传输

本文介绍如何使用chrome的network面板和wireshark抓包工具进行http协议的分析,重点介绍http1.x协议中的“队头拥塞”的概念,以及该问题的应对方式和浏览器的限制策略。 ... »

Tomcat 应用中并行流带来的类加载问题

随着 Java8 的不断流行,越来越多的开发人员使用并行流(parallel)这一特性提升代码执行效率。但是,作者发现在Tomcat容器中使用并行流会出现动态加载类失败的情况,通过对比Tomcat多个版本的源码,结合并行流和JVM类加载机制的原理,成功定位到问题来源。本文对这个问题展开分析,并给出解... ... »

函数式编程杂谈

比起命令式编程,函数式编程更加强调程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断演进,逐层推导出复杂的运算。本文通过函数式编程的一些趣味用法来阐述学习函数式编程的奇妙之处。 ... »

基于 Lerna 管理 packages 的 Monorepo 项目最佳实践

对于维护过多个package的同学来说,都会遇到一个选择题,这些package是放在一个仓库里维护还是放在多个仓库里单独维护,本文通过一个示例讲述了如何基于Lerna管理多个package,并和其它工具整合,打造高效、完美的工作流,最终形成一个最佳实践 ... »

400+节点的 Elasticsearch 集群运维

本文首发于InfoQ https://www.infoq.cn/article/1sm0Mq5LyY_021HGuXer 作者:Anton Hägerstrand 翻译:杨振涛 目录: 数据量 版本 节点配置 索引结构 性能 Meltwater每天要处理数百万量级的帖子数据,因此需要一种能处理该量级 ... »

深入理解 MySQL ——锁、事务与并发控制

本文对 MySQL 数据库中有关锁、事务及并发控制的知识及其原理做了系统化的介绍和总结,希望帮助读者能更加深刻地理解 MySQL 中的锁和事务,从而在业务系统开发过程中可以更好地优化与数据库的交互。 ... »