Thoughtworks 洞见电子书《换个角度认识软件》,免费下载!

这本书探讨了我对软件工程的认知心得,包括生活中的逻辑、模型思维、业务模型、领域模型、软件架构和团队系统等方面。我们可以通过使用模型思维分析问题、了解软件使用者的工作和生活等方法,更好地理解软件工程。软件源于生活中的问题,承载业务知识,结合计算机平台的能力,带来效率革命。

DDD之聚合过大

“DDD诊所”是Thoughtworks DDD社区的一项活动,通过对同事们在实施DDD过程中遇到的问题进行分析和解答,共同提高开发水平。我们将其中一些典型案例整理成文供大家参考。之后也会考虑在适当的时候将这一形式对外部开放。

如何编写技术文档?

所谓编写技术文档,基本意味着以结构化的方式组织文档,传达出清晰明确的信息,来让用户正确的使用你的软件产品。结构化文档不仅仅是当前最为主流的文档组织方式,在可预见的未来也会如此。

如何建立你的离岸交付团队?

这里有四种离岸交付合作模式:Team Extension Model,Hybrid Collaboration Model,E2E Collaboration Model和Onshore/Offshore Collaboration Model。每种模式都有其优势和挑战,需要根据组织自身情况选择合适的模式。其中E2E Collaboration Model是一种全面的离岸交付模式,适用于团队成熟度较高、业务模块相对独立的情况。

低碳 Web 实践指南

本文探讨了如何构建低碳 Web 应用来应对气候变化和碳排放问题。文章指出,通过精简压缩 Web 应用、降低数据传输量以及优化应用性能等措施,可以减少碳排放。文章还强调了在软件开发生命周期中落地相关举措的重要性,并提供了一些测试工具和实践经验。

什么是多运行时架构?

随着微服务架构在大规模组织中成熟落地,服务化体系规模的不断扩张也带来了一些典型问题:服务如何有效治理和接入?团队如何高效协作?本文介绍了多运行时架构解决上述问题的思路,并通过几种开源方案探讨了在实现中遇到的挑战,最后提出了对演进的设想及展望。本文介绍了多运行时架构的概念以及一些实现方案,并讨论了目前的实现中存在的限制与挑战,最后设想了一种未来可能的架构形态。

Serverless的系统监控

尽管Serverless架构在某些方面表现出色,但在当前轰轰烈烈的“微服务”进程中,它仍然不是一种主要的选择。除了由于本身特性导致的使用场景受限外,我想乏善可陈的关于Serverless最佳实践的总结也是一个重要的因素。