当前位置: 首页 > news >正文

中间件安全(概述)有中间件的各类链接和官网信息和漏洞库以及配置问题和开源工具

分类主要包括Apache、IIS、Tomcat、weblogic、websphere、Jboss等相关的技术知识和实践。

以Apache为例讲一讲如何保证中间件安全

        中间件安全是指保护中间件软件和服务的安全性,防止被恶意攻击或者滥用。中间件软件是指在操作系统和应用程序之间提供通信和集成功能的软件,例如Apache、IIS、Tomcat、weblogic、websphere、Jboss等。中间件服务是指通过中间件软件提供的各种服务,例如Web服务、消息服务、数据库服务等。如果你想要保护你的中间件,你需要注意以下几个方面:

- 安装和配置中间件软件,要遵循最佳实践,避免使用默认的账号密码,关闭不必要的端口和服务,及时打补丁等。
- 监控和审计中间件软件,要定期检查中间件软件的运行状态和日志,发现并处理异常情况,记录并分析安全事件等。
- 加固和防护中间件软件,要使用合适的安全工具和技术,例如防火墙、入侵检测系统、加密传输、身份认证等,提高中间件软件的抵抗能力和恢复能力。
- 访问控制和权限管理中间件服务,要根据业务需求和安全策略,合理分配中间件服务的访问权限和操作权限,防止未授权或者越权访问等。
- 数据保护和备份恢复中间件服务,要对中间件服务涉及到的敏感数据进行加密存储和传输,定期进行数据备份和恢复测试,防止数据泄露或者丢失等。

本文将以Apache为例,介绍如何保护你的Web服务的安全性。

Apache是世界上最流行的Web服务器软件之一,它可以运行在多种操作系统上,支持多种编程语言和协议。Apache也有很多扩展模块和配置选项,可以根据不同的需求进行定制。

以下是一些保护Apache Web服务安全性的建议:

- 使用最新版本的Apache和相关的软件。这样可以避免一些已知的漏洞和错误,提高稳定性和性能。
- 使用HTTPS协议来加密通信。这样可以防止中间人攻击,保护用户的隐私和数据。要使用HTTPS协议,你需要获取一个有效的数字证书,并在Apache中配置SSL模块。
- 使用强密码和权限控制来管理你的Web服务。这样可以防止未经授权的访问和修改,保护你的Web服务的完整性。你可以使用.htaccess文件或者其他认证模块来设置密码和权限。
- 使用防火墙和其他安全工具来监控和过滤你的网络流量。这样可以防止一些常见的攻击,比如DDoS攻击、SQL注入攻击、跨站脚本攻击等。你可以使用iptables或者其他防火墙软件来设置规则和策略。
- 定期备份和更新你的Web服务的数据和配置文件。这样可以防止数据丢失或损坏,恢复你的Web服务的正常运行。你可以使用rsync或者其他备份工具来同步和存储你的数据和配置文件。

Apache、IIS、Tomcat、weblogic、websphere、Jboss等中间件的区别和使用方法

Apache:全球应用最广泛的http服务器,免费,出自apache基金组织,可以作为web服务器使用。不过只支持静态网页,如 (asp,php,cgi,jsp)等动态网页无法支持。官方链接:http://httpd.apache.org/

IIS:Internet Information Services,微软公司提供的web服务器,可以运行在Windows平台上,支持ASP.NET等动态网页技术。官方链接:https://www.microsoft.com/zh-cn/cloud-platform/internet-information-services-iis

Tomcat:应用也算非常广泛的web服务器,支持部分j2ee,免费,出自apache基金组织,支持Servlet、jsp。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。官方链接:http://tomcat.apache.org/

weblogic:是美国bea公司出品的一个基于j2ee架构的中间件。BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。WebLogic是以其高扩展的架构体系闻名于业内,包括客户机连接的共享、资源pooling以及动态网页和EJB组件群集。官方链接:https://www.oracle.com/cn/middleware/weblogic/

websphere:是IBM的集成软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变Web应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere提供了可靠、灵活和健壮的集成软件。官方链接:https://www.ibm.com/cn-zh/cloud/websphere-application-server

Jboss:开源的应用服务器,比较受人喜爱,免费(文档要收费)。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0 和 EJB3.0 的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。官方链接:https://www.redhat.com/en/technologies/jboss-middleware/application-platform

