3.NVIDIA Deepstream开发指南中文版--Deepstream 环境配置

2023-10-18 15:40

本文主要是介绍3.NVIDIA Deepstream开发指南中文版--Deepstream 环境配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Deepstream 环境配置

NVIDIA® DeepStream 软件开发套件 (SDK) 是一个加速 AI 框架,用于构建智能视频分析 (IVA) 管道。 DeepStream 可在 NVIDIA® T4、NVIDIA® Ampere 和 NVIDIA® Jetson AGX Xavier™、NVIDIA® Jetson Xavier NX™、NVIDIA® Jetson AGX Orin™ 等平台上运行。

在这里插入图片描述

Jetson 平台配置

本节介绍如何在安装 DeepStream SDK 之前准备 Jetson 设备。

安装 Jetson SDK 组件

从 https://developer.nvidia.com/embedded/jetpack 下载 NVIDIA SDK Manager。 您将使用它来安装 JetPack 5.0.1 DP(对应于 L4T 34.1.1 版本)

  • NVIDIA SDK Manager 是一个图形应用程序,它刷新并安装 JetPack 包。

  • 刷新过程大约需要 10-30 分钟,具体取决于主机系统。

注意

如果您使用的是 Jetson Xavier NX 开发者套件,您可以从 https://developer.nvidia.com/embedded/jetpack 下载 SD 卡镜像。 它与 CUDA、TensorRT 和 cuDNN 一起打包。

安装依赖库

输入以下命令以安装必备软件包:

$ sudo apt install \
libssl1.1 \
libgstreamer1.0-0 \
gstreamer1.0-tools \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
libgstrtspserver-1.0-0 \
libjansson4 \
libyaml-cpp-dev

安装 librdkafka(为消息代理启用 Kafka 协议适配器)

  1. 从 GitHub 克隆 librdkafka 存储库:
$ git clone https://github.com/edenhill/librdkafka.git
  1. 配置和构建库:
$ cd librdkafka
$ git reset --hard 7101c2310341ab3f4675fc565f64f0967e135a6a
./configure
$ make
$ sudo make install
  1. 将生成的库复制到 deepstream 目录:
$ sudo mkdir -p /opt/nvidia/deepstream/deepstream-6.1/lib
$ sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-6.1/lib

安装 DeepStream SDK

  • 方法一: 使用SDK Manager
    Additional SDKs 部分中选择 DeepStreamSDK 以及 JP 5.0.1 DP 软件组件进行安装。

  • 方法二:使用DeepStream tar包
    https://developer.nvidia.com/deepstream_sdk_v6.1.0_jetsontbz2

    1. 将 DeepStream 6.1 Jetson tar 包 deepstream_sdk_v6.1.0_jetson.tbz2 下载到 Jetson 设备。
    2. 输入以下命令以提取并安装 DeepStream SDK:
    $  sudo tar -xvf deepstream_sdk_v6.1.0_jetson.tbz2 -C /
    $ cd /opt/nvidia/deepstream/deepstream-6.1
    $ sudo ./install.sh
    $ sudo ldconfig
    
  • 方法三:使用DeepStream Debian包:
    https://developer.nvidia.com/deepstream-6.1_6.1.0-1_arm64deb

    将 DeepStream 6.1 Jetson Debian 软件包 deepstream-6.1_6.1.0-1_arm64.deb 下载到 Jetson 设备。 输入以下命令:

    sudo apt-get install ./deepstream-6.1_6.1.0-1_arm64.deb
    
  • 方法四:使用 Docker 容器 DeepStream docker 容器在 NGC 上可用。 请参阅 Docker 容器部分以了解有关使用 docker 容器开发和部署 DeepStream 的信息。

运行 deepstream-app(参考应用程序)

  1. 导航到开发工具包上的示例目录。

  2. 输入以下命令以运行参考应用程序:

deepstream-app -c <path_to_config_file>

其中 <path_to_config_file> 是参考应用程序配置文件之一的路径名,位于 configs/deepstream-app/ 中。 有关可用文件的列表,请参阅包内容。

