博客 / 列表

得物技術 - 得物前端喚端業務場景和技術精講

前言 當你在刷朋友圈時突然看到一個潮鞋廣告,正是你非常喜歡、一直想買的那款而且價格美麗,於是你興奮地點擊廣告直接打開了購物App,並且直接進入剛剛看到的潮鞋詳情頁,你只需要直接點擊購買就能得到這雙你期待已久潮鞋,這流程如絲般順滑! 你正在瘋狂追的愛豆在微博發了一款聯名潮玩內容,還是獨家發售,貼文中就有網頁鏈接,你點擊後直接打開購物平台進入了與愛豆聯名同款的潮玩詳情頁,迫不及待的下單擁有一款時尚的潮

業務 , 前端框架 , 場景 , 前端構建 , 前端

得物技術 - Flutter啓動流程分析之插件化升級探索

Flutter是Google推出的一款跨平台框架。與Weex等其他跨端框架不同的是,Flutter的界面佈局繪製是由自己完成的,而不是轉換成對應平台的原生組件。那麼各個平台是如何啓動它的呢?從Flutter官方提供的架構圖上看,Flutter Embedder層提供了底層操作系統到Flutter的程序入口,平台採用適合當前系統特性的方式去各自實現。本文基於flutter 2.0.6版本源碼,來探索

weex , 操作系統 , flutter , 插件化 , 流程

得物技術 - Bookie存儲架構源碼剖析|得物技術

一、Pulsar存儲架構簡析 Pulsar作為新一代MQ中間件,在底層架構設計上充分貫徹了存算分離的思想,broker與Bookeeper兩個組件獨立部署,前者負責流量的調度、聚合、計算,後者負責數據的存儲,這也契合了雲原生下k8s大行其道的時代背景。Bookeeper又名Bookie ,是一個單獨的存儲引擎。在組件關係上,broker深度依賴Bookie,內部集成了 Bookie的client端

mq , 架構 , 源碼分析 , JAVA , pulsar

得物技術 - 深入剖析時序Prophet模型:工作原理與源碼解析|得物技術

隨着得物業務的快速發展,積累了大量的時序數據,這些數據對精細化運營,提升效率、降低成本有着重要作用。在得物的時序數據挖掘場景中,時序預測Prophet模型使用頻繁,本文對Prophet的原理和源碼進行深入分析,歡迎閲讀和交流。 一、引入 時間序列是指按照時間先後順序收集或觀測的一系列數據點,這類數據通常都具有一定時間相關性,基於這種順序性,我們可以對時間序列進行多種數據挖掘任務,包括分類、聚類、異

序列化 , 大數據 , 時序數據庫 , 源碼分析 , 模型

得物技術 - 線程池ThreadPoolExecutor源碼深度解析|得物技術

一、引 言 為什麼進行源碼角度的深度解析? 大家在項目中到處都在使用線程池做一些性能接口層次的優化,原先串行的多個遠程調用,因為rt過高,通過線程池批量異步優化,從而降低rt。還有像RocketMQ中broker啓動時,同時通過ScheduledThreadPoolExecutor線程池執行其他組件的定時任務,每隔一段時間處理相關的任務。線程池廣泛的應用在外面各種實際開發場景中,我們很多同學可能在

dns解析 , 緩存 , 存儲 , JAVA , 編譯器優化

得物技術 - 營銷會場預覽直通車實踐|得物技術

一、背景:活動會場的配置走查之痛 在電商營銷中,會場是承載活動流量的核心陣地。得物的營銷會場不僅覆蓋520、七夕等活動節點,也支撐日常的"天天領券"、"瘋狂週末"等高頻運營場景。數據顯示,會場的UV佔比、GMV貢獻、訂單量均佔平台重要比重。 然而,隨着業務複雜度提升,會場配置面臨三大挑戰。 1.1 三大挑戰 ※多目標耦合 同一會場需同時滿足不同運營GMV提升、拉新、促活等不同目標,導致配置策略疊

架構設計 , 架構 , 測試開發 , 測試用例管理工具

得物技術 - 得物靈犀搜索推薦詞分發平台演進 3.0

導購是指在購物過程中為消費者提供指引和幫助的人或系統,旨在協助用户做出更優的購買決策。在電商平台中,導購通過推薦熱賣商品、促銷活動或個性化內容,顯著提升用户的購物體驗,同時推動銷售額的增長。其核心目標是通過精準的引導,滿足用户需求並促進商業價值最大化。 詞分發:導購的重要組成部分 在電商導購體系中,詞分發作為關鍵環節,主要聚焦於與關鍵詞推薦相關的功能。這些功能包括但不限於下拉詞、底紋詞、熱搜榜單、

算法 , 架構 , 人工智能 , 後端

得物技術 - Redis 是單線程模型?|得物技術

一、背景 使用過Redis的同學肯定都瞭解過一個説法,説Redis是單線程模型,那麼實際情況是怎樣的呢? 其實,我們常説Redis是單線程模型,是指Redis採用單線程的事件驅動模型,只有並且只會在一個主線程中執行Redis命令操作,這意味着它在處理請求時不使用複雜的上下文切換或鎖機制。儘管只是單線程的架構,但Redis通過非阻塞的I/O操作和高效的事件循環來處理大量的併發連接,性能仍然非常高。

