跨端开发是指在不同的平台或设备上开发同一种软件应用,例如:一个应用程序可以同时运行在移动设备、桌面电脑和浏览器等不同的设备上,或是一个小程序能够在微信、支付宝、抖音等多个平台使用。跨端开发的优点在于可以节省研发和维护成本,让开发者者编写一套符合规范的代码,由编译器将其编译生成出可以发布在每个平台的产物,在更广泛地覆盖用户群体的同时,可以保持产品在不同渠道的一致性,减少用户的上手使用成本。 然而,由于不同平台存在一些无法抹平的特性差异,或是针对特定平台可能会有不同的产品需求,比较常见的做法有以下两种: 在代码中编写大量的if、else 来处理不同平台或需求的差异 对编译后的产物进行二次开发,或维护两套差异性代码
某位资深运维工程师A:“一天不收个几十条告警,我都觉得心里不踏实” 。运维工程师B:“我那几个告警天天告,我的应用一点问题都没有,但是我又不敢关”。运维工程师C:“我每天都要花大量的时间,整理已经发生的告警:查它们是什么原因导致的,是故障还是误报,要不要解决,要不要屏蔽。”运维工程师D:“要不我们给告警数配置一个告警吧,一天收100条告警是正常的,哪天告出来200条估计就是有问题了”。会出现这样的对话不是因为这几位运维工程师不专业,实际上,误告警泛滥,真告警被淹没,就是大多数团队,甚至顶尖的互联网企业的运维团队的现状。想要配置出“系统无异常时不误告,有异常时及时告”的“高质量”的告警规则是非常具有挑战性的。 所以这些告警都是些什么?为了保证系统和应用的稳定性,工程师们会搭建监控系统以实时地采集比如RT(响应时间)、QPS(调用次数)、Error Rate(错误率)、HTTP状态码、Full GC次数等关键指标,并对核心应用的关键指标进行实时地巡检,当检测到指标当前值超出“正常水位”时,相关的工程师就会收到对应的告警。
HA3(对外开源代号:Havenask )是阿里智能引擎团队自研的大规模分布式检索系统,广泛应用于阿里内部的搜索业务,是十多年来阿里在电商领域积累下来的核心竞争力产品。Ha3 SQL 是在原有Ha3引擎基础上,新增的SQL查询功能,引擎内置了SQL形式的的查询语法,允许用户通过写SQL语句来构造引擎查询。
《阿甘正传》中,阿甘开始了不停地跑步,一段时间后,后面就有了很多追随者一起跑,他们为什么跑哪? 阿甘:我也不知道,只是想跑而已。 追随者:感觉这样做是有意义的,而且阿甘也还在前面领跑。 类似地,一开始我也不知道DDD是什么,但当发现大家都在提DDD、都在学DDD的时候,我也像跟跑者一样不由自主地加入了前行:既然有大牛提出了DDD,既然那么多人趋之若鹜,那么肯定有可取的地方。 然而,有一天,阿甘停止了跑步,他不想跑了,追随者遇到了一个问题:我们还要跑么?当我们在学习DDD的过程中,感觉学而不得的时候,可能也会问:我们还要学么?这的确引人深思。 本文基于工作经验,尝试谈谈对DDD的一些理解,希望能够更好地探寻学习DDD的意义。
众所周知,antd v5 使用了 CSS-in-JS 技术从而支持混合、动态样式的需求。相对的它需要在运行时生成样式,这会造成一定的性能损耗。因此我们研发了组件库级别的 @ant-design/cssinjs 库,通过一定的约束提升缓存效率,从而达到性能优化的目的。不过我们并不止步于此。我们可以通过一些逻辑,直接跳过运行时生成样式的阶段。
对于技术PM来说“优雅”做好项目管理至关重要。优雅是一种态度和状态、优雅是一种能力和过程,想要优雅做好项目管理,掌握项目管理的思维、理论、工具和方法至关重要。