简要搭建方法

Apache HTTP服务器:

  1. 下载安装程序: 前往Apache官方网站下载最新版本的安装程序。
  2. 安装过程: 运行下载的安装程序,按照向导的指示进行安装。
  3. 配置服务器: 完成安装后,编辑配置文件(如httpd.conf),设置服务器参数,包括监听端口、虚拟主机等。
  4. 启动服务器: 使用命令行或控制台启动Apache服务器。在Windows中,可以通过启动Apache服务来启动服务器。

Internet Information Services (IIS):

  1. 启用IIS功能: 在Windows操作系统中,打开“控制面板” -> “程序” -> “启用或关闭Windows功能”。
  2. 安装过程: 在功能列表中找到Internet Information Services(IIS),选中并确定安装。
  3. 配置站点: 打开IIS管理器,创建新的站点并配置站点设置,如绑定的域名、物理路径等。
  4. 部署网站内容: 将网站文件放置在IIS默认的网站目录或自定义的目录中。
  5. 启动服务: 确保IIS服务已启动,并通过浏览器验证网站是否可访问。

Apache Tomcat:

  1. 下载安装包: 前往Tomcat官方网站下载所需版本的安装包。
  2. 解压安装包: 将下载的安装包解压到目标文件夹。
  3. 配置环境变量(可选): 配置JAVA_HOME和CATALINA_HOME环境变量,指向JDK和Tomcat的安装目录。
  4. 配置服务器: 编辑Tomcat配置文件(如server.xml),设置端口、虚拟主机等参数。
  5. 启动服务器: 在命令行执行startup.bat(Windows)或startup.sh(Linux)来启动Tomcat服务器。

Oracle WebLogic Server:

  1. 安装Java Development Kit(JDK): 下载并安装适用于你的操作系统的JDK。
  2. 下载安装程序: 前往Oracle官方网站下载WebLogic Server的安装程序。
  3. 安装过程: 运行安装程序,并按照向导的指示进行安装。
  4. 配置域和服务器: 完成安装后,通过配置域和服务器来设置WebLogic环境。
  5. 启动服务器: 使用startWebLogic.sh(Linux)或startWebLogic.cmd(Windows)启动WebLogic服务器。

IBM WebSphere Application Server:

  1. 安装Java Development Kit(JDK): 下载并安装适用于你的操作系统的JDK。
  2. 下载安装程序: 前往IBM官方网站下载WebSphere Application Server的安装程序。
  3. 安装过程: 运行安装程序,并按照向导的指示进行安装。
  4. 配置服务器: 完成安装后,通过编辑配置文件和管理控制台来设置WebSphere环境。
  5. 启动服务器: 使用管理控制台或命令行启动WebSphere服务器。

JBoss Application Server:

  1. 安装Java Development Kit(JDK): 下载并安装适用于你的操作系统的JDK。
  2. 下载安装程序: 前往Red Hat官方网站下载JBoss Application Server的安装程序。
  3. 安装过程: 运行安装程序,并按照向导的指示进行安装。
  4. 配置服务器: 完成安装后,通过编辑配置文件(如standalone.xml)来配置服务器设置。
  5. 启动服务器: 使用standalone.bat(Windows)或standalone.sh(Linux)启动JBoss服务器。

拓展

  1. 监听端口设置

    • 指定服务器监听的端口,例如默认的HTTP端口80或者HTTPS端口443。
    • 可以根据需要更改端口,确保不与其他服务冲突。
  2. 虚拟主机配置

    • 针对同一台服务器上的多个域名或主机名,配置不同的虚拟主机,以便根据请求的域名将流量路由到正确的网站。
    • 每个虚拟主机配置包括域名、文档根目录、日志文件路径等信息。
  3. 访问控制

    • 设置访问控制规则,限制对服务器资源的访问。
    • 可以配置访问控制列表(ACL)或使用基于IP地址、用户身份验证等的访问控制方法。
  4. 模块加载和配置

    • 根据需要加载所需的Apache模块,并配置其参数。
    • 这些模块可能包括身份验证模块、URL重写模块、SSL模块等。
  5. 性能优化

    • 调整服务器的性能参数,以提高服务器的响应速度和吞吐量。
    • 可以配置连接超时时间、最大并发连接数、缓存设置等。
  6. 错误处理

    • 配置服务器的错误页面,以便在出现服务器错误时向用户显示友好的错误信息。
    • 可以自定义404 Not Found、500 Internal Server Error等常见错误页面。
  7. 日志记录

    • 配置服务器的日志记录设置,以便记录访问日志、错误日志等。
    • 可以指定日志格式、日志文件路径、日志级别等。

