• ARTICLE
  • STRING
  • CONVERTER
  • ENCRYPT
  • NETWORK
  • MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
  • ARTICLE
    STRING
    CONVERTER
    ENCRYPT
    NETWORK
    MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
logo Online Tools
All Chinese English Newest Hottest
156 search results Contribute

在 Monorepo 大仓模式中,我们把组件放在共享目录下,就能通过源码引入的方式实现组件共享。越来越多的应用愿意走进大仓,正是为了享受这种组件复用模式带来的开发便利。这种方式可以满足大部分代码复用的诉求,但对于复杂业务组件而言,无论是功能的完整性,还是质量的稳定性都有着更高的要求。源码引入的组件提供方一旦发生变更,其所有使用方都需要重新拉取 master 代码,然后构建发布才能使用新功能,这一特性对物料组件、工具组件以及那些对新功能敏感度较低的业务组件来说是可以接受的,但对于新功能敏感度高的复杂业务组件来说,功能更新的不及时会直接面临着资损风险。这类复杂组件也往往面临着频繁且快速的迭代发布,这样一来对于组件使用方而言不光需要订阅组件更新,而且需要做到及时发布升级才能规避风险,因此只用源码引入的方式来共享复杂业务组件是耗费精力且不合适的。

13 Technology lddgo Shared on 2024-02-26

在日常的技术支持过程中,经常会遇到如下玄学问题的咨询: 从监控上看,进程资源占用正常。 从监控上看,服务流量平稳,没有流量突增。 从监控上看,线程池状态正常,没有瓶颈。 但是,在上述条件下,上游调用方还是时不时反馈偶现 Thread pool is EXHAUSTED! 接下来笔者来把这个问题系统梳理下,帮助大家厘清这个问题的本质。

18 Technology lddgo Shared on 2024-02-23

在 B 端研发过程中,产品原型在产品需求文档中起着重要的作用。然而,在实际的开发过程中,我们发现了一些问题。首先,在需求评审阶段,有些产品需求文档可能缺少原型或者原型与研发团队的规范不一致,这需要研发同学与产品同学沟通补充原型图或者按照研发团队的规范进行绘制,这增加了产品同学和研发团队之间的沟通成本以及增加了产品同学的学习成本。其次,在业务验收阶段,开发的页面或效果可能不符合业务侧的期望,这又需要产品和研发团队反复沟通,导致业务侧对效果的感知链路过长。此外,产品同学还需要花费大量时间来根据需求文档描述输出样式固定的原型文档。 为了解决这些问题,我们想到了利用产品在『市场需求文档(MRD)——产品需求文档(PRD)——页面(Page)』沟通过程中沉淀的『共识』,即产品需求文档中的页面描述。我们可以利用大语言模型强大的推理能力,将这些共识『翻译』成符合研发团队规范的页面,从而减少沟通成本并缩短业务侧对效果的感知链路。另外,为了减少产品在不同界面切换频次,可以让产品利用浏览器插件在 PRD 文档页面进行文字选择,然后唤起原型生成工具生成页面原型和修改原型。本文主要介绍了我们利用大模型辅助产品

20 Technology lddgo Shared on 2024-02-21

GC 全称 Garbage Collection,垃圾收集,是一种自动管理堆内存的机制,负责管理堆内存上对象的释放。在没有 GC 时,需要开发者手动管理内存,想要保证完全正确的管理内存需要开发者花费相当大的精力。所以为了让程序员把更多的精力集中在实际问题上,GC 诞生了。Dart 作为 Flutter 的主要编程语言,在内存管理上也使用了 GC。 而在 Pink(仓储作业系统)的线上稳定性问题中,有一个和 GC 相关的疑难杂症,问题堆栈发生在 GC 标记过程,但是导致问题的根源并不在这里,因为 GC 流程相当复杂,无法确定问题到底出在哪个环节。于是,就对 DartVM 的 GC 流程进行了一次完整的梳理,从 GC 整个流程逐步排查。

17 Technology lddgo Shared on 2024-02-05

随着互动游戏业务 DAU 量级增加,性能和体验重要性也越发重要,好的性能和体验不仅可以增加用户使用体感,也可以增加用户对于互动游戏的使用粘性。 对现状分析,主要存在首屏渲染速度慢、打开页面存在白屏、页面加载过多资源等问题,核心手段是增加骨架、接口优先级调整、预渲染、减小包体积等。 优化后,互动游戏签到功能做到同类业务性能体验 Top 级别,下面是优化后数据: 首屏渲染速度:优化后提升首屏渲染速度 39%。 首屏骨架:骨架体积大小减少 44%(压缩后减少 50%)。 首次加载总资源:资源总体积优化后,大小减少 69%。

