HA3(对外开源代号:Havenask )是阿里智能引擎团队自研的大规模分布式检索系统,广泛应用于阿里内部的搜索业务,是十多年来阿里在电商领域积累下来的核心竞争力产品。Ha3 SQL 是在原有Ha3引擎基础上,新增的SQL查询功能,引擎内置了SQL形式的的查询语法,允许用户通过写SQL语句来构造引擎查询。
《阿甘正传》中,阿甘开始了不停地跑步,一段时间后,后面就有了很多追随者一起跑,他们为什么跑哪? 阿甘:我也不知道,只是想跑而已。 追随者:感觉这样做是有意义的,而且阿甘也还在前面领跑。 类似地,一开始我也不知道DDD是什么,但当发现大家都在提DDD、都在学DDD的时候,我也像跟跑者一样不由自主地加入了前行:既然有大牛提出了DDD,既然那么多人趋之若鹜,那么肯定有可取的地方。 然而,有一天,阿甘停止了跑步,他不想跑了,追随者遇到了一个问题:我们还要跑么?当我们在学习DDD的过程中,感觉学而不得的时候,可能也会问:我们还要学么?这的确引人深思。 本文基于工作经验,尝试谈谈对DDD的一些理解,希望能够更好地探寻学习DDD的意义。
众所周知,antd v5 使用了 CSS-in-JS 技术从而支持混合、动态样式的需求。相对的它需要在运行时生成样式,这会造成一定的性能损耗。因此我们研发了组件库级别的 @ant-design/cssinjs 库,通过一定的约束提升缓存效率,从而达到性能优化的目的。不过我们并不止步于此。我们可以通过一些逻辑,直接跳过运行时生成样式的阶段。
对于技术PM来说“优雅”做好项目管理至关重要。优雅是一种态度和状态、优雅是一种能力和过程,想要优雅做好项目管理,掌握项目管理的思维、理论、工具和方法至关重要。
前天回家路上,有辆车强行插到前面的空位,司机大哥暴躁地拍着方向盘吐槽道“加塞最可恶了”,我问“还有更可恶的吗”,司机大哥淡定说道“不让自己加塞的”。似乎和我们很类似,我们程序员届也有这 2 件相辅相成的事:最讨厌别人不写注释,更讨厌让自己写注释。 一段糟糕的代码,往往大家最低的预期是把注释写清楚,最合理的做法通常应该对代码做优化。如果我们将代码真正做到了优秀,我们是否还需要注释?
在一个大型团队中,bug协同管理是一件复杂的事情,我们基于go-git开发实现了通用化的git-poison,通过分布式源码管理bug追溯、查询,可复制性高,适用于所有git仓库,与分支模式和代码仓库无关。
IT 系统的运维监控最早出现在上世纪 90 年代。彼时,分布式架构正向传统的单体架构发出挑战,其带来显著优势的同时,也为系统开发和运维带来了新的难题。在这一背景下,IT 人员开始引入监控技术,观测主机上的应用运行情况,及时定位问题。 随着分布式系统、微服务、云计算技术兴起,IT 系统发生多轮演进,复杂的运维环境对监控提出了更高的要求。2018 年,CNCF 将可观测性引入 IT 领域,取代监控。可观测性也一跃成为云原生技术领域最热门的话题之一。 5 年后的今天,可观测性技术早已从早期的运维排查问题工具,逐渐进化成业务生产过程中的生产力工具。Gartner 更是将应用可观测性列为“2023 年十大战略技术趋势”,并表示“如果能够在战略中予以规划并成功执行,可观测性应用将成为数据驱动型决策的最强大来源”。