相应资料链接和漏洞库URL

  1. Apache HTTP服务器

    • 官方网站:https://httpd.apache.org/
    • Github开源项目:https://github.com/apache/httpd
    • 漏洞库:https://www.cvedetails.com/vulnerability-list/vendor_id-45/Apache.html
  2. Internet Information Services (IIS)

    • 官方网站:Home : The Official Microsoft IIS Site
    • Github开源项目:https://github.com/Microsoft/IIS
    • 漏洞库:https://www.cvedetails.com/vulnerability-list/vendor_id-26/product_id-2024/Microsoft-IIS.html
  3. Apache Tomcat

    • 官方网站:http://tomcat.apache.org/
    • Github开源项目:https://github.com/apache/tomcat
    • 漏洞库:https://www.cvedetails.com/vulnerability-list/vendor_id-45/product_id-887/Apache-Tomcat.html
  4. Oracle WebLogic Server

    • 官方网站:https://www.oracle.com/middleware/weblogic/
    • 漏洞库:https://www.cvedetails.com/vulnerability-list/vendor_id-93/product_id-21403/Oracle-Weblogic-Server.html
  5. IBM WebSphere Application Server

    • 官方网站:https://www.ibm.com/cloud/websphere-application-platform
    • 漏洞库:https://www.cvedetails.com/vulnerability-list/vendor_id-14/product_id-145/IBM-Websphere-Application-Server.html
  6. JBoss Application Server

    • 官方网站:https://www.redhat.com/en/technologies/jboss-middleware/application-server
    • 漏洞库:https://www.cvedetails.com/vulnerability-list/vendor_id-33/product_id-484/Redhat-JBoss-Enterprise-Application-Platform.html
  1. Apache HTTP服务器

    • ApacheBench:ApacheBench - Apache自带的基准测试工具,用于测试HTTP服务器的性能。
    • ModSecurity:ModSecurity - 用于Web应用程序防火墙的开源WAF(Web Application Firewall)。
  2. Internet Information Services (IIS)

    • IIS Crypto:IIS Crypto - 用于简化和优化IIS服务器的SSL/TLS配置的工具。
    • IIS Log Analyzer:IIS Log Analyzer - 用于解析和分析IIS日志的工具。
  3. Apache Tomcat

    • Apache JMeter:Apache JMeter - 用于测试性能的Java应用程序。可以用于测试Tomcat服务器的性能。
    • Tomcat Manager App:Tomcat Manager App - Tomcat自带的管理应用程序,用于管理部署在Tomcat上的应用程序。
  4. Oracle WebLogic Server

    • WebLogic Scripting Tool (WLST):WLST - 用于管理和自动化WebLogic Server配置和部署的命令行工具。
    • WebLogic Diagnostic Framework (WLDF):WLDF - 用于诊断和监视WebLogic Server应用程序的性能和健康状况的工具。
  5. IBM WebSphere Application Server

    • IBM Support Assistant:IBM Support Assistant - 用于收集并分析WebSphere Server问题的工具。
    • IBM Health Center:IBM Health Center - 用于分析Java应用程序性能的工具,可以与WebSphere集成。
  6. JBoss Application Server

    • JBoss Operations Network:JBoss Operations Network - 用于管理和监视JBoss应用服务器的管理平台。
    • JBoss Profiler:JBoss Profiler - 用于分析Java应用程序性能的工具,可用于JBoss服务器。
  1. ApacheBench:https://httpd.apache.org/docs/2.4/programs/ab.html
  2. ModSecurity:https://modsecurity.org/
  3. IIS Crypto:https://www.nartac.com/Products/IISCrypto
  4. IIS Log Analyzer:https://github.com/gnattu/Log-Parser-Studio
  5. Apache JMeter:https://jmeter.apache.org/
  6. Tomcat Manager App:https://tomcat.apache.org/tomcat-8.5-doc/manager-howto.html
  7. WebLogic Scripting Tool (WLST):https://docs.oracle.com/cd/E24329_01/web.1211/e24425/toc.htm
  8. WebLogic Diagnostic Framework (WLDF):https://docs.oracle.com/cd/E24329_01/web.1211/e24378/toc.htm
  9. IBM Support Assistant:https://www.ibm.com/support/pages/ibm-support-assistant
  10. IBM Health Center:https://www.ibm.com/support/pages/health-center
  11. JBoss Operations Network:https://www.redhat.com/en/technologies/jboss-middleware/operations-network
  12. JBoss Profiler:https://www.jboss.org/jvmti/