13 Technology lddgo Shared on 2024-01-31

随着公司接口自动化应用逐渐深入,老自动化方案弊端日渐凸显(线下脚本&自动化框架 + Jenkins + 平台[调度 + 报表 + ...]),如:技术栈&框架&三方库差异大、用户兼容性差、用例编写效率低、平台接入复杂、平台化适配性差、用例脚本不可控、用例维护成本高、执行耗时长等。为此我们将自动化平台由“半平台化”转型为“全平台化”,实现了轻量高效、功能完备、使用简单、标准化程度高的自动化平台,支持“在线可视化、组件化(可复用)、全代码、低代码、零代码”编写用例。在用例执行方面,新平台没有被传统的自动化框架所束缚,自研了更适合平台化的“自动化用例执行器”。 自动化执行器是自动化平台自研的自动化用例执行器,负责具体执行平台编写的自动化用例和脚本,支持单独调试和按测试计划批量执行用例。主要提供串/并行跑用例、占位符、系统方法、环境变量(只读)、变量空间(读/写)、解释执行API.步骤、原生执行代码脚本等能力。 执行器是参考了优秀接口测试工具(Jemerer、Postman、eolink、MeterSpher等)和主流单元测试框架(TestNG、PyTest、unittest等)后进行自主

12 Technology lddgo Shared on 2024-01-29

为了监控集团各业务线的资金来源和去向,资金部需每天分析所有账户出金和入金情况。为此,我们提供了资金管理平台,该平台拥有账户收支流水和账单拉取等功能,以及现金流打标能力,为资金部提供更加精准的现金流分析。

8 Technology lddgo Shared on 2024-01-24

最近经常收到内部业务方的咨询,他们想知道"如何让我们的业务系统接入大模型提效"。为了回答这个问题,我们梳理了 KubeAI 大模型平台对接的一些业务实践与一些业界经典案例分享给大家。 OpenAI 的第一次开发者大会的主题为 Maximizing LLM Performance,提出业务系统可以通过三种方式接入大模型,PROMPT(直接给大模型输入提示词),RAG(通过检索增增强来提升大模型的能力),Fine-tuning(通过微调训练来提升大模型的能力)。 本文借鉴 OpenAI 的观点,结合具体实践例子分别介绍这三种接入方式,最后建议业务可以通过渐进(PROMPT,RAG,Fine-tuning)的方式接入大模型,从而达到最佳的收益效果。

10 Technology lddgo Shared on 2024-01-22

基于 Java 类加载的特性,我们通常会将一些期望只执行一次且不需要上下文的代码(例如 SDK 初始化)放到类的静态代码块中,通过触发类加载来执行这些代码,这样就不需要考虑线程安全问题以及重复执行问题。 在启动优化中就频繁采用了这种方案来将一些主线程耗时逻辑转移至异步线程并提前执行,为了避免不必要的耦合,我们通常是通过 Class.forName("com.aaa.bbb") 的方式来触发类加载,但是这种写法要求对应的类必须 keep 住,避免被混淆导致找不到类。

7 Technology lddgo Shared on 2024-01-17

Trace2.0 是得物监控团队引入 OpenTelemetry 协议并落地的全新应用监控系统,从 2021 年底正式开始使用。在过去的两年里,我们面临着数据量呈爆炸式增长的巨大挑战。然而,通过对计算和存储的不断优化,我们成功地控制了机器数量的指数级增加。我们每天处理的日增数据量数 PB(相比去年增长了 4 倍),每天产生的 Span 数超过了数万亿条。系统面对的峰值流量可达到每秒几千万行 Span,每秒上报的带宽压缩后高达数十 GB。我们所使用的存储引擎 Clickhouse 单机支持每秒近百万行的写入量。这些数据成为 Trace2.0 作为一款强大的应用监控系统的标志,为监控团队提供了全方位的监控数据分析能力。Trace2.0 使得我们能够及时发现和解决潜在的系统问题,确保我们的服务能够始终稳定可靠地运行。

8 Technology lddgo Shared on 2024-01-15