可以使用 deepstream-app 运行的配置文件:

a. source30_1080p_dec_infer-resnet_tiled_display_int8.txtb. source30_1080p_dec_preprocess_infer-resnet_tiled_display_int8.txtc. source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txtd. source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_gpu1.txt (dGPU only)e. source1_usb_dec_infer_resnet_int8.txtf. source1_csi_dec_infer_resnet_int8.txt (Jetson only)g. source2_csi_usb_dec_infer_resnet_int8.txt (Jetson only)h. source6_csi_dec_infer_resnet_int8.txt (Jetson only)i. source2_1080p_dec_infer-resnet_demux_int8.txtj. source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.ymlk. source30_1080p_dec_infer-resnet_tiled_display_int8.yml

注意:

您可以在 /opt/nvidia/deepstream/deepstream-6.1/samples 目录下找到示例配置文件。 输入此命令以查看应用程序使用情况:

$ deepstream-app --help

要保存 TensorRT 引擎/计划文件,请运行以下命令:

$ sudo deepstream-app -c <path_to_config_file>
  1. 要在 2D 平铺显示视图中显示标签,请在源上单击鼠标左键展开感兴趣的源。 要返回平铺显示,请右键单击窗口中的任意位置。

  2. 还支持源的键盘选择。 在运行应用程序的控制台上,按 z 键,然后按所需的行索引(0 到 9),然后按列索引(0 到 9)以展开源。 要恢复 2D 平铺显示视图,请再次按 z。

提高时钟频率

安装 DeepStream SDK 后,在 Jetson 设备上运行以下命令以提升时钟频率:

$ sudo nvpmodel -m 0
$ sudo jetson_clocks

注意

对于 Jetson Xavier NX,运行 sudo nvpmodel -m 8 而不是 0。

运行预编译的示例应用程序

  1. 进入到sources/apps/sample_apps 中选择的应用程序目录。

  2. 按照目录的 README 文件运行应用程序。

注意

如果应用程序遇到错误并且无法创建 Gst 元素,请删除 GStreamer 缓存,然后重试。 要删除 GStreamer 缓存,请输入以下命令: $ rm ${HOME}/.cache/gstreamer-1.0/registry.aarch64.bin

当针对没有现有引擎文件的模型运行应用程序时,文件生成和应用程序启动可能需要几分钟(取决于平台和模型)。 对于以后的运行,这些生成的引擎文件可以重复使用以加快加载速度。

Ubuntu上独立GPU的配置

本节介绍如何在安装 DeepStream SDK 之前准备带有 NVIDIA dGPU(独立GPU) 设备的 Ubuntu x86_64 系统。

注意

本文档使用术语 dGPU(discrete GPU)来指代 NVIDIA GPU 扩展卡产品,例如 NVIDIA Tesla® T4、NVIDIA GeForce® GTX 1080 和 NVIDIA GeForce® RTX 2080。此版本的 DeepStream SDK 在特定的 dGPU 产品上运行 在 NVIDIA 驱动程序 510.47.03 和 NVIDIA TensorRT™ 8.2.5.1 及更高版本支持的 x86_64 平台上。

您必须安装以下组件:

  • Ubuntu 20.04

  • GStreamer 1.16.2

  • NVIDIA driver 510.47.03

  • CUDA 11.6 Update 1

  • TensorRT 8.2.5.1

删除所有以前的 DeepStream 安装

输入以下命令以删除所有以前的 DeepStream 3.0 或以前的安装:

$ sudo rm -rf /usr/local/deepstream /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstnv* /usr/bin/deepstream* /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libnvdsgst*
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream*
/opt/nvidia/deepstream/deepstream*
$ sudo rm -rf /usr/lib/x86_64-linux-gnu/libv41/plugins/libcuvidv4l2_plugin.so