bootstrap , HTML

得物技術 - 前端日誌回撈系統的性能優化實踐|得物技術

一、前言 在現代前端應用中,日誌回撈系統是排查線上問題的重要工具。然而,傳統的日誌系統往往面臨着包體積過大、存儲無限膨脹、性能影響用户體驗等問題。本文將深入分析我們在@dw/log和@dw/log-upload兩個庫中實施的關鍵性能優化,以及改造過程中遇到的技術難點和解決方案。 核心優化策略概覽: 我們的優化策略主要圍繞三個核心問題: 存儲膨脹問題 - 通過智能清理策略控制本地存儲大小 包體

性能優化 , 大前端 , 前端工程化 , 前端架構 , 前端

得物技術 - RAG—Chunking策略實戰|得物技術

一、背 景 在 RAG 系統中,即便採用性能卓越的 LLM 並反覆打磨 Prompt,問答仍可能出現上下文缺失、事實性錯誤或拼接不連貫等問題。多數團隊會頻繁更換檢索算法與 Embedding模型,但收益常常有限。真正的瓶頸,往往潛伏在數據入庫之前的一個細節——文檔分塊(chunking)。不當的分塊會破壞語義邊界,拆散關鍵線索並與噪聲糾纏,使被檢索的片段呈現“順序錯亂、信息殘缺”的面貌。在這樣的

算法 , 數據庫 , 大模型 , 後端

得物技術 - 基於瀏覽器擴展 API Mock 工具開發探索|得物技術

一、前 言 在日常開發過程中,偶爾會遇到後端接口未完成或者某個環境出現問題需要根據接口返回來複現等等場景。剛好最近在學習瀏覽器插件的相關知識,並在此背景下開發了一款基於瀏覽器插件的 Mock 工具。該工具專注於 API請求攔截和數據模擬,旨在幫助開發者提升開發效率,能夠解決一些問題。 二、瀏覽器插件介紹 什麼是瀏覽器插件 瀏覽器插件(Extensions 或 Add-ons)是一類運行於瀏覽器進程

插件 , 瀏覽器 , API , 前端

得物技術 - R8疑難雜症分析實戰:外聯優化設計缺陷引起的崩潰|得物技術

一、背景 R8作為谷歌官方的編譯優化工具,在編譯階段會對字節碼進行大規模修改,以追求包體優化和性能提升。但是Android應用開發者數量太過龐大,無論測試流程多麼完善,終究難以避免在一些特定場景下出現問題。 近期我們在升級項目的AGP,遇到了一個指向系統SurfaceTexture類的native崩潰問題。經反編譯分析發現問題最終指向了smali字節碼中多餘的一行new-instance指令。

性能優化 , Android , 編譯器

得物技術 - 從 JSON 字符串到 Java 對象:Fastjson 1.2.83 全程解析|得物技術

一、概述 Fastjson 是阿里巴巴開源的高性能 JSON 序列化處理庫,其主要以處理小數據時速度最快而著稱,功能全面。Fastjson1.X版本目前已停止維護,被Fastjson2.X代替,但1.X版本國內被廣泛使用,通過學習其技術架構,剖析架構上優缺點,對技術人員提升軟件設計工程實踐能力很有價值。 首先我們對“序列化 / 反序列化”概念上建立直觀認識,把Java對象轉化為JSON格式的字符串

開源 , JAVA , 後端 , Json

得物技術 - 從一次啓動失敗深入剖析:Spring循環依賴的真相|得物技術

一、背 景 預發環境一個後台服務admin突然啓動失敗,異常如下: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name'timeoutNotifyController': Injection of resource dependencies failed;

spring , 編程語言 , JAVA , 後端

得物技術 - Valkey 單點性能比肩 Redis 集羣了?Valkey8.0 新特性分析|得物技術

一、 背景 Valkey 社區於 2024 年 09 月發佈了 Valkey8.0 正式版,在之前的文章《Redis 是單線程模型?》中,我們提到,Redis 社區在 Redis6.0 中引入了多線程 IO 特性,將 Redis 單節點訪問請求從 10W/s 提升到 20W/s,而在 Valkey8.0 版本中,通過引入異步 IO 線程、內存預取(Prefetch)、內存訪問分攤(MAA)等新特性

redis , 數據庫 , redis集羣

得物技術 - 得物研發自測 & 前端自動化測試體系建設

一、背景 現狀 在得物技術團隊雙週迭代模式下,前端自動化測試體系的建設已成為提升研發效能的關鍵突破口。當前技術部門推行研發自測的核心訴求,其核心訴求在於通過建立可信的質量保障機制釋放測試資源,以此承接更多的業務需求,提升需求吞吐率。 雙週迭代的機制對研發流程提出了雙重挑戰:既要保障兩週內完成需求開發、測試驗證到交付上線的完整閉環,又需保障研發交付的代碼質量穩定可靠且經過充分的測試驗證。 服務端已

