openharmony之一多開發:產品形態配置講解

OpenHarmony 的“一多開發”指的是 一次開發,多端部署(簡稱“一多”),即使用 一套代碼工程,一次開發上架,按需部署到不同終端設備上

🎯 核心概念速覽

產品形態定義

寫在前面:

1.不同的形態其實本質差異體現在子系統和部件的差異,openharmony操作系統底層其實屏蔽了不同內核之間的差異,使其2in1(2in1和PC其實是相同的,只是換了稱呼)設備類型也可以在TV上運行,在phone/default類型設備也可以運行。
2.vendor目錄下的產品形態配置文件(比如vendor\hihope\dayu210\config.json)會根據相同合并、差異覆蓋的方式更新productdefine\common\inherit\phone.json。
3.ArkTs即應用層主要體現在: “deviceTypes”: [
“phone”,
“tablet”
] 在這里插入圖片描述
4.需要注意是的部分設備形態在低版本的API上是不支持的,其底層通過SysCap能力集合來區分不同的設備差異,當然也可以通過配置使其都支持。
5.不同設備類型通過bundleManager(BMS)安裝子系統來進行校驗,即HAP所設置的deviceTypes與實際設備類型不符合,是無法安裝的。

不同形態編譯命令:
方式一:
./build.sh -product-name dayu210 -ccache --device-type=tv
僅作參考,實際并不希望隨意更改設備類型。(不符合設計規范)
方式二:
hb命令在配置好自己的產品后,執行hb set命令會顯示你的定制產品
.hb build -ccache --device-type=tv

OpenHarmony采用分層解耦的產品定義架構,將產品配置分為三個層次:

層次描述配置位置示例
系統類型基礎系統能力base/mini/small/standard
設備形態產品類別模板inherit/phone/tablet/watch
產品實例具體產品配置products/system-arm64-default

系統類型對比表

特性輕量系統(mini)小型系統(small)標準系統(standard)
最小內存128KB1MB128MB
內核類型LiteOS-MLiteOS-A/LinuxLinux
處理器架構Cortex-M/RISC-V 32位Cortex-ACortex-A
圖形能力無界面基礎GUI完整3D加速
應用框架輕量級JS完整ArkUI
分布式能力基礎通信完整軟總線全場景協同
典型設備傳感器、手環攝像頭、路由器手機、平板、車機

📁 源碼目錄架構

目錄結構

productdefine/common/                 [源碼根目錄]
├── base/                             # 系統類型基礎配置
│   ├── mini_system.json             # 輕量系統最小集 [128KB+]
│   ├── small_system.json            # 小型系統最小集 [1MB+]
│   └── standard_system.json         # 標準系統最小集 [128MB+]
├── inherit/                          # 設備形態模板庫
│   ├── chipset_common.json          # 芯片通用模板
│   ├── headless.json                # 無頭系統模板
│   ├── ipcamera.json                # IPCamera模板
│   ├── phone.json                   # 手機模板 [通話+數據]
│   ├── tablet.json                  # 平板模板 [大屏+觸控]
│   ├── wearable.json                # 穿戴設備模板 [低功耗]
│   ├── tv.json                      # 電視模板 [多媒體]
│   ├── 2in1.json                    # 二合一設備模板
│   └── rich.json                    # 全功能模板
└── products/                         # 具體產品配置├── ohos-sdk.json                # SDK產品配置├── system_arm_default.json      # 32位ARM配置└── system_arm64_default.json    # 64位ARM配置

🔍 產品形態本質區別分析

1. 系統架構差異

🏗? 內核架構對比
OpenHarmony內核架構
LiteOS-M
LiteOS-A
Linux
輕量系統
128KB內存
無MMU
實時性優先
小型系統
1MB內存
簡化MMU
功耗平衡
標準系統
128MB內存
完整MMU
功能豐富
🎯 系統能力矩陣
能力維度輕量系統小型系統標準系統
進程管理任務調度多進程多用戶多進程
內存管理靜態分配動態分配虛擬內存
文件系統輕量級FS完整FS多文件系統
網絡協議基礎TCP/IP完整協議棧全協議支持
圖形系統基礎GUI3D加速
安全機制基礎加密完整安全框架企業級安全