上面提到了中间件漏洞库,下面解释下对漏洞环境搭建问题和靶场中使用漏洞库

搭建漏洞库环境:

  1. 选择合适的漏洞数据库:选择一个适合你需求的漏洞数据库,比如CVE数据库、NVD(National Vulnerability Database)、Exploit-DB等。你可以根据需求选择开源或商业漏洞数据库。

  2. 部署数据库服务器:在服务器上部署数据库,比如MySQL、PostgreSQL等。你也可以选择使用专门的漏洞管理系统,如OpenVAS、Metasploit等,它们通常自带数据库。

  3. 导入漏洞数据:从已知的漏洞源处获取漏洞数据,如CVE官方网站、NVD、Exploit-DB等,将这些数据导入到你的漏洞数据库中。

  4. 配置访问权限:根据需要设置漏洞数据库的访问权限,确保只有授权用户能够访问和修改漏洞信息。

在靶场中使用漏洞库:

  1. 模拟真实环境:在靶场中搭建一个模拟真实环境的网络和系统架构,包括Web服务器、应用服务器、数据库服务器等。

  2. 选择合适的漏洞:根据靶场的环境和需求,选择合适的漏洞进行测试。你可以根据漏洞库中的信息来选择合适的漏洞。

  3. 漏洞验证:利用选定的漏洞进行验证测试,确认靶场中的系统是否受到这些漏洞的影响。

  4. 利用漏洞:在确认漏洞存在后,利用适当的工具或脚本进行漏洞利用,以验证漏洞的利用可能性以及系统的安全性。

  5. 修复漏洞:在完成漏洞测试后,及时修复靶场中发现的漏洞,以确保系统的安全性。

总的来说,在靶场中使用漏洞库需要遵循一定的流程和步骤,包括选择合适的漏洞、搭建适当的环境、进行漏洞验证和利用、以及及时修复漏洞等。这样可以帮助你更好地评估系统的安全性,并加强系统的防御措施。

下面举一个详细的例子

当在靶场中利用中间件漏洞进行漏洞测试时,你可能会使用一些特定的工具和技术。以下是更详细的步骤,包括使用的软件和具体操作:

1. 环境搭建:

  1. 选择漏洞数据库

    • 选择一个适合的漏洞数据库,如CVE数据库或NVD。
  2. 部署漏洞数据库

    • 在本地或云服务器上部署MySQL或PostgreSQL数据库。
  3. 导入漏洞数据

    • 从漏洞数据库网站或其他公开来源获取中间件漏洞数据,并使用数据库管理工具(如phpMyAdmin或Navicat)将其导入到你的漏洞数据库中。
  4. 配置访问权限

    • 设置数据库的访问权限,确保只有授权用户能够访问和修改漏洞信息。

2. 靶场环境搭建:

  1. 模拟网络环境

    • 使用虚拟化软件(如VirtualBox或VMware)在本地计算机上创建一个模拟网络环境,包括两台虚拟机:一台作为攻击机,另一台作为目标机。
  2. 安装目标中间件

    • 在目标机上安装需要测试的中间件,比如Apache HTTP服务器、Tomcat、WebLogic等,确保版本符合你所选漏洞的要求。
  3. 配置网络连接

    • 设置攻击机和目标机之间的网络连接,确保它们可以相互通信。使用静态IP地址或DHCP分配IP地址。

3. 漏洞测试和利用:

  1. 选择漏洞

    • 从漏洞数据库中选择一个已知的中间件漏洞,如Apache HTTP服务器的远程代码执行漏洞(CVE-2020-9496)。
  2. 漏洞验证

    • 使用相应的漏洞验证工具进行漏洞验证,例如,如果漏洞是一个Web应用程序漏洞,你可以使用Burp Suite或OWASP ZAP来验证漏洞。
  3. 利用漏洞

    • 如果漏洞验证成功,使用相应的漏洞利用工具或编写自定义脚本,对目标系统进行漏洞利用。例如,如果你发现了一个Tomcat服务器的远程代码执行漏洞,你可以使用Metasploit框架中的相关模块来执行攻击。