要删除 DeepStream 4.0 或更高版本的安装:

  1. 打开/opt/nvidia/deepstream/deepstream/中的uninstall.sh文件

  2. PREV_DS_VER 设置为 4.0

  3. sudo ./uninstall.sh 身份运行以下脚本

在安装 DeepStream SDK 之前,输入以下命令来安装必要的软件包:

$ sudo apt install \
libssl1.1 \
libgstreamer1.0-0 \
gstreamer1.0-tools \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
libgstrtspserver-1.0-0 \
libjansson4 \
libyaml-cpp-dev \
gcc \
make \
git \
python3

安装 NVIDIA 驱动程序 510.47.03

从 NVIDIA Unix 驱动程序页面下载并安装 NVIDIA 驱动程序 510.47.03:https://www.nvidia.com/Download/driverResults.aspx/186156/en-us

运行以下命令:

$chmod 755 NVIDIA-Linux-x86_64-510.47.03.run
$sudo ./NVIDIA-Linux-x86_64-510.47.03.run

安装 CUDA Toolkit 11.6.1

从以下网址下载并安装 CUDA Toolkit 11.6.1:https://developer.nvidia.com/cuda-11-6-1-download-archive

在此页面中,提到了 NVIDIA Linux GPU 驱动程序 510.47.03

注意:

如果您在安装 cuda 时发现以下错误,请参阅 https://developer.nvidia.com/blog/updating-the-cuda-linux-gpg-repository-key/

W: GPG error: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC E: The repository ‘https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 InRelease’ is no longer signed.。

安装 TensorRT 8.2.5.1

以下是安装 TensorRT 8.2.5.1 的步骤:

  1. 运行以下命令:
$ sudo rm /etc/apt/sources.list.d/*cuda*
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub
$ sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
$ sudo apt-get update
  1. 下载:

TensorRT 8.2 GA Update 4 for Ubuntu 20.04 and CUDA 11.0, 11.1, 11.2, 11.3, 11.4 and 11.5 DEB

下载地址:

https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/8.2.5.1/local_repos/nv-tensorrt-repo-ubuntu2004-cuda11.4-trt8.2.5.1-ga-20220505_1-1_amd64.deb

  1. 运行以下命令安装 TensorRT 8.2.5.1:
$ sudo dpkg -i nv-tensorrt-repo-ubuntu2004-cuda11.4-trt8.2.5.1-ga-20220505_1-1_amd64.deb
$ sudo apt-key add /var/nv-tensorrt-repo-ubuntu2004-cuda11.4-trt8.2.5.1-ga-20220505/82307095.pub
$ sudo apt-get update
$ sudo apt install tensorrt

注意:

  • 在安装 tensorRT 包时,使用终端上显示的命令安装密钥。

  • 安装特定的 cudnn 版本,例如 cudnn-8.4.0.27,请在安装 TensorRT 之前按照以下步骤操作:

    • 从以下网址下载适用于 Ubuntu 20.04 和 CUDA 11.x 本地 repo 包的 cuDNN 8.4.0:

      https://developer.nvidia.com/compute/cudnn/secure/8.4.0/local_installers/11.6/cudnn-local-repo-ubuntu2004-8.4.0.27_1.0-1_amd64.deb

    • 运行以下命令进行安装:

      $sudo dpkg -i cudnn-local-repo-ubuntu2004-8.4.0.27_1.0-1_amd64.deb$sudo apt-get update$sudo apt install libcudnn8=8.4.0.27-1+cuda11.6 libcudnn8-dev=8.4.0.27-1+cuda11.6
      

安装 librdkafka(为消息代理启用 Kafka 协议适配器)

  1. 从 GitHub 克隆 librdkafka 存储库:
$ git clone https://github.com/edenhill/librdkafka.git
  1. 配置和构建库:
$ cd librdkafka
$ git reset --hard 7101c2310341ab3f4675fc565f64f0967e135a6a
./configure
$ make
$ sudo make install
  1. 将生成的库复制到 deepstream 目录:
$ sudo mkdir -p /opt/nvidia/deepstream/deepstream-6.1/lib
$ sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-6.1/lib

安装DeepStream SDK

  • 方法一:使用 DeepStream Debian 软件包

    下载 DeepStream 6.1 dGPU Debian 软件包 deepstream-6.1_6.1.0-1_amd64.deb
    https://developer.nvidia.com/deepstream-6.1_6.1.0-1_amd64deb

    输入命令:

    $ sudo apt-get install ./deepstream-6.1_6.1.0-1_amd64.deb
    
  • 方法二:下载DeepStream tar包:

    https://developer.nvidia.com/deepstream_sdk_v6.1.0_x86_64.tbz2

    导航到下载的 DeepStream 包的位置以提取并安装 DeepStream SDK:

    $ sudo tar -xvf deepstream_sdk_v6.1.0_x86_64.tbz2 -C /
    $ cd /opt/nvidia/deepstream/deepstream-6.1/
    $ sudo ./install.sh
    $ sudo ldconfig
    
  • 方法 3:使用 Docker 容器 DeepStream docker 容器在 NGC 上可用。 请参阅 Docker 容器部分以了解有关使用 docker 容器开发和部署 DeepStream 的信息。

运行 deepstream-app(参考应用程序)

  • 转到示例目录并输入以下命令:
    $ deepstream-app -c <path_to_config_file>
    
    其中 <path_to_config_file>是参考应用程序的配置文件之一的路径名,可在 configs/deepstream-app 中找到。 有关可用文件的列表,请参阅包内容。

注意:

要转储引擎文件,请运行以下命令:

$ sudo deepstream-app -c <path_to_config_file>

您可以在 /opt/nvidia/deepstream/deepstream-6.1/samples 目录下找到示例配置文件。 输入此命令以查看应用程序使用情况:

$ deepstream-app --help
  • 要在 2D 平铺显示视图中显示标签,请在源上单击鼠标左键展开感兴趣的源。 要返回平铺显示,请右键单击窗口中的任意位置。

  • 还支持源的键盘选择。 在运行应用程序的控制台上,按 z 键,然后按所需的行索引(0 到 9),然后按列索引(0 到 9)以展开源。 要恢复 2D 平铺显示视图,请再次按 z。

运行预编译的示例应用程序

  1. 导航到sources/apps/sample_apps 中选择的应用程序目录。

  2. 按照该目录的 README 文件运行应用程序。

注意:

如果应用程序遇到错误并且无法创建 Gst 元素,请删除 GStreamer 缓存,然后重试。 要删除 GStreamer 缓存,请输入以下命令:

$ rm ${HOME}/.cache/gstreamer-1.0/registry.x86_64.bin

当为没有现有引擎文件的模型运行应用程序时,文件生成和应用程序启动可能需要几分钟(取决于平台和模型)。 对于以后的运行,这些生成的引擎文件可以重复使用以加快加载速度。

在没有 X server的情况下运行

SDK 提供的默认配置文件将基于 EGL 的 nveglglessink 作为默认渲染器(在 [sink] 组中由 type=2 表示)。 渲染器需要一个正在运行的 X server,如果没有它就会失败。 在没有 X server的情况下,DeepStream 参考应用程序提供了通过 RTSP 流式传输输出的替代功能。 这可以通过在配置文件中添加一个 RTSP 输出接收器组来启用。 有关示例,请参阅 source30_1080p_dec_infer-resnet_tiled_display_int8.txt 文件中的 [sink2] 组。 不要忘记通过为相应的接收器组设置 enable=0 来禁用 nveglglessink 渲染器。

平台和操作系统兼容性

下表提供了有关 DeepStream 当前和早期版本中的平台和操作系统兼容性的信息。

Jetson model Platform and OS Compatibility

DS release

DS 4.0.2 (Unified)

DS 5.0 GA, 5.0.1, 5.1 (Unified)

DS 6.0

DS 6.0.1

DS 6.1

Jetson platforms

Nano, AGX Xavier, TX2, TX1

Nano, AGX Xavier, TX2, TX1, Jetson NX

Nano, AGX Xavier, TX2, TX1, Jetson NX

Nano, AGX Xavier, TX2, TX1, Jetson NX

AGX Xavier, Jetson NX, Jetson Orin

OS

L4T Ubuntu 18.04

L4T Ubuntu 18.04

L4T Ubuntu 18.04

L4T Ubuntu 18.04

L4T Ubuntu 20.04

JetPack release

4.3

4.4 GA (4.5.1 GA for DS 5.1)

4.6 GA

4.6.1 GA

5.0.1 DP

L4T release

32.3.1

32.4.3 (32.5.1 for DS 5.1)

32.6.1

32.7.1

34.1.1

CUDA release

CUDA 10.0

CUDA 10.2

CUDA 10.2

CUDA 10.2

CUDA 11.4

cuDNN release

cuDNN 7.6.3

cuDNN 8.0.0.x

cuDNN 8.2.1.32

cuDNN 8.2.1.32

cuDNN 8.3.2.49

TensorRT release

TRT 6.0.1

TRT 7.1.3

TRT 8.0.1

TRT 8.2.1

TRT 8.4.0.11

OpenCV release

OpenCV 4.1

OpenCV 4.1.1

OpenCV 4.1.1

OpenCV 4.1.1

OpenCV 4.2.0

Vision­Works

Vision­Works 1.6

Vision­Works 1.6

Vision­Works 1.6.502

Vision­Works 1.6.502

NA

GStreamer

GStreamer 1.14.1

GStreamer 1.14.1

GStreamer 1.14.5

GStreamer 1.14.5

GStreamer 1.16.2

Docker image

deepstream-l4t:4.0.2

deepstream-l4t:5.0, deepstream-l4t:5.0.1, deepstream-l4t:5.1

deepstream-l4t:6.0-ga

deepstream-l4t:6.0.1

deepstream-l4t:6.1

dGPU model Platform and OS Compatibility

DS release

DS 4.0.2 (Unified)

DS 5.0 GA, 5.0.1 (Unified), 5.1

DS 6.0

DS 6.0.1

DS 6.1

GPU platforms

P4, T4, V100

P4, T4, V100, A100 (DS 5.1)

P4, T4, V100, A100

P4, T4, V100, A100

T4, V100, A2, A10, A30, A100, RTX Ampere (Ax000/RTX30x0)

OS

Ubuntu 18.04

Ubuntu 18.04 RHEL 8.x

Ubuntu 18.04 RHEL 8.x

Ubuntu 18.04 RHEL 8.x

Ubuntu 20.04

GCC

GCC 7.3.0

GCC 7.3.0

GCC 7.3.0

GCC 7.3.0

GCC 9.4.0

CUDA release

CUDA 10.1

CUDA 10.2 ( Cuda 11.1 for DS 5.1)

CUDA 11.4.1

CUDA 11.4.1

CUDA 11.6.1

cuDNN release

cuDNN 7.6.5+

cuDNN 7.6.5+ (CuDNN 8.0+ for DS 5.1)

cuDNN 8.2+

cuDNN 8.2+

cuDNN 8.4.0.27

TRT release

TRT 6.0.1

TRT 7.0.0 (TRT 7.2.2 for DS 5.1)

TRT 8.0.1

TRT 8.0.1

TRT 8.2.5.1

Display Driver

R418+

R450.51 (R460.32 for DS 5.1)

R470.63.01

R470.63.01

R510.47.03

VideoSDK release

SDK 9.0

SDK 9.1

SDK 9.1

SDK 9.1

SDK 9.1

OFSDK release

1.0.10

1.0.10

2.0.23

2.0.23

2.0.23

GStreamer release

GStreamer 1.14.1

GStreamer 1.14.1

GStreamer 1.14.5

GStreamer 1.14.5

GStreamer 1.16.2

OpenCV release

OpenCV 3.3.1

OpenCV 3.4.0

OpenCV 3.4.0

OpenCV 3.4.0

OpenCV 4.2.0

Docker image

deepstream:4.0.2

deepstream:5.0, deepstream:5.0.1, deepstream:5.1

deepstream:6.0-ga

deepstream:6.0.1

deepstream:6.1

注意:

默认情况下,OpenCV 已被弃用。 但是,通过在这些组件的 Makefile 中设置 WITH_OPENCV=1,可以在 nvinfer (nvdsinfer)dsexample (gst-dsexample) 等插件中启用 OpenCV。 请参阅组件自述文件以获取更多说明。

DeepStream Triton 推理服务器使用指南

要将 DeepStream 6.1 部署 (Triton 22.03) 中的 Triton 版本迁移到更新版本(例如 Triton 22.04 或更高版本),请按照 DeepStream Triton 迁移指南中的说明进行操作。

dGPU

  1. 拉取 DeepStream Triton 推理服务器 docker
docker pull nvcr.io/nvidia/deepstream:6.1-triton
  1. 启动docker
docker run --gpus "device=0" -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -e CUDA_CACHE_DISABLE=0 nvcr.io/nvidia/deepstream:6.1-triton

注意:

  • x86 和 Jetson 的 triton docker 基于 tritonserver 22.03 docker,并具有 Ubuntu 20.04。

  • 首次启动 triton docker 时,可能需要几分钟才能启动,因为它必须生成计算缓存。

Jetson

DeepStream Triton 容器映像 (nvcr.io/nvidia/deepstream-l4t:6.1-triton) 预装了 Triton 推理服务器和支持的后端库。

为了直接在设备上运行 Triton 推理服务器,即没有 docker,需要设置 Triton 服务器。

转到示例目录并运行以下命令来设置 Triton 服务器和后端。

$ cd /opt/nvidia/deepstream/deepstream/samples/
$ sudo ./triton_backend_setup.sh

注意:

默认情况下,脚本将下载 Triton Server 2.20 版。 要设置任何其他版本,请相应地更改包路径。

脚本默认将 Triton 后端安装到 /opt/nvidia/deepstream/deepstream/lib/triton_backends 中。 用户可以更新特定文件夹的 infer_config 设置,如下所示:

model_repo {backend_dir: /opt/nvidia/tritonserver/backends/
}

使用DLA推理

DLA 是 Jetson AGX Xavier 和 Jetson NX 平台上的深度学习加速器。 这两个平台都有两个 DLA 引擎。 DeepStream 可以配置为通过 Gst-nvinfer 插件在任一 DLA 引擎上运行推理。 可以将 Gst-nvinfer 插件的一个实例以及模型的单个实例配置为在单个 DLA 引擎或 GPU 上执行。 但是,可以将多个 Gst-nvinfer 插件实例配置为使用相同的 DLA。 要配置 Gst-nvinfer 使用 DLA 引擎进行推理,请修改 nvinfer 组件配置文件中的相应属性(例如:samples/configs/deepstream-app/config_infer_primary.txt):在 [property] 组中设置 enable-dla=1。 根据要使用的 DLA 引擎设置 use-dla-core=0use-dla-core=1

DeepStream 确实支持并行使用 GPU 和 DLA 进行推理。 您可以在单独的进程或单个进程中运行它。 您将需要配置为在 GPU、DLA0 和 DLA1 上运行的三组独立配置:

单独的进程

当 GPU 和 DLA 在不同的进程中运行时,从运行 DLA 配置的终端将环境变量 CUDA_DEVICE_MAX_CONNECTIONS 设置为 1。

单一进程

DeepStream 参考应用程序支持在同一进程中进行多个配置。 要在同一进程中运行 DLA 和 GPU,请将环境变量 CUDA_DEVICE_MAX_CONNECTIONS 设置为 32

$ deepstream-app -c <gpuconfig> -c <dla0config> -c <dla1config>

这篇关于3.NVIDIA Deepstream开发指南中文版--Deepstream 环境配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/233529

相关文章

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级