2. 設備形態特性對比

📱 手機形態 (phone.json)

核心特征:

  • 通話能力:完整電話協議棧
  • 移動網絡:2G/3G/4G/5G/5G-A/6G支持
  • 位置服務:GPS/北斗/基站定位
  • 傳感器:加速度計、陀螺儀、磁力計
  • 相機:前后置攝像頭支持
  • 電池管理:精確電量管理

配置片段:

{"component": "telephony","features": []
}
📱 平板形態 (tablet.json)

核心特征:

  • 大屏適配:10-13英寸屏幕優化
  • 觸控優化:多點觸控、手勢識別
  • 分屏多任務:多窗口并行運行
  • 無通話模塊:相比手機裁剪電話功能
  • 增強圖形:更高分辨率支持

差異化配置:

{"inherit": ["productdefine/common/inherit/rich.json"],"subsystems": [{"subsystem": "telephony",// 移除電話功能"components": []  }]
}
? 穿戴形態 (wearable.json)

核心特征:

  • 超低功耗:深度睡眠模式
  • 健康監測:心率、血氧、步數
  • 小屏適配:1-2英寸圓形/方形屏幕
  • 藍牙連接:BLE低功耗通信
  • 簡化UI:極簡交互界面

功耗優化配置:

{"component": "power_manager","features": ]
}
📺 電視形態 (tv.json)

核心特征:

  • 大屏顯示:55-85英寸4K/8K支持
  • 遙控器:紅外/藍牙遙控
  • 媒體播放:4K視頻解碼、HDR支持
  • 網絡連接:WiFi 6、有線以太網
  • 無觸控:純遙控器操作

媒體能力配置:

{"component": "multimedia","features": []
}

🔧 產品配置詳解

配置繼承機制

🧬 三層繼承架構
基礎系統類型
設備形態模板
具體產品配置
standard_system.json
rich.json
phone.json
tablet.json
system_arm64_default.json
phone_product.json
tablet_product.json
?? 配置優先級規則
  1. 高優先級: 產品實例配置
  2. 中優先級: 設備形態模板
  3. 低優先級: 系統類型基礎

關鍵配置字段解析

📋 產品配置文件結構
{"version": "3.0",                    // 配置格式版本"product_name": "system-arm64-default",  // 產品唯一標識"device_company": "ohos",            // 廠商標識"target_cpu": "arm64",               // 目標CPU架構 [arm/arm64/x86/riscv]"board": "arm64",                    // 開發板型號"type": "standard",                  // 系統類型 [mini/small/standard]"enable_ramdisk": true,              // 是否啟用ramdisk"build_selinux": true,               // 是否啟用SELinux"inherit": ["rich.json"],            // 繼承的模板列表"subsystems": [...]                 // 子系統配置
}
🎯 CPU架構支持矩陣
CPU架構輕量系統小型系統標準系統典型設備
ARM Cortex-M???STM32、ESP32
ARM Cortex-A???樹莓派、RK3568
ARM64???手機、服務器
RISC-V 32???物聯網芯片
RISC-V 64???開發板

📊 系統能力對比分析

子系統能力矩陣

子系統類別輕量系統小型系統標準系統功能描述
arkui?基礎版完整版UI框架
telephony?基礎版完整版電話功能
multimedia?基礎版完整版多媒體處理
location?基礎版完整版位置服務
connectivity基礎版完整版完整版網絡連接
security基礎版完整版企業級安全框架
distributed?基礎版完整版分布式能力

內存占用對比

系統類型最小內存推薦內存存儲空間啟動時間
輕量系統128KB512KB1MB<1s
小型系統1MB4MB16MB2-5s
標準系統128MB512MB2GB10-30s

🛠? 實戰配置指南

創建新產品形態

步驟1: 選擇基礎系統類型
# 根據硬件資源選擇
- 128KB-512KB內存 → mini_system.json
- 1MB-16MB內存 → small_system.json  
- 128MB+內存 → standard_system.json
步驟2: 選擇設備形態模板
# 根據產品類型選擇
- 手機 → phone.json
- 平板 → tablet.json
- 手表 → wearable.json
- 電視 → tv.json
- 通用設備 → rich.json
步驟3: 創建產品配置文件
// products/my_product.json
{"version": "3.0","product_name": "my-custom-device","device_company": "mycompany","target_cpu": "arm64","board": "myboard","type": "standard","inherit": ["productdefine/common/inherit/rich.json","productdefine/common/inherit/phone.json"],"subsystems": [{"subsystem": "custom","components": [{"component": "my_custom_feature","features": ["custom_feature_enable=true"]}]}]
}

配置驗證流程

? 驗證步驟
  1. 語法檢查: JSON格式驗證
  2. 依賴檢查: 子系統依賴關系
  3. 內存估算: 內存占用計算
  4. 功能測試: 核心功能驗證
🔍 驗證工具
# 使用build.sh驗證
./build.sh --product-name my_product --check-only# 查看最終部件列表
cat out/preloader/my_product/parts.json

🔍 配置分析

系統類型詳細配置對比

以下是三種系統類型的詳細組件對比:

📊 輕量系統 (mini_system.json)
{"subsystems": [{"subsystem": "hiviewdfx","components": ["hilog_lite","hievent_lite","hidumper_lite"]},{"subsystem": "startup","components": ["bootstrap_lite","appspawn_lite"]},{"subsystem": "communication","components": ["dsoftbus","ipc"]},{"subsystem": "security","components": ["device_auth","huks_lite"]},{"subsystem": "commonlibrary","components": ["utils_lite"]},{"subsystem": "updater","components": ["sys_installer_lite"]},{"subsystem": "thirdparty","components": ["libcoap","lwip","mbedtls","cJSON","zlib","libboundscheck","cmsis","nvram"]}]
}
📊 小型系統 (small_system.json)
{"subsystems": [{"subsystem": "hdf","components": ["hdf_core","hdf_driver_framework","hdf_device_desc","hdf_config_manager","hdf_platform"]},{"subsystem": "kernel","components": ["liteos_a"]},{"subsystem": "hiviewdfx","components": ["hilog_lite","hievent_lite","hidumper_lite"]},{"subsystem": "startup","components": ["bootstrap_lite","appspawn_lite","init_lite"]},{"subsystem": "communication","components": ["dsoftbus","ipc","samgr_lite"]},{"subsystem": "security","components": ["device_auth","huks_lite","access_token_lite"]},{"subsystem": "commonlibrary","components": ["c_utils","utils_lite"]},{"subsystem": "updater","components": ["sys_installer_lite"]},{"subsystem": "thirdparty","components": ["libcoap","lwip","mbedtls","cJSON","zlib","libboundscheck","cmsis","nvram","musl","libffi"]}]
}
📊 標準系統 (standard_system.json)
{"subsystems": [{"subsystem": "hdf","components": ["hdf_core","hdf_driver_framework","hdf_device_desc","hdf_config_manager","hdf_platform","hdf_usb"]},{"subsystem": "communication","components": ["ipc","dsoftbus","net_manager"]},{"subsystem": "systemabilitymgr","components": ["samgr","safwk"]},{"subsystem": "hiviewdfx","components": ["hilog","hitrace","hidumper","hievent","hisysevent","hiview","faultloggerd"]},{"subsystem": "security","components": ["access_token","huks","deviceauth","selinux_adapter","dataclassification","iam"]},{"subsystem": "commonlibrary","components": ["c_utils","memory_utils"]},{"subsystem": "updater","components": ["update_service","update_engine"]},{"subsystem": "developtools","components": ["hdc","hidumper","hitrace"]},{"subsystem": "thirdparty","components": ["mbedtls","openssl","zlib","jsoncpp","libxml2","libcurl","cares","nghttp2","libffi","libunwind","libcxx","libcxxabi","compiler_rt","libc","musl","e2fsprogs","f2fs-tools","exfatprogs","dosfstools"]}]
}

設備形態配置詳解

🖥? 無頭系統 (headless.json)

專為無顯示界面的設備設計,如服務器、網關:

部分,實際請參照prodefine目錄下的配置文件
{"version": "3.0","subsystems": [{"subsystem": "build","components": ["build_framework"]},{"subsystem": "startup","components": ["startup_l2","init","appspawn"]},{"subsystem": "hiviewdfx","components": ["hilog","hitrace","hidumper","hievent","hisysevent","hiview","faultloggerd"]},{"subsystem": "distributedhardware","components": ["device_manager"]},{"subsystem": "security","components": ["device_auth","huks","access_token","selinux_adapter","dataclassification","iam"]},{"subsystem": "account","components": ["os_account"]},{"subsystem": "communication","components": ["ipc","dsoftbus","net_manager","bluetooth"]},{"subsystem": "ability","components": ["ability_runtime","ability_base","abilityms","ability_manager","abilityms_client"]},{"subsystem": "arkui","components": ["napi"]}]
}
📹 IPCamera (ipcamera.json)

專為網絡攝像頭設計,集成多媒體能力:

部分:
{"version": "3.0","subsystems": [{"subsystem": "arkui","components": ["ace_engine","napi"]},{"subsystem": "account","components": ["os_account"]},{"subsystem": "distributeddatamgr","components": ["preferences","kv_store","relational_store","data_storage","distributeddata"]},{"subsystem": "filemanagement","components": ["user_file_service","file_api","storage_manager","filemanagement_libn"]},]
}

配置字段深度解析

🔧 關鍵配置字段說明
字段名數據類型必填說明示例值
versionstring?配置格式版本“3.0”
product_namestring?產品唯一標識符“my_custom_device”
device_companystring?廠商代碼“hisilicon”
target_cpustring?CPU架構“arm64/arm/x86/riscv”
boardstring?開發板型號“hi3516dv300”
typestring?系統類型“standard/small/mini”
enable_ramdiskboolean?啟用ramdisk加速true/false
build_selinuxboolean?啟用SELinux安全true/false
inheritarray?繼承的模板列表[“rich.json”, “phone.json”]
subsystemsarray?子系統配置數組[…]
🎯 子系統配置結構
{"subsystems": [{"subsystem": "arkui",           // 子系統名稱"components": [                  // 組件列表{"component": "ace_engine",   // 組件名稱"features": [                // 特性配置 (可選)]}]}]
}

高級配置技巧

🔄 動態配置繼承
{"inherit": ["productdefine/common/base/standard_system.json","productdefine/common/inherit/rich.json","productdefine/common/inherit/phone.json"],"subsystems": [{"subsystem": "telephony","components": [{"component": "cellular_call","features": ["5g_support=true","volte_enable=true"]}]}]
}
?? 條件編譯配置
{"subsystems": [{"subsystem": "graphic","components": [{"component": "graphic_2d","features": ["gpu_acceleration=false","gpu_acceleration=true",]}]}]
}

最佳實踐案例

📱 創建自定義手機產品

場景: 基于標準系統創建一款中低端4G手機

  1. 基礎配置 (products/my_phone.json):
{"version": "3.0","product_name": "my-4g-phone","device_company": "mycorp","target_cpu": "arm","board": "mt6765","type": "standard","enable_ramdisk": true,"build_selinux": true,"inherit": ["productdefine/common/base/standard_system.json","productdefine/common/inherit/phone.json"],"subsystems": [{"subsystem": "telephony","components": [{"component": "cellular_call","features": []}]},{"subsystem": "multimedia","components": [{"component": "camera_standard","features": []}]}]
}
  1. 內存優化配置:
{"subsystems": [{"subsystem": "graphic","components": [{"component": "graphic_2d","features": ["gpu_acceleration=true","memory_optimization=aggressive"]}]}]
}
? 創建智能手表產品

場景: 基于小型系統創建低功耗智能手表

{"version": "3.0","product_name": "my-smartwatch","device_company": "mycorp","target_cpu": "arm","board": "nrf52840","type": "small","enable_ramdisk": false,"build_selinux": false,"inherit": ["productdefine/common/base/small_system.json","productdefine/common/inherit/wearable.json"],"subsystems": [{"subsystem": "sensors","components": ["accelerometer","gyroscope","heart_rate_sensor"]},{"subsystem": "powermgr","components": [{"component": "power_manager","features": ["low_power_mode=extreme","always_on_display=true"]}]}]
}
🚨 常見錯誤及解決方案
錯誤類型錯誤信息根因分析解決方案
JSON格式錯誤Expecting ‘,’ delimiter缺少逗號或括號使用JSON驗證工具
依賴缺失Component ‘xxx’ not found未包含所需子系統檢查inherit配置
內存溢出Out of memory組件過多或配置過大裁剪不必要的組件
架構不匹配CPU arch incompatibletarget_cpu配置錯誤檢查CPU架構設置
權限錯誤Permission deniedSELinux配置問題調整安全策略

配置模板速查表

📋 快速配置模板
設備類型基礎系統推薦模板關鍵特性
智能手機standardphone.json + rich.json通話、4G/5G、相機
平板電腦standardtablet.json + rich.json大屏、無通話
智能手表smallwearable.json低功耗、健康監測
智能電視standardtv.json + rich.json4K視頻、遙控器
IPCamerastandardipcamera.json視頻采集、網絡傳輸
IoT網關smallheadless.json無界面、網絡功能
開發板standardrich.json全功能、開發調試

📚 附錄:源碼文件清單

📁 基礎系統類型文件
productdefine/common/base/
├── mini_system.json        # 輕量系統 - 128KB內存
├── small_system.json       # 小型系統 - 1MB內存  
└── standard_system.json    # 標準系統 - 128MB內存
📁 設備形態模板文件
productdefine/common/inherit/
├── rich.json              # 全功能模板
├── phone.json             # 手機專用模板
├── tablet.json            # 平板專用模板
├── wearable.json          # 穿戴設備模板
├── tv.json                # 智能電視模板
├── 2in1.json              # 二合一設備模板
├── headless.json          # 無頭系統模板
├── ipcamera.json          # 網絡攝像頭模板
└── chipset_common.json    # 芯片通用模板
📁 產品配置示例
productdefine/common/products/
├── ohos-sdk.json              # SDK產品配置
├── system_arm_default.json    # 32位ARM系統
├── system_arm64_default.json  # 64位ARM系統
├── system_riscv32.json        # 32位RISC-V系統
└── system_riscv64.json        # 64位RISC-V系統

📊 組件統計對比表

系統類型子系統數量組件總數第三方庫典型內存占用
mini_system725+8個128KB-512KB
small_system935+11個1MB-16MB
standard_system1050+20個128MB-512MB
rich.json2380+40+512MB+
phone.json25+100+45+1GB+

🎯 實際應用建議

選擇系統類型的決策樹
硬件資源評估:
├── 內存 < 1MB → mini_system.json
├── 內存 1-128MB → small_system.json
└── 內存 >= 128MB → standard_system.json功能需求評估:
├── 需要完整UI → standard + rich.json
├── 需要通話功能 → standard + phone.json
├── 需要穿戴功能 → small + wearable.json
└── 需要攝像頭 → standard + ipcamera.json
內存優化檢查清單
  • 移除不必要的子系統
  • 禁用GPU加速 (gpu_acceleration=false)
  • 減少第三方庫依賴
  • 使用輕量級組件 (xxx_lite)
  • 啟用內存壓縮 (memory_compression=true)
  • 調整緩存大小 (cache_size=small)
編譯驗證流程

# 完整編譯
./build.sh --product-name my_product --ccahe

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/94939.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/94939.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/94939.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

被迫在linux上用R(真的很難用啊)之如何在linux上正常使用R

總有一些情況&#xff0c;讓你不得不在linux上使用R。。。 在我不斷試錯&#xff0c;不斷嘗試過程中&#xff08;恩&#xff0c;新手瘋狂踩坑&#xff09; 發現最簡單的辦法是&#xff1a; 1 mamba創建一個新環境&#xff0c;在新環境中使用R 2 轉變思維&#xff0c;都在linux上…

【STM32】G030單片機的獨立看門狗

目錄 一、簡單介紹 二、特性 三、窗口選項 四、cubeMX配置 不使用窗口功能 使用窗口功能 五、工程鏈接 一、簡單介紹 獨立看門狗&#xff0c;顧名思義&#xff0c;是不依靠系統而獨立存在的看門狗 可以脫離應用運行&#xff0c;但缺陷在于時序精度比窗口看門狗低 主要…

VR黨建工作站-紅色教育基地

近幾年在市場爆火的VR黨建工作站提升了傳統的黨建方式&#xff0c;利用VR/AR技術&#xff0c;為廣大黨員提供沉浸式、多維度的黨建學習。佩京利用VR技術搭建的教育場景&#xff0c;可以更加直觀地了解黨的發展歷程&#xff0c;提高學習效果&#xff0c;激發奮斗精神。VR黨建工作…

配置 Gitlab 和 Elasticsearch/Zoekt 并使用 Docker Metadata 數據庫、Camo 代理服務

配置 Gitlab 和 Elasticsearch/Zoekt 并使用 Docker Metadata 數據庫、Camo 代理服務 本文章首發于&#xff1a;連接 Gitlab 和 Elasticsearch/Zoekt 并使用 Docker Metadata 數據庫、Camo 代理服務 - Ayaka 的小站 為確保更好閱讀格式和閱讀體驗&#xff0c;更建議前往個人博客…

2025年滲透測試面試題總結-36(題目+回答)

安全領域各種資源&#xff0c;學習文檔&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具&#xff0c;歡迎關注。 目錄 一、計算機網絡基礎 1. HTTP 狀態碼&#xff08;502/503/501&#xff09; 2. HTTP 請求方式及作用 3. 計…

QT5.15.2 - 安裝時如果下載不了停了,需要加速

文章目錄QT5.15.2 - 安裝時如果下載不了停了&#xff0c;需要加速概述筆記安裝的選項可用的國內鏡像站點也有很多ENDQT5.15.2 - 安裝時如果下載不了停了&#xff0c;需要加速 概述 在 https://download.qt.io/archive/online_installers 中找在線安裝包。 用qt-online-instal…

著色器語言

以下是主流的幾種著色器語言&#xff1a;1. HLSL (High-Level Shading Language)這是你在Unity中最主要、最應該學習的語言。開發方&#xff1a;微軟 (Microsoft)主要應用平臺&#xff1a;Unity、DirectX (Windows, Xbox)特點&#xff1a;語法與C語言非常相似&#xff0c;易于學…

VILA運行全程踩坑筆記

VILA運行全程踩坑筆記1. docker的嘗試2. 本地部署服務端倉庫地址&#xff1a;https://github.com/NVlabs/VILA 全文按照一路踩坑的時間順序記錄&#xff0c;不建議按照步驟一步一步來重復每一個踩坑的悲傷故事&#xff0c;不如先全部看完&#xff0c;再實際上手操作。 省流&am…

Python爬蟲: 分布式爬蟲架構講解及實現

了解Python分布式爬蟲框架及其實現,能讓你在處理大規模數據采集時事半功倍。本文我會結合自己的知識,從核心原理、主流框架、關鍵技術到實踐建議,為你提供一個詳細的解讀。 ?? 一、分布式爬蟲核心原理 分布式爬蟲的核心思想是將爬取任務分解,由多個爬蟲節點(Worker)協…

君正T31學習(四)- MT7682+VLC出圖

一、簡介 前幾篇文章介紹了如何通過SD卡來播放sensor錄制的視頻&#xff0c;但是效率很低&#xff0c;所以需要一種效率更高的方法&#xff0c;就是本篇的主角MT7682VLC。 Mt7682在系統中注冊為一個以太網卡驅動&#xff0c;接口名為eth0&#xff0c;可以使用Linux通用的socket…

【辦公自動化】如何使用Python庫高效自動化處理圖像?

在日常辦公中&#xff0c;我們經常需要處理大量圖像&#xff0c;如產品照片、營銷素材、文檔掃描件等。手動處理這些圖像不僅耗時&#xff0c;還容易出錯。通過Python自動化圖像處理&#xff0c;我們可以高效地完成批量縮放、裁剪、加水印、格式轉換等任務&#xff0c;大大提高…

Beats與Elasticsearch高效數據采集指南

Beats 是 Elastic Stack 中的數據采集器&#xff0c;用于從各種來源&#xff08;日志、指標、網絡數據等&#xff09;輕量級收集數據&#xff0c;而 Elasticsearch 是搜索和分析引擎&#xff0c;負責存儲、索引和快速檢索數據。二者結合可搭建強大的數據分析管道&#xff08;如…

前端異常監控,性能監控,埋點,怎么做的

你想做的是一個 前端監控系統&#xff08;Frontend Monitoring / RUM, Real User Monitoring&#xff09;&#xff0c;主要包括&#xff1a;異常監控&#xff08;JS 報錯、資源加載錯誤、Promise 未捕獲異常&#xff09;性能監控&#xff08;白屏時間、首屏時間、頁面加載時間、…

Kubernetes一EFK日志架構

前言&#xff1a;? 在云原生時代&#xff0c;Kubernetes已成為容器編排的事實標準&#xff0c;它賦予了應用極高的彈性、可移植性和密度。然而&#xff0c;這種動態、瞬時的特性也帶來了可觀測性的新難題&#xff1a;當數以百計的Pod在節點間頻繁創建和銷毀時&#xff0c;傳統…

Linux下的軟件編程——網絡編程(tcp)

重點&#xff1a;1.UDP和TCP區別2.TCP三次握手和四次揮手3.TCP粘包問題及解決辦法4.TCP客戶端和服務端的編程流程 TCP&#xff1a;傳輸層傳輸控制協議&#xff08;流式套接字&#xff09;1&#xff09;TCP的特點1.面向數據流2.有連接&#xff08;通信之前必須建立連接…

印度尼西亞數據源 PHP 對接文檔

一、環境要求與配置 1. 系統要求 PHP ≥ 7.4擴展&#xff1a;cURL、JSON、OpenSSLComposer&#xff08;推薦&#xff09; 2. 安裝依賴 composer require guzzlehttp/guzzle3. 基礎配置類 <?php // config/StockTVConfig.php class StockTVConfig {const BASE_URL https://…

Maven核心用法

1.什么是Maven2.Maven的作用&#xff08;依賴管理、項目構建、統一的項目結構&#xff09;2.1 依賴管理2.2 項目構建2.3 統一的項目結構3.Maven的介紹IDEA中對應信息4.Maven的安裝注意&#xff1a;需要解壓到 沒有中文 不帶空格 的目錄下5.IDEA中的Maven配置然后需要配置JD…

TypeScript:never類型

never類型是TypeScript中最特殊的類型之一&#xff0c;它表示永遠不會發生的值。作為專業前端工程師&#xff0c;理解never類型對于編寫類型安全的代碼至關重要。1. never類型的核心概念定義&#xff1a;never類型表示永遠不會出現的值&#xff0c;常見于&#xff1a;拋出錯誤的…

圖數據庫neo4j的安裝

安裝JDK Neo4j是基于Java的圖形數據庫&#xff0c;運行Neo4j需要啟動JVM進程&#xff0c;因此必須安裝JAVA SE的JDK。從Oracle官方網站下載 Java SE JDK&#xff0c;我的的版本是JDK8。 安裝Neo4j 官網下載最新版本Neo4j 我下的是社區版的 Neo4j應用程序有如下主要的目錄結構…

汽車診斷服務(UDS——0x27服務解析)

目錄 1、服務概述 2、工作原理 3、常用的應用場景 4、子功能 5、請求與響應格式 5、1服務請求 5、2服務肯定響應 5、3服務否定響應 6、延時機制 1、服務概述 該服務對零部件中部分加密的服務進行解密工作安全訪問的概念使用“種子”和“密鑰”來實現 參數描述種子4字…