我是如何使用ai来对uwsgi与nginx的配置进行排查的

以下案例都使用英文来进行询问与排错,原因是因为中文排查结果与实际并不相符

uwsgi的配置排查

1:现在我有2个容器,第一个容器是nginx镜像制作出来的容器,用于作为代理服务器
2:第二个容器是python镜像制作出来的容器,在这个python容器里面安装了django与uwsgi,在这个python容器里面会使用uwsgi来进行启动这个django,并且编写[uwsgi.ini]的启动脚本文件.
下面是[uwsgi.ini]文件中的配置:
1: Now I have 2 containers. The first container is made from nginx image, which is used as a proxy server.
2: The second container is made from python image. Django and uwsgi are installed in this python container. uwsgi will be used to start Django in this python container, and the startup script file [uwsgi.ini] will be written.
The following is the configuration in the [uwsgi.ini] file:

xxx

Please help me find loopholes to prevent hackers from attacking my server from this configuration
请你帮我排查漏洞,防止被黑客从这个配置中攻击我的服务器

案例

uwsgi的配置排查


1: Now I have 2 containers. The first container is made from nginx image, which is used as a proxy server.
2: The second container is made from python image. Django and uwsgi are installed in this python container. uwsgi will be used to start Django in this python container, and the startup script file [uwsgi.ini] will be written.
The following is the configuration in the [uwsgi.ini] file:

[uwsgi]
chdir           = /root/luichuns/Python/app
module          = app.wsgi:application
plugin-dir      = /usr/lib/uwsgi/plugins
plugins         = python311
socket=:8000
uid = root
gid = root
master          = true
processes       = 2
threads         = 2
enable-threads  = true
max-requests    = 5000
vacuum          = true
harakiri        = 30
post-buffering  = 4096
die-on-term     = true
pidfile = /root/luichuns/logs/uwsgi.pid
stats = /root/luichuns/logs/uwsgi.status
logto = /root/luichuns/logs/uwsgi.log

Please help me find loopholes to prevent hackers from attacking my server from this configuration


uwsgi日志报错

下面这个是uwsgi中的日志文件内容:

The following is the log file content in uwsgi:

xxx

Please analyze the error reported here. Please analyze and explain in detail.

请分析这里面的报错.请详细分析并说明.

案例

uwsgi日志报错

The following is the log file content in uwsgi:

*** Starting uWSGI 2.0.26 (64bit) on [Fri Jun 28 18:14:11 2024] ***
compiled with version: 12.2.0 on 23 June 2024 20:59:41
os: Linux-3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024
nodename: 5f1bd2e7bac5
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 2
current working directory: /root/luichuns/Python
writing pidfile to /root/luichuns/logs/uwsgi.pid
detected binary path: /usr/local/bin/uwsgi
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
chdir() to /root/luichuns/Python/app
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uWSGI http bound on :8000 fd 4
uwsgi socket 0 bound to TCP address 127.0.0.1:45851 (port auto-assigned) fd 3
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
Python version: 3.12.3 (main, Apr 24 2024, 11:17:35) [GCC 12.2.0]
Python main interpreter initialized at 0x7f3198742668
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 299280 bytes (292 KB) for 4 cores
*** Operational MODE: preforking+threaded ***
WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x7f3198742668 pid: 1 (default app)
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 1)
spawned uWSGI worker 1 (pid: 8, cores: 2)
spawned uWSGI worker 2 (pid: 9, cores: 2)
*** Stats server enabled on /root/luichuns/logs/uwsgi.status fd: 14 ***
spawned uWSGI http 1 (pid: 10)
SIGINT/SIGTERM received...killing workers...
gateway "uWSGI http 1" has been buried (pid: 10)
worker 1 buried after 1 seconds
worker 2 buried after 1 seconds
goodbye to uWSGI.
VACUUM: pidfile removed.
VACUUM: unix socket /root/luichuns/logs/uwsgi.status (stats) removed.
*** Starting uWSGI 2.0.26 (64bit) on [Fri Jun 28 18:15:02 2024] ***
compiled with version: 12.2.0 on 23 June 2024 20:59:41
os: Linux-3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024
nodename: 5f1bd2e7bac5
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 2
current working directory: /root/luichuns/Python
writing pidfile to /root/luichuns/logs/uwsgi.pid
detected binary path: /usr/local/bin/uwsgi
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
chdir() to /root/luichuns/Python/app
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uWSGI http bound on :8000 fd 4
uwsgi socket 0 bound to TCP address 127.0.0.1:43258 (port auto-assigned) fd 3
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
Python version: 3.12.3 (main, Apr 24 2024, 11:17:35) [GCC 12.2.0]
Python main interpreter initialized at 0x7f268a346668
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 299280 bytes (292 KB) for 4 cores
*** Operational MODE: preforking+threaded ***
WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x7f268a346668 pid: 1 (default app)
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 1)
spawned uWSGI worker 1 (pid: 8, cores: 2)
spawned uWSGI worker 2 (pid: 9, cores: 2)
*** Stats server enabled on /root/luichuns/logs/uwsgi.status fd: 14 ***
spawned uWSGI http 1 (pid: 10)