4. 结果分析和总结:

  1. 记录结果

    • 将漏洞测试的结果记录到文档中,包括漏洞的描述、验证测试的结果、利用漏洞的过程以及修复建议。
  2. 总结经验

    • 总结漏洞测试过程中的经验教训,包括漏洞的发现和利用方法、系统的防御措施以及修复建议。
  3. 改进防御

    • 根据总结的经验,改进目标系统的防御措施,加强系统的安全性。

通过以上详细的步骤,你可以有效地在靶场中利用中间件漏洞进行漏洞测试,并发现系统中的安全漏洞。

相关文章:

中间件安全(概述)有中间件的各类链接和官网信息和漏洞库以及配置问题和开源工具

分类主要包括Apache、IIS、Tomcat、weblogic、websphere、Jboss等相关的技术知识和实践。 以Apache为例讲一讲如何保证中间件安全 中间件安全是指保护中间件软件和服务的安全性,防止被恶意攻击或者滥用。中间件软件是指在操作系统和应用程序之间提供通信和集成功能…...

Unity铰链四杆机构设计和运动仿真

一、效果图 设定好各边长度和转速后,点击【设置并启动】,自动生成一个机构模型,并按照原理进行运转 二、铰链四杆机构介绍 机架:A和D是固定位置,叫做机架。 曲柄:B点绕A点旋转,构成曲柄。 连…...

Python爬虫——解析常用三大方式之Xpath

目录 Xpath 安装xpath 安装lxml库 导入lxml库 解析本地文件 etree.parse() 解析服务器响应文件 etree.HTML() xpath基本语法 小案例:获取百度首页的百度一下 大案例:爬取站长素材图片 总结 Xpath 安装xpath 首先要学会安…...

C#判断DataTable1 A列的集合是否为DataTable2 B列的集合的子集

DataSet ds2 (DataSet)res2.Anything; // 检查 集合B是否为集合A的子集 var table1MaterialCodes ds.Tables[2].AsEnumerable().Select(row > row["Code"]).ToList(); //DataSet1 表Code列集合A var table2MaterialCodes ds2.Tables[0].AsEnumerable().Selec…...

VirtualBox 桥接网卡 未指定 “未能启动虚拟电脑Ubuntu,由于下述物理网卡未找到:”

解决办法,安装虚拟网卡,win11查找方式:控制面板→网络和共享中心→更改适配器设置 此时出现下面情况就算安装成功 但是如果报错:找不到指定的模块 则按下面步骤删除干净垃圾重新上面操作 先安装CCleaner, 链接:CCleaner Makes Y…...

基于yolov5的电瓶车和自行车检测系统,可进行图像目标检测,也可进行视屏和摄像检测(pytorch框架)【python源码+UI界面+功能源码详解】

功能演示: 基于yolov5的电瓶车和自行车检测系统_哔哩哔哩_bilibili (一)简介 基于yolov5的电瓶车和自行车检测系统是在pytorch框架下实现的,这是一个完整的项目,包括代码,数据集,训练好的模型…...

vscode如何远程到linux python venv虚拟环境开发?(python虚拟环境、vscode远程开发、vscode远程连接)

文章目录 1. 安装VSCode2. 安装扩展插件3. 配置SSH连接4. 输入用户名和密码5. 打开远程文件夹6. 创建/选择Python虚拟环境7. 安装Python插件 Visual Studio Code (VSCode) 提供了一种称为 Remote Development 的功能,允许用户在远程系统、容器或甚至 Windows 子系统…...

蓝桥杯第十二届电子类单片机组程序设计

目录 前言 蓝桥杯大赛历届真题_蓝桥杯 - 蓝桥云课(点击查看) 单片机资源数据包_2023(点击下载) 一、第十二届比赛原题 1.比赛题目 2.题目解读 蓝桥杯第十四届电子类单片机组程序设计_蓝桥杯单片机哪一届最难-CSDN博客 二、…...

基于springboot+vue的工作流程管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…...

【LeetCode刷题】146. LRU 缓存

请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -…...

奇酷网络用AI思维办公:不允许做PPT,只能用Word,只能一页纸

