任务模型的抽象具有广泛通用性的,例如饿了么骑手每笔骑单是任务,小法庭中交易纠纷的评审也可以被抽象为任务。 下面是简易的任务系统模块图,图示中去除了上下游的模块,保留了核心与小法庭业务特色部分。
当我们在学习DDD的过程中,感觉学而不得的时候,可能会问:我们还要学么?这的确引人深思。本文基于工作经验,尝试谈谈对DDD的一些理解。
加入蚂蚁三年,一路和业务一起成长。业务蚂蚁知识图谱平台-知蛛,获得 2020 全球人工智能产品应用博览会创新产品金奖,“蚂蚁知识图谱ⅹ网商银行”成为 2021 Forrester 金融科技标杆案例;与业务同学一起获得软件著作权 1 个、申请专利 10 个,作为第一发明人申请专利 5 个、已获得国家专利授权 1 个,撰写图可视化解决方案白皮书 1 篇。 我们是技术人,更是业务中的技术人。我们常说的「人事合一」、「因人成事」,指的就是我们的目标是做成业务中的「事」,但同时也需要关注着其中的「人」。本文从如何在业务中建立好的合作关系出发,将自己在业务中成长的经验分享给大家,和大家一起探讨技术人如何做好业务。
监控能力作为基础运维能力和核心稳定性措施,开发运维人员可以通过监控系统有效进行故障定位,预防潜在风险,分析长期趋势进行容量规划和性能调优,是软件开发生命周期中必不可少的一环。与此同时,Serverless 作为云计算的最佳实践和未来演进趋势,其全托管免运维的使用体验和按量付费的成本优势,使得其在云原生时代备受推崇,在下一个十年将成为云厂商提供的核心能力。随着 Serverless 的心智普及度越来越高,场景覆盖度越来越广,更多使用 PHP, Python,C/C++, Node.Js, Golang 等语言的用户开始进行 Serverless 架构升级。
近期,阿里巴巴CTO线卓越工程小组举办了阿里巴巴第一届单元测试比赛《这!就是单测》并取得了圆满成功。本人有幸作为评委,在仔细地阅读了各个小组的单元测试用例后,发现了两大单元测试问题: 1、无效验证问题: 不进行有效地验证数据对象、抛出异常和调用方法。 2、测试方法问题: 不知道如何测试某些典型案例,要么错误地测试、要么不进行测试、要么利用集成测试来保证覆盖率。比如: 错误地测试:利用测试返回节点占比来测试随机负载均衡策略; 不进行测试:没有人针对虚基类进行单独地测试; 利用集成测试:很多案例中,直接注入真实依赖对象,然后一起进行集成测试。 针对无效验证问题,在我的文章《那些年,我们写过的无效单元测试》中,介绍了如何识别和解决单元测试无效验证问题,这里就不再累述了。在本文中,作者收集了一些的Java单元测试典型案例,主要是为了解决这个测试方法问题。
先来说下在 WebAssembly(后续称WASM) 官网上的介绍,主要有四点: 高效:WASM 有一套完整的语义,实际上 WASM 是体积小且加载快的二进制格式, 其目标就是充分发挥硬件的能力以达到原生语言的执行效率 安全:WASM 运行在一个内存安全,沙箱化的执行环境中,甚至可以在现有的 JavaScript 虚拟机中实现。在 Web 环境中 ,WASM 将会严格遵守同源策略以及浏览器安全策略 开放:WASM 设计了一个非常规整的文本格式用来、调试、测试、实验、优化、学习、教学或者编写程序。可以以这种文本格式在 Web 页面上查看 WASM 模块的源码 标准:WASM 在 Web 中被设计成无版本、特性可测试、向后兼容的。WASM 可以被 JavaScript 调用,进入 JavaScript 上下文,也可以像 Web API 一样调用浏览器的功能。WASM 不仅可以运行在浏览器上,也可以运行在非 Web 环境下(如 Node.js、Deno、物联网设备等。
作为有丰富国内电商技术沉淀的团队,在服务全球化电商业务中,一方面会自然传承国内电商技术体系去解决电商业务通用问题。另一方面,面对业务、技术、组织、文化、政策等维度差异,促使我们演进新的或更合适的技术体系。比如,国际电商业务发展的阶段特征、海外基础设施特征、国际业务区别国内业务的特征、用户和文化特征、以及更不可控的政策和合规等。在我们摸索多年形成的技术体系中,我们上一篇分享讲解了开发技术和架构相关经验,在本文中,我们想分享技术领域不可或缺的另一大块,安全生产和质量保障相关的经验。 分享技术经验以前,我们先把所服务的全球化电商这个对象,在一些关键维度稍作拆解,也是多年经验对全球化电商的一些关键特征的理解,而这些理解对我们的技术构建是至关重要的。