Please analyze the error reported here. Please analyze and explain in detail.


nginx的配置排查

1:现在我有2个容器,第一个容器是nginx镜像制作出来的容器,用于作为代理服务器
2:第二个容器是python镜像制作出来的容器,在这个python容器里面安装了django与uwsgi,在这个python容器里面会使用uwsgi来进行启动这个django,并且编写[uwsgi.ini]的启动脚本文件.
下面是[luichun.conf]文件中的配置:

1: Now I have 2 containers. The first container is made from nginx image, which is used as a proxy server.
2: The second container is made from python image. Django and uwsgi are installed in this python container. uwsgi will be used to start Django in this python container, and the startup script file [uwsgi.ini] will be written.
The following is the configuration in the [luichun.conf] file:

xxx

Please help me find loopholes to prevent hackers from attacking my server from this configuration
请你帮我排查漏洞,防止被黑客从这个配置中攻击我的服务器

案例

nginx的配置排查


1: Now I have 2 containers. The first container is made from nginx image, which is used as a proxy server.
2: The second container is made from python image. Django and uwsgi are installed in this python container. uwsgi will be used to start Django in this python container, and the startup script file [uwsgi.ini] will be written.
The following is the configuration in the [luichun.conf] file:

server {
    listen      80;
    listen      [::]:80;
    server_name .luichun.com.cn;
    access_log  /root/luichuns/logs/luichun.access80.log main;
    error_log   /root/luichuns/logs/luichun.error80.log debug;
	    location / {
        return 301 https://www.luichun.com.cn$request_uri;
    }
    }
