從0到1實現:AI版你畫我猜小遊戲
作者: vivo 互聯網前端團隊- Wei Xing 全民AI時代,前端er該如何蹭上這波熱度?本文將一步步帶大家瞭解前端應該如何結合端側AI模型,實現一個AI版你畫我猜小遊戲。 1分鐘看圖掌握核心觀點👇 本文提供配套演示代碼,可下載體驗: Github | vivo-ai-quickdraw 一、引言 近幾年AI的進化速度堪比科幻片——昨天還在調教ChatGPT寫詩,今天Sora已經
作者: vivo 互聯網前端團隊- Wei Xing 全民AI時代,前端er該如何蹭上這波熱度?本文將一步步帶大家瞭解前端應該如何結合端側AI模型,實現一個AI版你畫我猜小遊戲。 1分鐘看圖掌握核心觀點👇 本文提供配套演示代碼,可下載體驗: Github | vivo-ai-quickdraw 一、引言 近幾年AI的進化速度堪比科幻片——昨天還在調教ChatGPT寫詩,今天Sora已經
作者:vivo 互聯網安全團隊- Luo Bingsong 前端代碼都是公開的,為了提高代碼的破解成本、保證JS代碼裏的一些重要邏輯不被居心叵測的人利用,需要使用一些加密和混淆的防護手段。 一、概念解析 1.1 什麼是接口加密 如今這個時代,數據已經變得越來越重要,網頁和APP是主流的數據載體,如果獲取數據的接口沒有設置任何的保護措施的話,數據就會被輕易地竊取或篡改。 除了數據泄露外,一些重要功能
作者:來自 vivo 互聯網服務器團隊- Li Wanghong 本文首先介紹了 Disruptor 高性能內存隊列的基本概念、使用 Demo、高性能原理及源碼分析,最後通過兩個例子介紹了 Disruptor 在i主題業務中的應用。 一、i主題及 Disruptor 簡介 i主題是 vivo 旗下的一款主題商店 app,用户可以通過下載主題、壁紙、字體等,實現對手機界面風格的一鍵更換和自定義。 D
作者:來自 vivo 互聯網大前端團隊- Wei Xing 在研發項目過程中,我們經常會遇到技術架構迭代更新的需求,通過技術的迭代更新,讓項目從新的技術特性中受益,但由於很多新的技術迭代版本並不能完全向下兼容,包含了很多非兼容性的改變(Breaking Changes),因此我們需要設計一款工具,幫助我們完成大規模代碼自動遷移問題。本文簡單闡述了基於 AST 的代碼遷移概念和大致流程,並通過代碼案
作者:來自 vivo 互聯網算法團隊- Huang Minghui 本文探討了 NLLB 翻譯模型與 ChatGPT 在小語種應用中的雙向優化策略。首先介紹了 NLLB-200 的背景、數據、分詞器和模型,以及其與 LLM(Large Language Model)的異同和協同關係。接着列舉了實戰與應用的案例,包括使用 ChatGPT 生成的樣本微調 NLLB-200 和使用 NLLB-200 的
作者:來自 vivo 互聯網前端團隊- Su Ning 作為一個3D的項目,從用户打開頁面到最終模型的渲染需要經過多個流程,加載的時間也會比普通的H5項目要更長一些,從而造成大量的用户流失。為了提升首屏加載的轉化率,需要儘可能的降低loading的時間。這裏就分享一些我們在模型加載優化方面的心得。 一、前言 近段時間,我們使用three.js完成了vivo擬我形象的開發工作,大家可以在vivo賬號
一、前言 隨着業務的快速發展,現在的互聯網App越來越大,為了提高團隊開發效率,模塊化開發已經成為主流的開發模式。正好最近完成了vivo官網App業務模塊化改造的工作,所以本文就對模塊化開發模式進行一次全面的介紹,並總結模塊化改造經驗,幫助兄弟項目避坑。 二、什麼是模塊化開發 首先我們搞清兩個概念,Android客户端開發目前有兩種模式:單工程開發模式和模塊化開發模式。 單工程開發模式:早期業
一、背景 vivo遊戲中心是一款垂類的應用商店,為用户提供了多元化遊戲的下載渠道。隨着遊戲中心手遊品類的豐富,各品類用户的量級也不斷增加,不同遊戲偏好的用户核心關注點也不同,從預約、測試、首發、更新到維護,不同遊戲生命週期節點的運營需要突出的重點不同。 針對上述不同業務場景,運營人員為了服務好廣大的vivo遊戲用户,需要進行精細化運營,以不同的視覺樣式呈現給不同用户。比如,針對獨立遊戲品類的用户,
作者:vivo 互聯網服務器團隊- Ye Feng 本文介紹了協程的概念,並討論了 Tars Cpp 協程的實現原理和源碼分析。 一、前言 Tars 是 Linux 基金會的開源項目(https://github.com/TarsCloud),它是基於名字服務使用 Tars 協議的高性能 RPC 開發框架,配套一體化的運營管理平台,並通過伸縮調度,實現運維半托管服務。Tars 集可擴展協議編解碼、
作者:vivo 互聯網大數據團隊- You Shuo 本文是《vivo Pulsar萬億級消息處理實踐》系列文章第2篇,Pulsar支持上報分區粒度指標,Kafka則沒有分區粒度的指標,所以Pulsar的指標量級要遠大於Kafka。在Pulsar平台建設初期,提供一個穩定、低時延的監控鏈路尤為重要。 系列文章: 《vivo Pulsar萬億級消息處理實踐-數據發送原理解析和性能調優
作者:來自 vivo 互聯網中間件團隊 本文根據羅亮老師在“2023 vivo開發者大會"現場演講內容整理而成。公眾號回覆【2023 VDC】獲取互聯網技術分會場議題相關資料。 vivo微服務平台為全球5億+用户背後的全網十萬級機器、萬級微服務提供服務,在高效實踐過程中,vivo中間件平台團隊輸出了一套業務適用的微服務架構最佳實踐--架構能力矩陣、高效的開源中間件組件全生命週期管理策略,走出了一條
作者:來自 vivo 互聯網大前端團隊- Su Ning 本文將探討 three.js 中的陰影渲染機制,並分享一些針對性能和效果優化的實用技巧,幫助開發者在不同場景下做出最佳的權衡選擇。 一、前言 在3D網頁應用中,高質量的陰影渲染對於營造場景的真實感至關重要。作為廣泛採用的 WebGL 框架之一,three.js 為開發者提供了多種陰影渲染選項,使得創建生動逼真的光影效果成為可能。然而,實現這
作者: vivo 互聯網前端團隊- Su Ning 本文從多個維度對比 Galacean 和 Three.js 兩款Web3D 引擎的差異,並介紹擬我形象項目從Three.js 切換到 Galacean 以後帶來的提升以及項目遷移的心得,為其他 Three.js 項目升級到 Galacean 提供參考。 1分鐘看圖掌握核心觀點👇 一、背景 Web 3D 技術的發展日新月異,為我們帶來了
作者:vivo 互聯網數據庫團隊- Liu Huang 本文介紹了一次排查Elasticsearch node_concurrent_recoveries 引發的性能問題的過程。 一、故障描述 1.1 故障現象 1. 業務反饋 業務部分讀請求拋出請求超時的錯誤。 2. 故障定位信息獲取 故障開始時間 19:30左右開始 故障拋出異常日誌 錯誤日誌拋出timeout錯誤。 故障之前的
作者:來自 vivo 互聯網大前端團隊- Wei Xing 在研發小型項目時,傳統的 Vue、React 顯得太“笨重”。本文主要針對開發小型項目的場景,談談 Vite+Svelte 是如何讓項目變得“小巧靈動”,並橫向對比 Svelte 和 Vue 的性能表現,對二者的加載流程做詳細分析。 一、背景 為了統一技術標準、提升協作效率,通常在前端團隊內部只會保留一套通用的研發框架。尤其是在團隊初創時
作者:vivo 互聯網服務器團隊- Li Gang 本文介紹了遊戲業務使用MAT和GC日誌等工具對 Full GC頻率進行優化的過程。 一、背景 遊戲業務面對用户端的某個工程,每天Full GC頻率達到120次,業務高峯期每7分鐘就會有一次Full GC。為了避免情況持續變差,最大程度減少對系統響應時間的負面影響,需要對該工程的Full GC頻率進行優化。 該項目JDK版本為1.8,老年代使用
作者:vivo 互聯網前端團隊- Su Ning 本文通過depth-anything獲取圖片的深度圖,同時基於pixi.js,通過着色器編程,實現了通過深度圖驅動的偽3D效果。該方案支持鼠標/手勢與手機陀螺儀雙模式交互,在保證性能的同時,為不同終端用户提供沉浸式的視覺體驗。 本文提供配套演示代碼,可下載體驗: Github | vivo-parallax 一、引言 在當今的網頁設計與交互
作者: vivo 互聯網服務器團隊- Zhang Jing 本文以遊戲週週樂的幸運碼為切入點,針對其生成過程中涉及的隨機性、唯一性及高併發等特點,設計了一種基於號段+子碼的創新架構。該方案不僅在生成速度上表現突出,還顯著提升了存儲效率,同時降低了擴容成本,為類似的號碼生成系統提供了設計上的新思路和啓發。 文章太長?1分鐘看圖抓住核心觀點👇 一、業務背景 用户可通過完成相關任務獲取週週樂幸運碼,
作者:vivo 互聯網客户端團隊-Xu Jie Android架構模式飛速演進,目前已經有MVC、MVP、MVVM、MVI。到底哪一個才是自己業務場景最需要的,不深入理解的話是無法進行選擇的。這篇文章就針對這些架構模式逐一解讀。重點會介紹Compose為什麼要結合MVI進行使用。希望知其然,然後找到適合自己業務的架構模式 一、前言 不得不感嘆,近些年android的架構演進速度真的是飛快,拿筆者工
作者:vivo 互聯網前端團隊- Wang Ning 本文根據王寧老師在“2022 vivo開發者大會"現場演講內容整理而成。公眾號回覆【2022 VDC】獲取互聯網技術分會場議題相關資料。 本文主要從前後端分離的低代碼方案、自研高性能渲染引擎、高效的可視化配置方案、千億級內容投放、低代碼如何與傳統開發共存等五個維度vivo在低代碼平台方面的實踐經驗,其中也會涉及到動態交互如何運用低代碼來