在AI时代,视频制作领域正经历着一场革命。Sora 作为首个文生视频大模型,可能攻克了自然语言处理、计算机视觉和深度学习等难点,使视频生成更真实、自然。奇酷网络是一家很另类、很奇怪的“AI游戏”创业公司,奇酷网络董事长吴渔夫(…...

【笔记】-编程语言以及应用领域

C/C 永远不会衰败的语言,适合偏底层,例如:Windows操作系统80%以上都是由C/C完成的,C/C也集成用于写应用层C/S架构的软件 JAVA 是真正的跨平台的语言 “一次编程,到处使用”Java适合应用层的开发,无论是…...

MWC 2024丨美格智能推出5G RedCap系列FWA解决方案,开启5G轻量化新天地

2月27日,在MWC 2024世界移动通信大会上,美格智能正式推出5G RedCap系列FWA解决方案。此系列解决方案具有低功耗、低成本等优势,可以显著降低5G应用复杂度,快速实现5G网络接入,提升FWA部署的经济效益。 RedCap技术带来了…...

mTLS: openssl创建CA证书

证书可以通过openssl或者keytool创建,在本篇文章中,只介绍openssl。 openssl 生成证书 申请操作流程 生成ca证书私钥, 文件名:ca.key生成ca证书,文件名:ca.crt生成Server/Client 证书私钥,文件名&#x…...

Python 进阶语法:os

3.1.1 文件和目录操作 os.getcwd(): 获取当前工作目录的路径。 import os# 获取当前工作目录 current_directory os.getcwd() print("当前工作目录是:", current_directory) os.chdir(path): 改变当前工作目录到指定的路径。 import os# 改变当前工作目录 os.c…...

测试需求平台9-Table 组件应用产品列表优化

✍此系列为整理分享已完结入门搭建《TPM提测平台》系列的迭代版,拥抱Vue3.0将前端框架替换成字节最新开源的arco.design,其中约60%重构和20%新增内容,定位为从 0-1手把手实现简单的测试平台开发教程,内容将囊括基础、扩展和实战&a…...

targetSdkVersion > 30 如何将下载的网络视频 保存到手机相册里更新

在 targetSdkVersion 31 中,将下载的网络视频保存到手机相册中涉及几个关键步骤。由于 Android 12(API 级别 31)引入了更多的隐私和安全限制,特别是作用域存储(Scoped Storage),因此你需要遵循这…...

C#,无监督的K-Medoid聚类算法(K-Medoid Algorithm)与源代码

1 K-Medoid算法 K-Medoid(也称为围绕Medoid的划分)算法是由Kaufman和Rousseeuw于1987年提出的。中间点可以定义为簇中的点,其与簇中所有其他点的相似度最小。 K-medoids聚类是一种无监督的聚类算法,它对未标记数据中的对象进行聚…...

宏定义中#与##的注意事项

1. #是字符串化操作符。它的作用是将宏参数转换成字符串 2. ##是标记粘贴操作符。它的作用是将两个标记连接起来形成一个新的标记 #define TEST1(a) #a #define TEST2(a) b##a/***********************************************************/ 举例:TEST1(hello) 会…...

Java函数式编程

Java函数式编程 Java函数式编程(Functional Programming in Java)是指使用函数式编程范式来编写Java代码的一种编程方式。函数式编程是一种编程范式,它强调使用函数作为基本构建块,并将计算视为数学上的函数求值,避免…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...

快速排序算法改进:随机快排-荷兰国旗划分详解

随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...

Vue3 PC端 UI组件库我更推荐Naive UI

一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...

云原生安全实战:API网关Envoy的鉴权与限流详解

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口,负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...

算法刷题-回溯

今天给大家分享的还是一道关于dfs回溯的问题,对于这类问题大家还是要多刷和总结,总体难度还是偏大。 对于回溯问题有几个关键点: 1.首先对于这类回溯可以节点可以随机选择的问题,要做mian函数中循环调用dfs(i&#x…...

生信服务器 | 做生信为什么推荐使用Linux服务器?

原文链接&#xff1a;生信服务器 | 做生信为什么推荐使用Linux服务器&#xff1f; 一、 做生信为什么推荐使用服务器&#xff1f; 大家好&#xff0c;我是小杜。在做生信分析的同学&#xff0c;或是将接触学习生信分析的同学&#xff0c;<font style"color:rgb(53, 1…...