字节跳动内部已经将ClickHouse广泛应用,并在原引擎基础上重构了技术架构,本系列文章将从Upsert、多表关联查询、可用性提升等多方面介绍字节跳动基于ClickHouse的能力增强实践。
我们在进行软件开发时要想实现可维护、可扩展,就需要尽量复用代码,并且降低代码的耦合度,而设计模式就是一种可以提高代码可复用性、可维护性、可扩展性以及可读性的解决方案。 大家熟知的23种设计模式,可以分为创建型模式、结构型模式和行为型模式三大类。其中,创建型模式是对类的实例化过程进行抽象,从而将对象的创建和使用分离开。工厂模式属于创建型模式的范畴,本文将着眼于工厂模式,从简单工厂模式、工厂方法模式和抽象工厂模式出发,展开学习和深入探讨。(本文如有表述不当的地方也恭请大佬们指教哦~)
随着公司业务上云的呼声越来越高,越来越多的团队已经完成业务上云的进程,K8s 集群在公司整体机器成本中的比重越来越大。 本人所在平台的应用部署上云后,在资源管理方面出现了一系列的问题,这些问题或多或少都对成本优化或应用的服务质量造成了一定程度的影响。
去年的Log4j-core的安全问题,再次把供应链安全推向了高潮。在供应链安全的场景,蚂蚁集团在静态代码扫描平台-STC和资产威胁透视平台-哈勃这2款产品在联合合作下,优势互补,很好的解决了直接依赖和间接依赖的场景。 但是由于STC是基于事前,受限于扫描效率存在遗漏的风险面,而哈勃又是基于事后,存在修复时间上的风险。基于此,笔者尝试寻找一种方式可以同时解决2款产品的短板。笔者尝试研究了一下Maven是如何处理一个项目中的直接依赖和间接依赖的,并且在遇到相同依赖时,Maven是如何进行抉择的,这里的如何抉择其实就是Maven的仲裁机制。带着这些问题,笔者尝试调研了Maven的源码和做了一些本地的测试实验。总结了这篇文章。
当下 BAT、美团、字节跳动等一线大厂都在加速推进业务的容器化、云原生化。打开这篇文章的你,应该或多或少跟云计算、容器、Kubernetes、云原生应用有过接触。
数字经济时代,科技企业需要谨慎对待自身技术能力及影响力,对科技创新的边界时刻保持警醒。前段时间,阿里巴巴集团首席技术官程立在2022世界人工智能大会上发表了题为“科技公司的技术创新和责任担当”的主题演讲,以下为演讲全文。