前言话说之前大学放暑假的时候,我到一个餐厅打工两个月,Title是初级传菜员。正是这次打工经验,为我带来了一波潜藏已久的素材,请听听我的故事吧~本文主要内容如下:一、餐厅角色在餐厅主要有这几种角色:服务员:负责记录客户已点哪些菜、上菜时间、上菜、划掉菜。可以将多个服务员都当做客户端,相对于传菜员来说
在IM这种讲究高并发、高消息吞吐的互联网场景下,MQ消息中间件是个很重要的基础设施,它在IM系统的服务端架构中担当消息中转、消息削峰、消息交换异步化等角色。当然,MQ消息中间件的作用远不止于此,它的价值不仅仅存在于技术上,更重要的是改变了以往同步处理消息的思路。比如进行IM消息历史存储时
要说如何写出好代码,Bob叔绝对最有话语权,他的《代码整洁之道》简直是程序员人手必备一份的圣经。 最近,有人却想反其道而行,在Github上总结了19条关键的【烂代码法则】,这19条法则从变量命名到注释编写统统都有,关键是还火了 &
在日常开发中,我们会经常要在类中定义布尔类型的变量,比如在给外部系统提供一个RPC接口的时候,我们一般会定义一个字段表示本次请求是否成功的。关于这个”本次请求是否成功”的字段的定义,我见过很多不同的开发者,定义的方式都不同,尤其是在属性的命名上,有人用success,有人用isSucce
深入学习TypeScript类型系统的话,逆变、协变、双向协变、不变是绕不过去的概念。这些概念看起来挺高大上的,其实并不复杂,这篇文章我们就来学习下它们吧。类型安全和型变TypeScript给JavaScript添加了一套静态类型系统,是为了保证类型安全的,也就是保证变量只能赋同类型的值,对象只能访
译者|刘雨瑶审校|孙淑娟梁策在过去的30年中,软件开发取得了很大进展。曾经人们在自己的计算机上管理软件开发生命周期(SDLC),在自己的桌面编写代码、调试代码、构建代码并发布代码。源代码存储在文件服务器上,并在每天结束时保存一个压缩文件来管理。如果你完全使用具有中央服务器的代码版本控制软件(CVS)
作者|vivo互联网平台产品研发团队-YangYang本篇为《vivo平台产品》系列文章的第1篇。主要描述在业务高速发展的背景下,vivo软件工程师通过系统平台化建设等手段,逐步解决软件复用,快速响应业务变化等棘手问题的过程。我们从中精选出内容审核平台、AB实验平台、版本发布平台等具备代表性的平台产