开源项目介绍-02 Aubio【1】环境配置和使用 @ Ubuntu + Pycharm + Python

news2024/12/23 22:46:21

前言:

aubio 是一组算法和工具,用于标记和变换音乐和声音。它扫描或监听音频信号,并尝试识别音乐事件。例如,当鼓被击打时,它能检测到音符的频率,或者一个有节奏的旋律的节拍是多少。

aubio 的功能包括:

  • 在每次打击前对声音文件进行分割
  • 进行音高检测
  • 敲击节奏
  • 从现场音频产生 MIDI 流

  • Python版本的配置和使用:

  • 按照官网的说法,异常简单,但是,。。。。。

笔者的工作目录:github,下载后解压,

K:\Prj_EDU\Sw_Proj\Aubio_python

 1 python + pycharm 版本@windows:【失败】

$ python -c "import aubio; print(aubio.version, aubio.float_type)"

 如果没有安装:

1.1 安装AUBIO

1.1.0 用pip安装aubio,错误,笔者没有实现:

错误如下:

Looking in indexes: https://pypi.mirrors.ustc.edu.cn/simple/, https://pypi.mirrors.ustc.edu.cn/simple/, https://mirrors.aliyun.com/pypi/simple/, https://pypi.tuna.tsinghua.edu.cn/simple/, http://pypi.mirrors.ustc.edu.cn/simple/, https://pypi.org/simple/
Collecting aubio
  Using cached aubio-0.4.9.tar.gz (479 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy in k:\prj_edu\sw_proj\aubio_python\aubio_python\.venv\lib\site-packages (from aubio) (1.26.4)
Building wheels for collected packages: aubio
  Building wheel for aubio (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [42 lines of output]

      K:\Prj_EDU\Sw_Proj\Aubio_python\Aubio_Python\.venv\lib\site-packages\setuptools\__init__.py:81: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
      !!

              ********************************************************************************
              Requirements should be satisfied by a PEP 517 installer.
              If you are using pip, you can try `pip install --use-pep517`.
              ********************************************************************************

      !!
        dist.fetch_build_eggs(dist.setup_requires)
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-39
      creating build\lib.win-amd64-cpython-39\aubio
      copying python\lib\aubio\cmd.py -> build\lib.win-amd64-cpython-39\aubio
      copying python\lib\aubio\cut.py -> build\lib.win-amd64-cpython-39\aubio
      copying python\lib\aubio\midiconv.py -> build\lib.win-amd64-cpython-39\aubio
      copying python\lib\aubio\slicing.py -> build\lib.win-amd64-cpython-39\aubio
      copying python\lib\aubio\__init__.py -> build\lib.win-amd64-cpython-39\aubio
      running build_ext
      checking for aubio = 0.4.9
      Running "pkg-config --libs --cflags aubio = 0.4.9" failed: FileNotFoundError(2, '系统找不到指定的文件。', None, 2, None)
      Info: aubio 0.4.9 was not found by pkg-config

      Info: looking for *optional* additional packages
      checking for libavcodec
      Running "pkg-config --libs --cflags libavcodec" failed: FileNotFoundError(2, '系统找不到指定的文件。', None, 2, None)
      checking for libavformat
      Running "pkg-config --libs --cflags libavformat" failed: FileNotFoundError(2, '系统找不到指定的文件。', None, 2, None)
      checking for libavutil
      Running "pkg-config --libs --cflags libavutil" failed: FileNotFoundError(2, '系统找不到指定的文件。', None, 2, None)
      checking for libswresample
      Running "pkg-config --libs --cflags libswresample" failed: FileNotFoundError(2, '系统找不到指定的文件。', None, 2, None)
      checking for libavresample
      Running "pkg-config --libs --cflags libavresample" failed: FileNotFoundError(2, '系统找不到指定的文件。', None, 2, None)
      checking for sndfile
      Running "pkg-config --libs --cflags sndfile" failed: FileNotFoundError(2, '系统找不到指定的文件。', None, 2, None)
      checking for samplerate
      Running "pkg-config --libs --cflags samplerate" failed: FileNotFoundError(2, '系统找不到指定的文件。', None, 2, None)
      Info: libaubio was not installed or built locally with waf, adding src/
      error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for aubio
  Running setup.py clean for aubio
Failed to build aubio
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (aubio)
 

尝试用,python-pip的包管理

(.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python\Aubio_Python> pip install python-pip
Looking in indexes: https://pypi.mirrors.ustc.edu.cn/simple/, https://pypi.mirrors.ustc.edu.cn/simple/, https://mirrors.aliyun.com/pypi/simple/, https://pypi.tuna.tsinghua.edu.cn/simple/, http://pypi.mirrors.ustc.edu.cn/simple/, https://pypi.org/simple/
Collecting python-pip
  Downloading python_pip-1.1.1-py3-none-any.whl.metadata (1.9 kB)
Downloading python_pip-1.1.1-py3-none-any.whl (4.7 kB)
Installing collected packages: python-pip
Successfully installed python-pip-1.1.1
(.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python\Aubio_Python> 
 

结果和上面错误一样,没有用。

1.1.1 用conda安装:【笔者安装了,但是不知道为何,无法使用,或者不知道如何实验,未来在研究吧】
(.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python> conda config --add channels conda-forge
(.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python> conda install -c conda-forge aubio

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    aubio-0.4.9                |   py37hdcea730_5         256 KB  conda-forge
    ffmpeg-4.3.1               |       ha925a31_0        26.2 MB  conda-forge
    ------------------------------------------------------------
                                           Total:        26.4 MB

The following NEW packages will be INSTALLED:

  aubio              conda-forge/win-64::aubio-0.4.9-py37hdcea730_5 None
  ffmpeg             conda-forge/win-64::ffmpeg-4.3.1-ha925a31_0 None
  python_abi         conda-forge/win-64::python_abi-3.7-2_cp37m None


Proceed ([y]/n)?


Downloading and Extracting Packages
aubio-0.4.9          | 256 KB    | ############################################################################################################################################################################################ | 100%
ffmpeg-4.3.1         | 26.2 MB   | ############################################################################################################################################################################################ | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
Retrieving notices: ...working... done
 

1.1.2 pip安装
$ pip install pytest

 在    Pycharm的调试如下:

$ git clone https://git.aubio.org/aubio/aubio
$ cd aubio
$ pytest

参考: 

Python documentation — aubio 0.4.9 documentation


 2 Python版本 pycharm @Linux  Ubuntu的版本 【成功】


项目地址:

frank@frank-virtual-machine:~/Projects/PythonAubio/PrjAubio$ 

2.1 在ubuntu上安装pycharm(略)

2.2 配置环境:

2.2.1 安装numpy

 pip install numpy

遇到问题:

(.venv) frank@frank-virtual-machine:~/Projects/PythonAubio/PrjAubio$ pip install numpy

ERROR: Could not find a version that satisfies the requirement numpy (from versions: none)
ERROR: No matching distribution found for numpy

解决:

1 安装 python-pip
sudo apt-get install python-pip
2 用pip安装numpy,并采用清华的安装包源:
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

【案]如果直接用pip install numpy 会报错:

2.2.2 直接安装:aubio

pip install aubio

Collecting aubio
  Downloading aubio-0.4.9.tar.gz (479 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 479.0/479.0 kB 21.6 kB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy in ./.venv/lib/python3.10/site-packages (from aubio) (1.26.4)
Building wheels for collected packages: aubio
  Building wheel for aubio (setup.py) ... done
  Created wheel for aubio: filename=aubio-0.4.9-cp310-cp310-linux_x86_64.whl size=380355 sha256=cabcdaf2ab3bffd631e1fa78608ec6b7857393070e7eebb68108a886c960741a
  Stored in directory: /home/frank/.cache/pip/wheels/00/30/30/a06fe7e9c7fe740486c219851b2bc1c7ed4a97e9c257efd3d7
Successfully built aubio
Installing collected packages: aubio
Successfully installed aubio-0.4.9
 

2.3 使用aubio:

2.3.1 进入aubio/python/demo目录:

2.3.2 使用python版本的工具:

2.3.2.1 py确认系统安装的python的可用版本
 2.3.2.2 运行一个demo

(.venv) frank@frank-virtual-machine:~/Projects/aubio/aubio/python/demos$ python3 demo_pitch.py
Usage: demo_pitch.py <filename> [samplerate]
 

【会给出使用技巧】

python3 demo_pitch.py TestAudio/1.wav 48000

 0.000000 0.000000 0.000000
0.010667 0.000000 0.000000
0.021333 0.000000 0.000000
0.032000 0.000000 0.000000
0.042667 0.000000 0.000000
0.053333 0.000000 0.000000
0.064000 0.000000 0.000000
0.074667 0.000000 0.000000
0.085333 0.000000 0.000000
0.096000 0.000000 0.000000
0.106667 0.000000 0.000000
0.117333 0.000000 0.000000
0.128000 20.157473 0.000000
0.138667 25.830223 0.000000
0.149333 34.323399 0.000000
0.160000 51.689980 0.000000
0.170667 162.232635 0.000000
0.181333 162.232635 0.000000
0.192000 162.232635 0.000000
0.202667 162.232635 0.000000
0.213333 138.269699 0.270921
0.224000 138.326996 0.249590
0.234667 138.321472 0.244399
0.245333 162.232635 0.000000

报错,audio的图像画的时候,确实python, matplotlib包:

  2.3.2.3  安装matplotlib

(.venv) frank@frank-virtual-machine:~/Projects/aubio/aubio/python/demos$ pip install matplotlib
ERROR: Could not find a version that satisfies the requirement matplotlib (from versions: none)
ERROR: No matching distribution found for matplotlib

[notice] A new release of pip is available: 23.2.1 -> 24.0
[notice] To update, run: pip install --upgrade pip
 

提升pip的版本有点低,

解决,先sudo apt update更新包的List,

然后,sudo apt install python3-pip

【案] linux 系统的好处,就是配置开源环境的时候,比windows的系统,方便太多,

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib python-pkg-resources python-setuptools python2 python2-minimal python2.7 python2.7-minimal
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  python-pip
The following NEW packages will be installed:
  python3-pip
0 upgraded, 1 newly installed, 1 to remove and 113 not upgraded.
Need to get 1,305 kB of archives.
After this operation, 2,153 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-pip all 22.0.2+dfsg-1ubuntu0.4 [1,305 kB]
Fetched 1,305 kB in 2s (524 kB/s)      
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend requires a screen at least 13 lines tall and 31 columns wide.)
debconf: falling back to frontend: Readline
(Reading database ... 187860 files and directories currently installed.)
Removing python-pip (20.3.4+dfsg-4) ...

Progress: [  0%] [.....................................................................................................................................................................................................................................................................................] 
Progress: [ 14%] [#######################################..............................................................................................................................................................................................................................................] 
Selecting previously unselected package python3-pip.#############################################......................................................................................................................................................................................................] 
(Reading database ... 187359 files and directories currently installed.)
Preparing to unpack .../python3-pip_22.0.2+dfsg-1ubuntu0.4_all.deb ...

Unpacking python3-pip (22.0.2+dfsg-1ubuntu0.4) ...######################################################################################...............................................................................................................................................................] 

Setting up python3-pip (22.0.2+dfsg-1ubuntu0.4) ...#############################################################################################################################.......................................................................................................................] 

Progress: [ 71%] [#####################################################################################################################################################################################################................................................................................] 
Processing triggers for man-db (2.10.2-1) ...##################################################################################################################################################################################################################........................................] 
 

然后,安装matplotlib

(.venv) frank@frank-virtual-machine:~/Projects/aubio/aubio/python/demos$ pip3 install matplotlib

【案,由于源的问题,会报错】

改为,

pip3 install -i https://pypi.mirrors.ustc.edu.cn/simple/ matplotlib

2.3.3 使用demo_notes。py 找到一段音乐的音调:

【案,笔者先录制了一段D4调号的钢琴音乐,然后,用识别软件进行测试,结果如下]

(.venv) frank@frank-virtual-machine:~/Projects/aubio/aubio/python/demos$ python3 demo_notes.py TestAudio/1_D4.wav 
    time [ start vel last ]
1.578957 [ 62. 110.  -1.]
D4
4.620771 [ 62. 110.   0.]
D4
7.407166 [ 62. 110.   0.]
D4
 

由此,LINUX环境下的配置成功完结。


参考:

GitHub - aubio/aubio: a library for audio and music analysis


问题:

1 下载aubio的问题:

(.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python> git clone https://git.aubio.org/aubio/aubio
程序“git.exe”无法运行: 拒绝访问。所在位置 行:1 字符: 1
+ git clone https://git.aubio.org/aubio/aubio
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~。
所在位置 行:1 字符: 1
+ git clone https://git.aubio.org/aubio/aubio
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [], ApplicationFailedException
    + FullyQualifiedErrorId : NativeCommandFailed
 

 【解决】如果不能自动下载,我们手动下载,然后,把源码Copy到对应的文件夹也可。

2 Python包的问题:

(.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python> pytest
========================================================================================================= test session starts =========================================================================================================
platform win32 -- Python 3.9.5, pytest-8.2.0, pluggy-1.5.0
rootdir: K:\Prj_EDU\Sw_Proj\Aubio_python
collected 0 items / 29 errors                                                                                                                                                                                                          

=============================================================================================================== ERRORS ================================================================================================================ 
_____________________________________________________________________________________________ ERROR collecting python/tests/test_aubio.py _____________________________________________________________________________________________ 
ImportError while importing test module 'K:\Prj_EDU\Sw_Proj\Aubio_python\python\tests\test_aubio.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
D:\Programs\Python\Python39\lib\importlib\__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
python\tests\test_aubio.py:3: in <module>
    from numpy.testing import TestCase
E   ModuleNotFoundError: No module named 'numpy'
 

___________________________________________________________________________________________ ERROR collecting python/tests/test_aubio_cut.py ___________________________________________________________________________________________ 
ImportError while importing test module 'K:\Prj_EDU\Sw_Proj\Aubio_python\python\tests\test_aubio_cut.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
D:\Programs\Python\Python39\lib\importlib\__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
python\tests\test_aubio_cut.py:3: in <module>
    import aubio.cut
E   ModuleNotFoundError: No module named 'aubio'
 

【案】大部分报了aubio,和 numpy的包的错误 ,正确安装即可

3  pip install aubio问题:

3.1 pip install aubio报错:

 解决办法,

(.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python> .\setup.py clean

4 本地编译器版本太低:

      Running "pkg-config --libs --cflags samplerate" failed: FileNotFoundError(2, '系统找不到指定的文件。', None, 2, None)
      Info: libaubio was not installed or built locally with waf, adding src/
      error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for aubio
  Running setup.py clean for aubio
Failed to build aubio
ERROR: Could not build wheels for aubio, which is required to install pyproject.toml-based projects
 

 


参考:

 1 安装aubio:

Installing aubio — aubio 0.4.9 documentation

@python

Installing aubio for Python — aubio 0.4.9 documentation

2 下载aubio

https://aubio.org/download

3 Python的包安装管理手册: PyPA的基本使用:

PYPI下的aubio项目地址:

aubio · PyPI

Installing Packages - Python Packaging User Guide

4 aubio 开源仓库:

https://github.com/aubio/aubio

@python

aubio/python at master · aubio/aubio · GitHub

各个版本列表:

Index of /pub

aubio

=====

aubio is a collection of tools for music and audio analysis.

This package integrates the aubio library with [NumPy] to provide a set of

efficient tools to process and analyse audio signals, including:

- read audio from any media file, including videos and remote streams

- high quality phase vocoder, spectral filterbanks, and linear filters

- Mel-Frequency Cepstrum Coefficients and standard spectral descriptors

- detection of note attacks (onset)

- pitch tracking (fundamental frequency estimation)

- beat detection and tempo tracking

aubio works with both Python 2 and Python 3.

Links

-----

- [module documentation][doc_python]

- [installation instructions][doc_python_install]

- [aubio manual][manual]

- [aubio homepage][homepage]

- [issue tracker][bugtracker]

Demos

-----

Some examples are available in the [`python/demos` folder][demos_dir]. Each

script is a command line program which accepts one ore more argument.

**Notes**: installing additional modules is required to run some of the demos.

### Analysis

- `demo_source.py` uses aubio to read audio samples from media files

- `demo_onset_plot.py` detects attacks in a sound file and plots the results

  using [matplotlib]

- `demo_pitch.py` looks for fundamental frequency in a sound file and plots the

  results using [matplotlib]

- `demo_spectrogram.py`, `demo_specdesc.py`, `demo_mfcc.py` for spectral

  analysis.

### Real-time

- `demo_pyaudio.py` and `demo_tapthebeat.py` use [pyaudio]

- `demo_pysoundcard_play.py`, `demo_pysoundcard.py` use [PySoundCard]

- `demo_alsa.py` uses [pyalsaaudio]

### Others

- `demo_timestretch.py` can change the duration of an input file and write the

  new sound to disk,

- `demo_wav2midi.py` detects the notes in a file and uses [mido] to write the

  results into a MIDI file

### Example

Use `demo_timestretch_online.py` to slow down `loop.wav`, write the results in

`stretched_loop.wav`:

    $ python demo_timestretch_online.py loop.wav stretched_loop.wav 0.92

Built with

----------

The core of aubio is written in C for portability and speed. In addition to

[NumPy], aubio can be optionally built to use one or more of the following

libraries:

- media file reading:

    - [ffmpeg] / [avcodec] to decode and read audio from almost any format,

    - [libsndfile] to read audio from uncompressed sound files,

    - [libsamplerate] to re-sample audio signals,

    - [CoreAudio] to read all media formats supported by macOS, iOS, and tvOS.

- hardware acceleration:

    - [Atlas] and [Blas], for accelerated vector and matrix computations,

    - [fftw3], to compute fast Fourier Transforms of any size,

    - [Accelerate] for accelerated FFT and matrix computations (macOS/iOS),

    - [Intel IPP], accelerated vector computation and FFT implementation.

[ffmpeg]: https://ffmpeg.org

[avcodec]: https://libav.org

[libsndfile]: http://www.mega-nerd.com/libsndfile/

[libsamplerate]: http://www.mega-nerd.com/SRC/

[CoreAudio]: https://developer.apple.com/reference/coreaudio

[Atlas]: http://math-atlas.sourceforge.net/

[Blas]: https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms

[fftw3]: http://fftw.org

[Accelerate]: https://developer.apple.com/reference/accelerate

[Intel IPP]: https://software.intel.com/en-us/intel-ipp

[demos_dir]:https://github.com/aubio/aubio/tree/master/python/demos

[pyaudio]:https://people.csail.mit.edu/hubert/pyaudio/

[PySoundCard]:https://github.com/bastibe/PySoundCard

[pyalsaaudio]:https://larsimmisch.github.io/pyalsaaudio/

[mido]:https://mido.readthedocs.io

[manual]: https://aubio.org/manual/latest/

[doc_python]: https://aubio.org/manual/latest/python.html

[doc_python_install]: https://aubio.org/manual/latest/python_module.html

[homepage]: https://aubio.org

[NumPy]: https://www.numpy.org

[bugtracker]: https://github.com/aubio/aubio/issues

[matplotlib]:https://matplotlib.org/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1658244.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在Ubuntu上安装Anaconda之后,启动失败

为了方便管理Pythonu环境&#xff0c;在Ubuntu的Docker容器中安装了Anaconda&#xff0c;安装完成&#xff0c;启动时出现如下错误&#xff1a; conda activate xxx usage: conda [-h] [--no-plugins] [-V] COMMAND ... conda: error: argument COMMAND: invalid choice: acti…

【计算机毕设】小型企业办公自动化系统+vue - 免费源码(私信领取)

免费领取源码 &#xff5c; 项目完整可运行 &#xff5c; v&#xff1a;chengn7890 诚招源码校园代理&#xff01; 1. 研究目的 本项目旨在设计并实现一个小型企业办公自动化系统&#xff0c;利用Vue作为前端框架&#xff0c;为企业员工提供便捷的办公管理工具&#xff0c;提升…

Day23 代码随想录打卡|字符串篇---重复的子字符串

题目&#xff08;leecode T459&#xff09;&#xff1a; 给定一个非空的字符串 s &#xff0c;检查是否可以通过由它的一个子串重复多次构成。给定的字符串只含有小写英文字母&#xff0c;并且长度不超过10000。fang 移动匹配。分析可以由自己的子串构成的字符串&#xff0c;肯…

自动驾驶纵向控制算法

本文来源——b站忠厚老实的老王&#xff0c;链接&#xff1a;忠厚老实的老王投稿视频-忠厚老实的老王视频分享-哔哩哔哩视频 (bilibili.com)&#xff0c;侵删。 功率和转速之间的关系就是&#xff1a;功率P等于转矩M乘以转速ω。并不是油门越大加速度就越大。 发动机和电机的转…

渗透之sql注入---宽字节注入

目录 宽字节注入原理&#xff1a; 实战&#xff1a; 源码分析&#xff1a; 开始注入&#xff1a; 找注入点&#xff1a; 注入数据库名&#xff1a; 注入表名&#xff1a; 注入列明&#xff1a; 注入具体值&#xff1a;http://sqli-labs:8084/less-32/?id-1%df%27unio…

回顾5款我非常喜欢的软件,希望大家也能喜欢

​ 我喜欢分享好软件,这就像与老友聊天一样让我感到快乐。在这个过程中,我可以回顾这些实用的小工具,也希望它们可以帮助到更多人。 1.备份工具——Cobian Backup ​ Cobian Backup是一款功能强大的备份软件&#xff0c;支持自动定时备份、增量备份、差异备份等多种备份方式。…

网工路由基础——静态路由

一、静态路由的定义 静态路由是一种需要管理员手动配置的特殊路由。 二、静态路由的目的或背景 1&#xff09;当网络结构比较简单时&#xff0c;只需要配置静态路由就可以使网络正常工作&#xff1b; 2&#xff09;在复杂网络中&#xff0c;配置静态路由可以改进网络的性能&am…

PMP课程知识点很多,无法入手,该如何学习?

回顾整个学习过程&#xff0c;我花费了不少时间&#xff0c;但也学到了系统的项目管理知识&#xff0c;考试结果也让我感到满意。在学习过程中&#xff0c;我认为以下几点非常重要&#xff1a; 1、需要对课本进行整体阅读&#xff0c;以便对内容有一个整体印象&#xff1b; 2…

丰田生产方式的四大误解:揭示真相,打造高效生产新篇章

丰田生产方式作为世界知名的制造业管理模式&#xff0c;一直备受关注。然而&#xff0c;在其广泛传播和实践过程中&#xff0c;也产生了不少误解。本文将揭示丰田生产方式的四大代表性误解&#xff0c;带大家领略其真正的魅力。 误解一&#xff1a;丰田生产方式只适用于汽车行业…

数据结构与算法之树和二叉树的一些概念和性质

目录 前言 一、树的定义 二、树的若干术语 1.结点的度 2.叶子 3.双亲与孩子 4.兄弟 5.祖先 6.树的度 7.结点的层次 8.树的深度 9.有序树和无序树 10.森林 三、树的逻辑结构 四、树的存储结构 1.顺序存储 2.链式存储 五、二叉树 1.定义 2.二叉树的五种状态 …

vscode中配置 leetcode 插件

1. 环境准备 插件安装介绍 介绍 VS Code 1.23.0 Node.js 10 注意&#xff1a;请确保Node在PATH环境变量中。您也可以通过设定 leetcode.nodePath 选项来指定 Node.js 可执行文件的路径。 1.1 Node.js 安装 首先&#xff0c;您需要解压下载的 .tar.xz 文件。您可以使用以下…

C++反汇编,指针和内存分配细节,面试题05

文章目录 20. 指针 vs 引用21. new vs malloc 20. 指针 vs 引用 指针是实体&#xff0c;占用内存空间&#xff0c;逻辑上独立&#xff1b;引用是别名&#xff0c;与变量共享内存空间&#xff0c;逻辑上不独立。指针定义时可以不初始化&#xff1b;引用定义时必须初始化。指针的…

SpringBoot中使用RocketMQ实现事务消息来保证分布式事务的一致性(有代码)

前言 分布式事务是分布式系统中非常常见的问题。是非常必要钱常见的。实现的方式也是多种多样。今天这个视频主要来分享一下RocketMQ实现事务消息来保证分布式事务的一致性。不知道大家使用过这种方式没有。这种分布式事务的原理其实和本地消息表一样。 本地消息表实现分布式…

电脑中的两个固态硬盘比一个好,想知道为什么吗

你当前的电脑很有可能有一个NVME SSD作为主驱动器&#xff0c;但可能至少还有一个插槽可以放另一个SSD&#xff0c;而且这样做可能是个好主意。 两个SSD可以提高性能 如果你有两个固态硬盘&#xff0c;你可以从中获得比有一个更好的性能。一种方法是使用RAID 0将两个驱动器组…

HR招聘面试,如何测评候选人的执行力和岗位胜任力

执行力是人才测评中的重要组成&#xff0c;尤其是对于小微企业那就更加重要了&#xff0c;几乎每个岗位都需要员工有独挡一面的能力&#xff0c;没有执行力的员工是无法在中小企业生存的&#xff0c;那么对于大型企业来说&#xff0c;是不是执行力不重要&#xff1f;非也&#…

报错(已解决):无法加载文件 D:\code\NodeJs\pnpm.ps1,因为在此系统上禁止运行脚本。

问题&#xff1a; 在vscode运行uniapp项目需要拉取全部依赖&#xff0c;需要使用到pnpm&#xff0c;在vscode终端运行命令&#xff1a;pnpm install后报错&#xff1a; 解决办法&#xff1a; 1&#xff1a;我未安装pnpm&#xff0c;首先打开电脑cmd&#xff0c;运行下列命令&a…

Selenium 自动化 —— 常用的定位器(Locator)

什么是定位器 定位器&#xff08;Locator&#xff09;是识别DOM中一个或多个特定元素的方法。 也可以叫选择器 Selenium 通过By类&#xff0c;提供了常见的定位器。具体语法如下&#xff1a; By.xxx("");我们选择单个元素时可以使用findByElement&#xff1a; Web…

JUC下的ForkJoinPool详解

详细介绍 ForkJoinPool 是 Java 并发包 (java.util.concurrent) 中的一个特殊线程池&#xff0c;专为分治算法设计&#xff0c;能够高效地处理大量可分解的并行任务。它基于工作窃取&#xff08;work-stealing&#xff09;算法&#xff0c;当一个工作线程的任务队列为空时&…

13 华三三层链路聚和

13 华三三层链路聚和 AI 解析 华三三层静态路由是指在华三交换机上配置的一种路由方式。它通过在交换机上手动配置路由表&#xff0c;将不同网络之间的数据进行转发。 华三三层静态路由的配置步骤如下&#xff1a; 1. 配置交换机接口的IP地址&#xff1a;在交换机上选择要配…

拦截器添加以及注册

自定义拦截器 自定义一个类 实现 HandlerInterceptor 接口 并重写里面的方法 preHandle、postHandle、afterCompletion preHandle&#xff1a;在执行具体的Controller方法之前调用 postHandle&#xff1a;controller执行完毕之后被调用 afterCompletion&#xff1a;方法需要…