動態

列表
創建 時間

APP常用跨端技術棧深入分析

導讀 本文主要針對常用跨端技術Flutter、ReactNative、Weex、H5,從技術特點、基本架構、編譯原理、基本渲染流程等進行梳理分析;以及一些常見性能問題如何優化解決,然後如何進行技術選型或在進行業務開發時選擇不同技術棧的邏輯是什麼。 01 背景 在今年的敏捷團隊建設中,我通過Suite執行器實現了一鍵自動化單元測試。Juint除了Suite執行器還有哪些執行器呢?由

創建 時間

玩轉服務器之Java Web篇:手把手教你搭建Java Web環境 | 京東雲技術團隊

前言 Java Web項目,簡單來説就是我們在瀏覽器上可以看到的內容。就簡單的Web來説,服務器上也同樣需要有計算機上所需要的運行環境,如:java,tomcat,mysql 。Java Web環境可以用來開發和部署各種Web應用程序,例如網站、Web服務、Web後台管理系統等。特點是跨平台、可靠性高、安全性強、開發效率高等。本篇文章會給你比較詳細的教程,從最基本的開始,循序漸進的深入。 一、Ja

創建 時間

你想要的【微前端】都在這裏了! | 京東雲技術團隊

作者:京東零售 鄭炳懿 開篇: 如果你不知道微前端是什麼,或者不知道微前端能解決什麼問題,那麼你可能不需要微前端。 在我看來,對於每一個沒有使用過的新技術,都應該有以下幾個過程: 1、調研該技術,產出相應的調研文檔。 2、輸出技術Demo,基本的框架結構。 3、試着在項目中使用它,這一步坑會很多。 4、把它推動到線上完成真正的技術升級。 一、調研微前端 1.1 業務背景 某次遇到一個從0到1的大型

創建 時間

這問題巧了,SpringMVC 不同參數處理機制引發的思考 | 京東雲技術團隊

