RingCentral 铃盛技术干货精选合集
本合集收录了 RingCentral 铃盛技术专家们的精选干货分享,内容覆盖了前端、后端、敏捷及测试等领域的心得、体会和经验总结。
RingCentral(NYSE:RNG)是基于其强大的 Message Video Phone™ (MVP™) 全球平台的商务云通信和联络中心解决方案的领先提供商。总部位于硅谷,在世界各地设有办公室。
铃盛是 RingCentral 于 2011 年在中国厦门成立的研发中心,除厦门外,目前在杭州及香港也设有办公室。
BDD(behavior-driven development)是 TDD(test-driven development)一种拓展。它强调定义明确的软件预期行为,通过用自然语言书写非程序员可读且包含软件行为和预期结果的测试用例,以此来扩展 TDD。
多年互联网公司一线研发,曾参与大型后端系统的重构与开发,对 Java 技术栈及前沿后端技术有深入研究和丰富的实战经验。
只要是接触过各种开放平台的开发者,对于 OAuth 概念肯定不陌生。但是由于 OAuth 流程比较复杂,对于刚接触的人来说,容易云里雾里。我之前工作上接触 OAuth 比较多,本文以 OAuth2.0 的 RFC 文档为基础,结合自己以前一些工作上的经验,系统地梳理一下 OAuth2.0 规范。
说起数字签名,对安全有所涉猎的同学相信都不陌生,简单的说,数字签名是一种基于摘要算法和非对称加密技术的防止数据在传输传递过程中被篡改的一种安全技术,具体怎么做的呢?其实现原理是对要传输的内容做个摘要,然后把摘要和用到的摘要算法使用非对称加密技术的公钥或者私钥(绝大部分情况是私钥)生成签名,这样接收方接收到数据后,把签名信息用私钥或公钥(绝大部分情况是公钥)验证来确保内容的完整性。
本文是 XML 数字签名原理篇的姐妹篇,在“原理篇”中我们从理论上探讨了 XML 数字签名的原理和签名的处理过程,以及验证数字签名的步骤。胡适先生说过科学的精神就是大胆假设,小心求证,所以这篇文章的目标就是从应用层面针对“原理篇”中介绍的内容进行验证,实践是检验真理的唯一标准,尤其是编程这门实践性非常强的学科。
AOP 在 JavaScript 和 TypeScript 中的应用
Aspect Oriented Programming (AOP),中文意思是“面向切面编程”。AOP 的作用用一句话概括就是将业务逻辑和非业务逻辑的代码分开,减少它们的耦合性。
node.js 中利用 IPC 和共享内存机制实现计算密集型任务转移
node.js 是单进程单线程运行的,如果遇到一些计算密集型的操作应该怎么办呢?本文提供了一种思路。
「生产者和消费者之间交换事件的一套规范」,这是什么意思呢?GenStage 提供给我们的是一套用来实现「事件流」处理的工具箱,它由「阶段」和各个「阶段」之间的「事件流」组成。
为了启用 HTTPS,就需要有个私钥和证书,那证书和私钥是做什么的,为什么需要用到它们?要回答这个问题,需要先了解公开密钥体系以及 HTTP 和 HTTPS 的基本原理。
在 Scrum 创建之初,Scrum 之父,敏捷软件开发运动的领导者之一 Ken Schwaber(肯·施瓦伯)就指出 Scrum 敏捷框架只是一个起点,他建议人们从原装的 Scrum 入手以保持稳定的过程框架,并进而自行发挥。
“LeSS — Large-Scale Scrum, is Scrum applied to many teams working together on one product.” LeSS - 大规模敏捷依然是 Scrum,依然是三个角色,三个工件,五个会议,五个价值。LeSS 框架想要解决的问题是如何将 Scrum 的原则,元素尽可能简单够用地使用到多个团队,合作开发一个产品的场景里去。
Flexagile 是 RingCentral 内部 Integration 团队针对多项目管理或大型项目多团队管理的一种敏捷实践,结合了 SAFe、Scrum、KanBan、XP 等敏捷方法及 Spotify 的敏捷实践,在团队内部沉淀的流程方法框架。
Flexagile 的重点在于把项目分阶段切小,所以 Roadmap 上的每个项目尽量不超过本团队一个月的工作量。如果您所在的团队是多个团队维护一个大项目,应当把项目按照功能(Feature)拆分成多个小项目。
Flexagile 就是把积极性和主动性调动到工作中,让大家自主选择项目和需求,选择团队成员,并对项目进行评估和计划。充分发挥每个人的主观能动性和全局意识观。
React 是一个用于构建 UI 的 JavaScript 库,但当我们要基于 React 开发应用时,往往要做很多的构建配置和很多其他库的选型(挑选和学习一个 React 状态库和路由器库等)。我们还需要考虑我们的业务逻辑应该如何抽象和结构化。
随着前端工程复杂度逐年上升,传统大型前端应可能因过度耦合变得越来越臃肿而最终难以维护,也因此在近两三年的大型前端架构中,微前端也越来越受到重视。前端应用模块动态化无疑是一个不可避免的前端开发新趋势之一,它将有可能较彻底地解决臃肿代码库维护问题和效率不高的交付问题。
版权声明: 本文为 InfoQ 作者【RingCentral铃盛】的原创文章。
原文链接:【http://xie.infoq.cn/article/cd5c600f266ad1482719ee37f】。未经作者许可,禁止转载。
评论