server {
    listen 443 ssl;
    listen 443 quic reuseport;
    listen  [::]:443 ssl;
    listen  [::]:443 quic reuseport;
    quic_retry on;
    quic_gso on;
    http2 on;
    http3 on;
    server_name www.luichun.com.cn luichun.com.cn;
    ssl_certificate      /root/luichuns/SSL/luichun.com.cn.pem;
    ssl_certificate_key  /root/luichuns/SSL/luichun.com.cn.key;
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3 SSLv3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    

    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_early_data on;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497  https://$host$request_uri;
    access_log  /root/luichuns/logs/luichun.access443.log main;
    error_log   /root/luichuns/logs/luichun.error443.log debug;
    add_header alt-svc 'h3-27=":443"; h3-28=":443"; h3-29=":443"; h3-30=":443"; h3-31=":443"; h3-32=":443";h3=":443"; ma=86400; quic=":443"';
  # add_header alt-svc 'h3-27=":443"; h3-28=":443"; h3-29=":443"; h3-30=":443"; h3-31=":443"; h3-32=":443";h3=":443"; ma=86400; quic=":443"';




    # web后端
    location / {
        include         uwsgi_params;
        #uwsgi_pass      uwsgi_django;
        uwsgi_pass   172.99.0.3:8000;
        #uwsgi_pass      uwsgi_app2;
        add_header Alt-Svc 'h3=":443"; ma=86400';
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location = /favicon.ico {
        try_files $uri =204;
        log_not_found off;
        access_log off;
    }
}

Please help me find loopholes to prevent hackers from attacking my server from this configuration

对nginx的443错误日志文件排查

下面这个是nginx中的443端口的错误日志文件内容:

The following is the error log file content of port 443 in nginx:

xx

Please analyze the error reported here. Please analyze and explain in detail.

请分析这里面的报错.请详细分析并说明.


案例

对nginx的443错误日志文件排查

The following is the error log file content of port 443 in nginx:

2024/06/28 18:54:57 [notice] 28#28: *2 "443" matches "443", client: 94.177.131.107, server: www.luichun.com.cn, request: "GET / HTTP/2.0", host: "www.luichun.com.cn"
2024/06/28 18:54:57 [notice] 28#28: *2 "443" matches "443", client: 94.177.131.107, server: www.luichun.com.cn, request: "GET /favicon.ico HTTP/2.0", host: "www.luichun.com.cn", referrer: "https://www.luichun.com.cn/"


Please analyze the error reported here. Please analyze and explain in detail.

nginx的443端口日志检查

下面这个是nginx中的443端口的日志文件内容:

The following is the log file content of port 443 in nginx:

xxx

Please analyze the error reported here. Please analyze and explain in detail.

请分析这里面的报错.请详细分析并说明.

案例

nginx的443端口日志检查

The following is the log file content of port 443 in nginx:

113.111.112.243 - - [28/Jun/2024:17:17:42 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:17:45 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:17:46 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:18:59 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:19:00 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:19:08 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:19:39 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:19:40 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:19:41 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:19:42 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:19:42 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:19:47 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:20:42 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:20:43 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:20:44 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:20:44 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
113.111.112.243 - - [28/Jun/2024:17:20:49 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
94.177.131.107 - - [28/Jun/2024:17:24:54 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
94.177.131.107 - - [28/Jun/2024:17:36:59 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
94.177.131.107 - - [28/Jun/2024:17:39:21 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
94.177.131.107 - - [28/Jun/2024:17:41:12 +0000] "GET / HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
94.177.131.107 - - [28/Jun/2024:17:42:12 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
94.177.131.107 - - [28/Jun/2024:18:00:03 +0000] "GET / HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
94.177.131.107 - - [28/Jun/2024:18:00:05 +0000] "GET / HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
94.177.131.107 - - [28/Jun/2024:18:00:58 +0000] "GET / HTTP/2.0" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
94.177.131.107 - - [28/Jun/2024:18:01:05 +0000] "GET / HTTP/2.0" 504 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"
94.177.131.107 - - [28/Jun/2024:18:15:24 +0000] "GET / HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306" "-"

Please analyze the error reported here. Please analyze and explain in detail.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

云数据中心运维新纪元:让Linux服务器如虎添翼

文章目录 一、Linux系统管理的高级技巧1. 性能调优与监控:2. 自动化与脚本编写:3. 文件系统与存储管理: 二、服务器配置优化的策略1. 硬件选型与配置:2. 网络配置与优化:3. 应用部署与调优: 三、安全策略的…

Pytest+Allure+Yaml+PyMsql+Jenkins+Gitlab接口自动化(四)Jenkins配置

一、背景 Jenkins(本地宿主机搭建) 拉取GitLab(服务器)代码到在Jenkins工作空间本地运行并生成Allure测试报告 二、框架改动点 框架主运行程序需要先注释掉运行代码(可不改,如果运行报allure找不到就直接注释掉) …

Nacos 2.x 系列【19】元数据管理

文章目录 1. 概述2. 元数据管理2.1 服务元数据2.2 实例元数据2.2.1 控制台2.2.2 客户端2.2.3 Open API 1. 概述 元信息:Nacos数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标签 (…

大数据之Zookeeper部署

文章目录 集群规划环境准备集群部署参考资料 集群规划 确定使用Hadoop101、hadoop102和hadoop103三台服务器来构建Zookeeper集群。 hadoop101hadoop102hadoop103zookeeperzookeeperzookeeper 环境准备 安装zookeeper前需要确保下面的环境配置成功,具体可以参考大…

DSPy:变革式大模型应用开发

大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 大模型应用向开发路径:AI代理工作流大模型应用开发实用开源项目汇总大模…

DX-11A信号继电器 0.5A 柜内板前接线 约瑟JOSEF

DX-11,11A,11B,11C型信号继电器 DX-11信号继电器 DX-11B信号继电器 DX-11A信号继电器 DX-11C信号继电器 1 用途 该继电器用于直流操作的保护线路中,作为信号指示器。 2 结构和原理 该继电器具有电磁铁和带公共点的三付动合触点及一个信号牌,为电…

【哈尔滨等保测评标准解析】

哈尔滨信息安全等级保护测评(等保测评)标准解析如下: 一、总体概述 哈尔滨市在进行等保测评时,遵循国家统一的标准框架,并结合本省的实际情况,形成了具有地方特色的安全防护模式。等保测评的主要目的是确…

笔记101:OSQP求解器的底层算法 -- ADMM算法

前言1:这篇博客仅限于介绍拉格朗日乘子法,KKT条件,ALM算法,ADMM算法等最优化方法的使用以及简版代码实现,但不会涉及具体的数学推导;不过在下面我会给出具体数学推导的相关文章和截图,供学有余力…

数据结构_1.0

一、数据结构概述 1.1 概念 在计算机科学中,数据结构是一种数据组织、管理和存储的格式 。它是相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技…

PCB中的4种接地方式

“地”是电子技术中一个很重要的概念。由于“地”的分类与作用有多种, 容易混淆。 电路板的GROUND(简称GND),即电路设计中所说的“地”,严格来说,只有大地才是真正的“地”,电路板中的GND只是电…

ERP系统中有哪些模块?有哪些具体实现方案呢?

对于许多初次接触ERP系统的企业来说,可能会对系统中包含的模块和功能感到困惑。本文将详细介绍ERP系统中的主要模块,需要明确的是,ERP系统是一个庞大的系统,包含了多个模块,每个模块都有其独特的功能和作用。这些模块涵…

让新质生产力照进现实,智慧数据基础设施需要软硬兼施

数智化时代,什么才是企业与组织最大的差异化竞争力? 答案无疑是:数据。在生成式AI技术日新月异之际,发展新质生产力已成为产业共识,越来越多的企业意识到:数据乃一切运作的基础,是企业拥抱AI浪…

列出每个字符的位置

列出每个字符的位置 一行字母,部分连续。 ABCDEFGHIJ1puuuupppup 需要整理成字母位置的形式。 ABCDE1p1u2345p678u9p10 使用 SPL XLL spl("[(dE1(?)).groupop(~).(d(~1) / ~.concat())]",A1:J1)函数 E1 将多层序列转为单层,groupop分组后…

【前端环境1】安装nvm

【前端环境1】安装nvm 写在最前面一、卸载node二、下载nvm三、安装教程四、验证nvm安装五、nvm配置node常用命令 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅&#…

接口测试流程及测试点!

一、什么时候开展接口测试 1.项目处于开发阶段,前后端联调接口是否请求的通?(对应数据库增删改查)--开发自测 2.有接口需求文档,开发已完成联调(可以转测),功能测试展开之前 3.专…

“私域流量:解锁电商新机遇,共创数字化未来“

一、私域流量的战略意义再探 步入数字化浪潮的深处,流量已成为企业成长不可或缺的血液。与广泛但难以掌控的公域流量相比,私域流量以其独特的专属性和复用潜力,为企业铺设了通往深度用户关系的桥梁。它不仅赋能企业实现精准营销,…

MySQL-核心知识要点

1、索引的数据结构-Btree BTree的优势: B树的内节点无data,一个节点可以存储更多的K-V对。在构造树时,需要的内节点会更少,那么树的层级也会越低。查询一条数据时,1. 扫描的层级低,扫描过的节点更少&…

VBA字典与数组第十六讲:行、列数不相同的数组间运算规律

《VBA数组与字典方案》教程(10144533)是我推出的第三套教程,目前已经是第二版修订了。这套教程定位于中级,字典是VBA的精华,我要求学员必学。7.1.3.9教程和手册掌握后,可以解决大多数工作中遇到的实际问题。…

分布式链路追踪Micrometer Tracing和ZipKin基础入门与实践

【1】概述 在分布式与微服务场景下,我们需要解决如下问题: 在大规模分布式与微服务集群下,如何实时观测系统的整体调用链路情况。 在大规模分布式与微服务集群下,如何快速发现并定位到问题。 在大规模分布式与微服务集群下&…

供应商管理软件:企业挑选新供应商的5个考量

在选择新的供应商时,企业必须进行细致的考量,这一决策对于依赖外部商品的零售商尤为关键。一段成功的合作伙伴关系不仅能够促进销售增长,还能提供稳定的服务支持。相反,失败的合作伙伴关系可能会导致客户不满、利润损失&#xff0…