這個問題非常有趣,不是SpringMVC 的問題,是實際開發中混合使用了兩種請求方式暴露出來的。 問題場景 功能模塊中,提供兩個 Http 服務。一個是列表查詢(application/json 請求),一個是列表導出(表單請求)。運行環境發現個問題:MVC model 新添加的屬性,類似的 Http 請求,一個有值,一個沒有 代碼如下: /** * application/json 請求。 這

創建 時間

SpringMvc集成開源流量監控、限流、熔斷降級、負載保護組件Sentinel | 京東雲技術團隊

前言:作者查閲了Sentinel官網、51CTO、CSDN、碼農家園、博客園等很多技術文章都沒有很準確的springmvc集成Sentinel的示例,因此整理了本文,主要介紹SpringMvc集成Sentinel SpringMvc集成Sentinel 一、Sentinel 介紹 隨着微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 是面向分佈式、多語言異構化服務架構的流量治理

創建 時間

【原理揭秘】Vite 是怎麼兼容老舊瀏覽器的?你以為僅僅依靠 Babel?

作者:京東科技 孫凱 一、前言 對前端開發者來説,Vite 應該不算陌生了,它是一款基於 nobundle 和 bundleless 思想誕生的前端開發與構建工具,官網對它的概括和期待只有一句話:“下一代的前端工具鏈”。 Vite 最早的版本由尤雨溪發佈於3年前,經歷了3年多的發展,Vite 也已逐漸迭代成熟,它的穩定性、擴展性、周邊生態足以在生產環境中支撐各種業務場景的落地。但是關於Vite的

創建 時間

帶你揭開神秘的Javascript AST面紗之Babel AST 四件套的使用方法

作者:京東零售 周明亮 寫在前面 這裏我們初步提到了一些基礎概念和應用: 分析器 抽象語法樹 AST AST 在 JS 中的用途 AST 的應用實踐 有了初步的認識,還有常規的代碼改造應用實踐,現在我們來詳細説説使用 AST, 如何進行代碼改造? Babel AST 四件套的使用方法 其實在解析 AST 這個工具上,有很多可以使用,上文我們已經提到過了。對於 JS 的 AST 大家已經

創建 時間

深入跨域 - 從初識到入門 | 京東物流技術團隊

前言 跨域這兩個字就像一塊狗皮膏藥一樣黏在每一個前端開發者身上,無論你在工作上或者面試中無可避免會遇到這個問題。如果在網上搜索跨域問題,會出現許許多多方案,這些方案有好有壞,但是對於闡述跨域的原理和在什麼情況下需要用什麼方案,缺少系統性的説明。大家在工作中可能因為大佬們已經配置好了,不會產生跨域,但是作為一個前端的開發人員,面對跨域的問題,還是需要從原理上去理解跨域的原因,在不同的情況中,我們該如

創建 時間

MCube動態化與原生工程結合最佳實踐 | 京東雲技術團隊

跨端動態化開發方案重要性日益凸顯,本文對我們團隊MCube動態化實踐做了總結,為大家提供經驗和借鑑。 接入背景 隨着我們工程的需求迭代,暴露出了業務需求量大,分端開發和發版更新成本高等痛點,使用H5頁面來代替,在用户體驗和性能相較原生有差異,所以我們團隊開始了對動態化改造的研究。 在做過一些列動態化開發的嘗試,並對多種方案進行調研後,我們選擇了MCube的動態化方案。之所以選用MCube,是因為它

創建 時間

常用Web 實時通信技術:原理+選型,一篇通關

在 Web 開發中,實時通信技術的核心目標是實現客户端(Browser)與服務器之間低延遲、雙向 / 單向的動態數據交互,而非傳統 HTTP 的 “請求 - 響應” 模式。以下是 Web 端最常用的實時通信技術,從概念、原理特點、適用場景、對比選型進行詳細解析。 一、WebSocket 1.1、核心概念 WebSocket 是 Web 端實時通信的 “基礎設施”,通過全雙工長連接和輕量幀傳輸,解決

創建 時間

JDD Oxygen智能零售論壇 | 《大模型時代的廣告營銷變革與實踐》

核心觀點 1. 通用大模型想解決營銷領域問題需向垂類模型轉型。 “全才”通用大模型難覆蓋廣告營銷全流程,需升級為“懂營銷”的垂直模型,實現從“知道”到“落地執行”的三維跨越。 2. 廣告智能體破解傳統投放門檻高效果不穩定難題。 把簡單留給客户,讓複雜交給AI。傳統投放對中小商家門檻高,廣告投放智能體憑“一句話指令”實現自動化操作與調優,讓廣告主從 “操作崗” 解放出來,專注做 “戰略崗”。 3.

創建 時間

研發排查問題的利器:一款方法調用棧跟蹤工具

導語 本文從日常值班問題排查痛點出發,分析方法複用的調用鏈路和上下文業務邏輯,通過思考分析,藉助棧幀開發了一個方法調用棧的鏈式跟蹤工具,便於展示一次請求的方法串行調用鏈,有助於快速定位代碼來源和流量入口,有效提升研發和運維排查定位效率。期望在大家面臨類似痛點時可以提供一些實踐經驗和參考,也歡迎大家合適的場景下接入使用。  現狀分析 在系統值班時,經常會有人拿着報錯截圖前來諮詢,作為值班研發,我們

創建 時間

EasyExcel碰到問題記錄

1、富文本中文字設置不同顏色和字體不生效 String stringCellValue = cell.getStringCellValue(); if (StringUtils.isNotBlank(stringCellValue) stringCellValue.contains(startIndex) stringCellVa

創建 時間

遞歸算法實踐--到倉合單助力京東物流提效增收

一、背景 京東物流到倉業務「對商家」為了減少商家按照京東採購單分貨備貨過程,對齊行業直接按照流向交接,提升商家滿意度;「對京東」攬收操作APP提效;到倉合單功能應運而生; 二、問題 一次批量採購單(一次50或者100個採購單)需要根據不同的規則合併成多個訂單; 每一個採購單可以是不同的來源類型(自營和非自營)、不同的收貨類型,每一個採購單會有多個SKU,同一個SKU只有一個等級,一批採購單會有多個

創建 時間

由 Mybatis 源碼暢談軟件設計(四):動態 SQL 執行流程

本節我們探究動態 SQL 的執行流程,由於在前一節我們已經對各個組件進行了詳細介紹,所以本節不再贅述相關內容,在本節中主要強調靜態 SQL 和動態 SQL 執行的不同之處。在這個過程中,SqlNode 相關實現值得關注,它為動態 SQL 標籤都定義了專用實現類,遵循單一職責的原則,並且應用了 裝飾器模式。最後,我們還會討論動態 SQL 避免注入的解決方案,它是在 Mybatis 中不可略過的一環。

創建 時間

純配時效服務-雙Redis集羣設計

一、概述 純配時效服務作為物流下單環節中計算時效的重要組成部分,直接決定了下單的成功與否。其性能與穩定性至關重要,因為它們直接影響整個物流下單系統的運行效率及客户滿意度。一個高效且穩定的純配時效服務能夠確保預計送達時間準確無誤地展示給用户,從而提升客户體驗和信任度。反之,若純配時效服務出現故障或延遲,可能會導致訂單處理延誤,甚至影響客户的業務運營。因此,在設計和維護純配時效服務時,必須確保其具備高

創建 時間

cookie 時效無限延長方案

作者:京東科技 劉清潔 1、痛點(*) 自動化測試有2種形式,接口自動化和UI自動化。而UI自動化經常會被登錄節點堵塞,例如驗證碼、圖形、滑塊等,儘管有些方式可以識別圖形和定位滑塊位置,但成功率都不高,無法真正意義上實現自動化執行;而http接口的自動化測試前置如果依賴cookie,也無法實現自動化執行。 a、怎麼樣才能繞過登錄,實現從前端到後端的自動化執行 b、面對複雜的登錄驗證無法直接自動獲取

創建 時間

提供方耗時正常,調用方毛刺頻頻

一 現象 調用方A - JSF - 提供方B 大多數情況下,調用方耗時 和 提供方耗時 基本沒有差別 個別情況下,調用方耗時 遠高於 提供方耗時,大概5分鐘20+次 1.調用方A耗時如下圖   2.提供方B耗時如下圖  3.調用方監控添加 在調用JSF接口前後加的監控,沒有其他任何邏輯,包括日誌打印 4.提供方監控添加 在代碼最外層JSF接口加的監控,之外沒有任何代碼邏輯 5.耗時對比

創建 時間

java小知識-ShutdownHook(優雅關閉)

一、先提出一個問題 我們如果在JVM退出的時候做一些事情,比如關閉遠程鏈接,怎麼實現呢? 二、ShutdownHook簡介 java裏有個方法Runtime.getRuntime#addShutdownHook,是否瞭解呢? ShutdownHook是什麼意思呢,看單詞解釋“關閉鈎子”,addShutdownHook就是添加一個關閉鈎子,這個鈎子是做什麼的呢?能否解決上面的問題? 1、RunTim

創建 時間

Dive into TensorFlow系列(1)-靜態圖運行原理

接觸過TensorFlow v1的朋友都知道,訓練一個TF模型有三個步驟:定義輸入和模型結構,創建tf.Session實例sess,執行sess.run()啓動訓練。不管是因為歷史遺留代碼或是團隊保守的建模規範,其實很多算法團隊仍在大量使用TF v1進行日常建模。我相信很多算法工程師執行sess.run()不下100遍,但背後的運行原理大家是否清楚呢?不管你的回答是yes or no,今天讓我們一

創建 時間

WWDC2023 Session系列:探索XCode15新特性 | 京東雲技術團隊

一、版本説明 XCode 15 beta 發佈於 2023 年 6月5日, 可支持 macOS 13.3 或以上版本, 你可以按需下載需要的平台。 二、新增特性 1.代碼智能提示 (Code completion) 創建新的文件在引用時的提示 首先創建一個新的文件 然後,在引用的地方,輸入文件首字母會立即自動彈出補全提示。 函數調用時列出所有可能的參數排列 在沒有提示的情況下,