监控能力作为基础运维能力和核心稳定性措施,开发运维人员可以通过监控系统有效进行故障定位,预防潜在风险,分析长期趋势进行容量规划和性能调优,是软件开发生命周期中必不可少的一环。与此同时,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、物联网设备等。
作为有丰富国内电商技术沉淀的团队,在服务全球化电商业务中,一方面会自然传承国内电商技术体系去解决电商业务通用问题。另一方面,面对业务、技术、组织、文化、政策等维度差异,促使我们演进新的或更合适的技术体系。比如,国际电商业务发展的阶段特征、海外基础设施特征、国际业务区别国内业务的特征、用户和文化特征、以及更不可控的政策和合规等。在我们摸索多年形成的技术体系中,我们上一篇分享讲解了开发技术和架构相关经验,在本文中,我们想分享技术领域不可或缺的另一大块,安全生产和质量保障相关的经验。 分享技术经验以前,我们先把所服务的全球化电商这个对象,在一些关键维度稍作拆解,也是多年经验对全球化电商的一些关键特征的理解,而这些理解对我们的技术构建是至关重要的。
对绝大多数网站来说,从宏观视角上看主要有两个因素影响最终的网站业务效益: 用户的整体规模 用户在网站内的转化率 业务效益 = 用户规模 * 转化率 所以为了提升业务效益,需要提升用户规模以及转化率。
Windows应用开发有着较为丰富和多样的技术选型。C#/WPF 这种偏Native的闭源方案,目前开发人员相对比较小众了。C++/QT 的跨平台框架,C++对于GUI开发来说上手会更难。JavaScript/CEF/Electron 基于Chromium 的跨端框架,使用前端技术栈来构建桌面应用,性能会略低一些。总而言之各有所长,有一点可以确定的是,跨端能力成为了选型的重要考量。 Flutter从诞生之初起,其核心目标就是跨平台,不仅仅支持Android和iOS的移动端设备,同时包括桌面端和Web端。随着2022年2月Flutter 2.10的推出,也带来了首个支持Windows平台的稳定版本。基于Flutter的跨平台特性,移动端或Web端的Flutter应用也能够在Windows系统上运行,Windows应用开发者能够享受到Flutter开发带来的便利和生产力上的提升,同时移动端开发者也能够快速上手Windows应用开发了。
重新理解云计算,这个「重新」重点是对我自己而言的。 有这样的感受是来源于几个触点: 第一个触点是阅读了两篇非常有见解的文章,分别是道哥的《我对计算的理解》和吴军的《中国算力的危与机》; 第二个触点是最近阅读了王坚院士的《在线》这本书; 第三个触点是阿里云内部的AEPC考试,对阿里云产品体系有了一个更加全面完整的了解。 这三个触点学习下来,发现自己对云计算的理解还是很浅薄。借助本篇文章,以「输出倒逼输入」串联一下这三个触点的学习和思考内容,作为总结。 云计算,云是一种形态,其关键在于计算。计算离不开算力。但算力和计算是两个东西。因此理解云计算需要先清楚两个东西,一个是算力,一个是计算。云计算实际上也是一个关于算力的产业。 阿里云成立之初就有一个信念:计算作为一种公共服务。基于这个信念确定了最初的愿景:让整个数据中心等于一台计算机,这也是阿里云一直做的事情,提供更强大的算力的基础设施。因此,如果以算力产业的角度透视阿里云,阿里云过去一直做的事情是:不断建设和提升算力基础设施的规模、优化算力管理效率、提供足够多的算力产品和应用来解决计算便捷性问题。