当我们在面对一些用户反馈的运行问题时,如白屏,页面加载时间过长,页面卡顿等等,如果能够知道客户端的哪些行为导致了问题的出现,那么在定位解决问题上一定会变得事半功倍。 如客户端白屏可能是某个静态资源挂了,页面加载时间过长可能是静态资源的cdn托管服务不稳定,页面卡顿可能是长耗时的js调用导致阻塞了主线程,为了帮助开发快速收集问题出现时客户端所发生的上下文信息
现代系统正变得越来越复杂,从单线程到多线程,从单体到微服务,从单节点到分布式,从本地到云端... … 复杂度使得程序产生预期的结果需要越来越多的必要条件,而每种条件都有其自身的成功概率,即使每种条件的成功概率都很高,根据墨菲定律,或早或晚一定会遇到不可预知的结果。 在数据工程领域,这个问题尤其突出,目前大数据领域几乎都是分布式运行的任务、高可用的消息队列、多备份的存储、主从节点等等。在这样的情况下,如何构建稳定、健壮的任务或服务成为了一个挑战。而数据工程实践中每日调度的任务成为了与各个复杂数据组件交互的最主要形式,所以本文我们将以数据工程的任务调度为例,利用混沌工程帮助我们找出系统薄弱点或脆弱性,引出我们沉淀的基于日志驱动的任务调度实践。
作者系统详实的介绍了什么是AsyncLocalStorage、如何使用、Node 是如何实现的 AsyncHook等。不论你是0基础还是对此API有些了解的读者都比较适合阅读此文。(文末有活动)
通过阅读了多篇围绕大模型应用、提示词工程等等的文章,结合之前的工程经验,对于如何围绕大模型来进行应用设计有了些新的理解,整理成这篇文章。
1. 如何解决业务方在小程序、H5应用上的接入地图服务的困扰? 我们统一收口哈啰&高德服务能力,业务侧不需要每次接入LBS和高德服务都做http服务的接入工作,只用接入地图提供的组件包。我们还提供在类型声明,线接入文档,简化业务方的接入成本和工作量。 2. 总是担心服务不稳定,如何缓解心智负担? 我们在前端侧优化了请求策略,加入了降级兜底能力,稳定性更有保障。 3. 面对调用量增长,减轻服务压力,将如何面对? 我们从缓存方面入手,为调用量特别突出的逆地理设计缓存方案,通过缓存机制来减少调用,减轻服务压力。
本文旨在系统性介绍一下23种设计模式,给出通俗易懂的案例、结构图及代码示例,这也是我自身学习理解的过程。或许其中的几种设计模式写的并不是很清晰明了易懂,更详细的可根据提到的参考文献进行深入学习。
WebGL(Web 图形库)是一个 JavaScript API,可在任何兼容的 Web 浏览器中渲染高性能的交互式 3D 和 2D 图形,而无需使用插件。WebGL 通过引入一个与 OpenGL ES 2.0 非常一致的 API 来做到这一点,该 API 可以在 HTML5 <canvas>元素中使用。这种一致性使 API 可以利用用户设备提供的硬件图形加速。[摘自 MDN] 本质:一个用来创建 2D/3D 图形网页的 JavaScript API
我们经常提到复杂系统,那么到底什么是复杂系统。我们看下维基的定义:复杂系统(英语:complex system),又称复合系统,是指由许多可能相互作用的组成成分所组成的系统。强调了两点: 由点组成 点之间有各种关联
程序员痛恨遇到质量低劣的代码,但在高压环境下,我们常为了最快解决当下需求而忽略代码规范,在无意识中堆积大量债务。我们还观察到许多开发者被迫加班的罪魁祸首便是写低效代码、不重视代码优化。编程路上,欲速则不达。接下来,我将为各位列举9种我个人工作中高频遇到的不整洁代码行为,并提出针对性优化建议。继续阅读~