自動化測試 , 前端

得物技術 - 從CPU冒煙到絲滑體驗:算法SRE性能優化實戰全揭秘|得物技術

一、引言 在算法工程中,大家一般關注四大核心維度:穩定、成本、效果、性能。 其中,性能尤為關鍵——它既能提升系統穩定性,又能降低成本、優化效果。因此,工程團隊將微秒級的性能優化作為核心攻堅方向。 本文將結合具體案例,分享算法SRE在日常性能優化中的寶貴經驗,助力更多同學在實踐中優化系統性能、實現業務價值最大化。 二、給浮點轉換降温 算法工程的核心是排序,而排序離不開特徵。特徵大多是浮點數,必然伴隨

cpu

得物技術 - 社區造數服務接入MCP|得物技術

一、背景 今年 MCP 的概念非常火,市面上也涌現出了一大批 MCP 相關工具。作為技術一線者,都會按捺不住地去實操一下,很早的時候就有個設想,如果把我們的測試工具都改造為符合 MCP 服務協議標準,然後全部接入AI Agent,打造一個集萬千工具於一體的智能管家來幫助我們提效,是不是一個很完美的設想。很多宏偉或者天馬行空的想法想要真正的落地,必然需要不斷向下,拆解成可落地的任務模塊,這裏我們先從

社區

得物技術 - 得物基於AIGC生成測試用例的探索與實踐

一、背景 隨着人工智能技術的快速發展,尤其是在自然語言處理(NLP)、計算機視覺和生成對抗網絡(GANs)等領域,AIGC(AI Generated Content)得到了廣泛應用,這一技術的進步使得內容創作變得更加高效與多樣化,推動了各個行業的創新與變革。對於測試而言,基於AI進行測試用例生成也逐漸從夢想變成現實。 傳統問題 目前我們在編寫測試用例時,大部分依賴人工編寫,在實際編寫過程中主要存在

效率 , 人工智能

得物技術 - 得物自建 Redis 無人值守資源均衡調度設計與實現

文 / Miro-得物技術 目錄: 一、為什麼要做資源均衡調度 二、為什麼要做自動化資源均衡調度 三、如何合理選擇遷移節點 四、如何保障遷移過程中可靠性 1. 添加從節點 2. 檢查同步數據正常 3. 執行主從切換 4. 檢查主從切換正常 5. 刪除待遷移節點 6. 消息通知 五、遷移任務管理展示 六、總結 一、為什麼要做資源均衡調度得物 Redis

redis , 數據庫 , redis集羣

得物技術 - 異常檢測算法在可觀測性平台的落地和實踐|得物技術

一、背景 在穩定性保證中,重要的一個環節就是故障管理體系建設,故障管理體系的四大核心功能——故障發現、故障觸達、故障定位和故障恢復,其中故障發現作為故障管理的第一步至關重要,包含了指標預測、異常檢測和故障預測等方面,主要目標是能及時、準確地發現故障。今天主要針對故障發現環節中的異常檢測介紹AI異常檢測算法在指標檢測上的應用。 傳統基於閾值的異常檢測方法的缺點: 比較依賴個人經驗,需要了解指標的

技術分享 , 人工智能 , 異常處理 , Python

得物技術 - 輕量級的灰度&配置平台|得物技術

一、前言 隨着近幾年得物的業務和技術的快速發展,我們不管是在面向C端場景還是B端供應鏈;業務版本的迭代更新,技術架構的不斷升級;不管是業務穩定性還是架構穩定性,業務灰度的能力對我們來説都是一項重要的技術保障,越來越受到我們業務研發的關注。然而,傳統的灰度發佈服務往往過於定製化,缺乏靈活性和通用性,無法滿足不斷變化的業務需求,往往灰度的場景可能通過代碼硬編碼或者簡單的配置中心配置。在這樣的背景下,本

配置 , 架構 , 灰度發佈

得物技術 - 探索BPMN—工作流技術的理論與實踐|得物技術

一、前言 19世紀70年代,流程管理思想萌芽階段。 怎樣提高工作效率? 泰勒:標準化個人操作流程 亨利·福特:規定標準時間定額 標準化、精簡化、通用化、專業化。 20世紀70年代,工作流技術起源於辦公自動化領域的研究。由於當時計算機尚未普及,網絡技術水平還很低以及理論基礎匱乏,這項新技術並未取得成功,許多公司採用紙張表單,手工傳遞的方式,一級一級審批簽字,工作效率非

bpmn , 效率 , JAVA , 工作流

得物技術 - 前端打包工具Mako架構解析|得物技術

一、Mako是什麼 Mako是一個新的Web打包工具,適用於Web應用、庫和框架。它被設計得快速、可靠且易於使用。Mako已被數百個生產項目中使用。如果你正在尋找一個現代的Web打包工具,Mako是正確的選擇。 二、特點 零配置 從一個JS/TS文件開始,Mako將處理其餘部分。開箱即支持TypeScript、Less、CSS、CSS Modules、React、圖像、字體、WASM

構建工具 , mako , rust , webassembly , 前端