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

《企业实战分享 · 常用运维中间件》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗
🌻 近期刚转战 CSDN,会严格把控文章质量,绝不滥竽充数,如需交流,欢迎留言评论。👍

文章目录

    • 写在前面的话
    • Rancher (K8S服务管理)
    • Nacos(注册&配置中心)
    • SB Admin(健康检查)
    • Kibana(ES面板)
    • Prometheus(业务资源监控)
    • Grafana(资源监控看板)
    • Zipkin(链路追踪)
    • Skywalking(链路追踪)
    • Kafka(消息中间件)
    • 总结陈词

写在前面的话

笔者所在公司(下文简称“公司”),开发采用前后端分离模式,后端技术栈SpringCloud,前端技术栈Vue/Nuxt
由于整体涉及较多前端和后端服务,因此才采用K8S进行容器编排部署,同时为保障各项服务更好的运维监测,也配套了诸多中间件。
本篇博文鉴于此背景,挑选几个较为常见的中间件,简单加以分享说明,期望与君共勉。


Rancher (K8S服务管理)

【技术简介】
公司采用Kubernetes作为微服务部署方案,Kubernetes (简称 K8S)是一个开源的容器编排平台,旨在简化容器化应用程序的部署、管理和自动化运维。
Rancher 是一个完整的容器管理平台,它提供了对Kubernetes等多种容器编排引擎的支持,同时提供了额外的功能和工具,用于简化容器集群的部署、管理和运维。

【能做什么】
简单理解,Rancher是可视化操控K8S服务部署的管理页面,下面就介绍一下Rancher的常用操作,操作包含但不限于查看服务状态、查看容器日志和执行命令行、服务的启动停止等。
这些操作可以理解为,把传统的Centos服务器上做的一些操作可视化了,对开发人员更加友好。

【实操:执行命令&查看日志】
Rancher00

【实操:重新部署应用】
重新部署应用一般用于业务出错时或者刚发布后业务无法访问时使用。
Rancher00

【增加应用副本】
当grafna上面的pods内存使用率过高是,可以增加对应应用的副本数,
查看容器日志01

注意:增加副本可以随时增加,但是减少副本要等没什么业务的时候再减少。

查看容器日志 - 命令行方式】

  1. 进入装有kubectl的k8s节点服务器,以查看收费后端容器日志为例,它的容器名称为onelink-micro-charge(一般和项目名、镜像名是一致的),所属namespace为onelink(不同环境的namespace可能不一样,这个要和运维确认),先查看pod列表
kubectl get pod -n onelink | grep onelink-micro-charge

查看容器日志02

  1. 选择其中一个pod,查看日志
# 最常用!!!
# 从最近100行开始,持续监控容器日志
kubectl logs -f --tail=100 onelink-micro-charge-6cd766567f-ngptx -n onelink# 查看容器的全量日志
kubectl logs onelink-micro-charge-6cd766567f-ngptx -n onelink# 持续监控容器的全量日志
kubectl logs -f onelink-micro-charge-6cd766567f-ngptx -n onelink# 查看最近1小时的容器日志
kubectl logs --since=1h onelink-micro-charge-7ccb64db88-7wss5 -n onelink# 查看2022-09-09 14:04:40之后的容器日志,这个时间是UTC时间
kubectl logs --since-time="2022-09-09T14:04:40+00:00" onelink-micro-charge-7ccb64db88-7wss5  -n onelink

【查看容器日志 - Rancher方式】

  1. 进入所在项目

Rancher02

  1. 查看pod列表

Rancher01

  1. 查看pod日志

Rancher02


Nacos(注册&配置中心)

【技术简介】
公司由于后端技术栈为SpringCloudAlibaba,因此采用Nacos作为注册中心和配置中心,经常需要和 Nacos后台界面打交道,上去看服务注册状态和常见配置信息等等。

【Nacos 能做什么】
注册中心能查看健康服务实例情况,进行服务的上线/下线。
配置中心能查看当前的配置情况,并支持做出相应的调整。
Nacos操作太简单了,傻瓜式的,具体不展开了,有使用的开发基本可以理解。

Tips:可以比对实例数是否跟K8S的PODS数不一致,如果不一致可能是开发调试程序注册上来了。

Nacos


SB Admin(健康检查)

【技术简介】
Spring Boot Admin 是一个用于监控和管理 Spring Boot 应用程序的开源项目。它提供了一个直观的 Web 界面,用于监控多个 Spring Boot 应用程序的运行状态、健康状况、配置信息等,并提供了一些管理功能,如日志查看、应用程序重启等。
Spring Boot Admin 是建立在 Spring Boot Actuator 基础之上的,它利用 Actuator 提供的监控和管理功能,并在此基础上提供了更加直观和友好的界面,帮助用户更方便地监控和管理 Spring Boot 应用程序。因此,Spring Boot Admin 可以看作是 Actuator 的一个扩展和增强。
Spring Boot Admin 是一个非常实用的工具,可以帮助开发团队更好地监控和管理 Spring Boot 应用程序,提高应用程序的稳定性和可靠性。

【SB Admin 能做什么】

实时监控:Spring Boot Admin 可以实时监控多个 Spring Boot 应用程序的运行状态和性能指标,如内存使用情况、线程数、GC 日志等。
健康检查:Spring Boot Admin 可以检查每个应用程序的健康状况,并提供可视化的健康报告,帮助用户快速识别出问题所在。
配置管理:Spring Boot Admin 可以查看和修改每个应用程序的配置信息,包括环境变量、配置文件等,方便用户动态调整应用程序的配置。
日志查看:Spring Boot Admin 可以查看每个应用程序的日志文件,支持实时日志输出和搜索功能,方便用户快速定位和解决问题。
事件通知:Spring Boot Admin 支持事件通知机制,当应用程序出现异常或状态变化时,可以通过邮件、Slack 等方式通知管理员。
多租户支持:Spring Boot Admin 支持多租户模式,可以为不同的用户或团队提供独立的监控和管理界面。

换通俗一点的话来说,可以全局监控服务健康情况,也可以查看单个服务的健康详情,更多用法,参考网上资料即可。

【展示效果】
SBA01
SBA02

【拓展 - 如何代码自定义指标】
1、实质是运行在监控服务的,如下图所示:
自定义指标01
2、应用的监控指标扩展信息可以通过实现InfoContributor自定义,如下图:
自定义指标02

Tips:更多用法,参考网上资料即可。


Kibana(ES面板)

【技术简介】
Kibana是一个开源的数据可视化工具,用于实时分析和可视化大规模数据集。它是 Elastic Stack 中的一个组件,主要用于展示和分析 Elasticsearch 中的数据。
公司虽然单独开发了日志查阅界面,用于查阅ES日志数据,但毕竟编码阶段考虑有限。此时就可以直接使用Kibana中应用日志界面能看到的日志数据,这边能看到更全,利用的更好。

【Kibana 能做什么】
Kibana 能用在挺多地方,包含但不限于如下:
1、Discover 数据探索 – 快速检索ES索引数据,比应用日志更灵活
2、Dev Tools 开发工具 - 手动写JSON查询
3、Visualize 可视化 – 导出最慢的N个接口
4、Dashboard 仪表盘 – 用的较少
下面附上两个功能截图,这块可以实操一下,先不展开介绍,有需要另行补充。
Kibana查询02
Kibana查询02


Prometheus(业务资源监控)

【技术描述】
Prometheus 是一个开源的系统监控和报警工具包,专为可靠性和可扩展性设计,适用于动态的云原生环境。它最初由 SoundCloud 开发,并于 2012 年开源。作为云原生计算基金会(CNCF)的重要项目之一,Prometheus 在现代微服务和分布式系统中得到了广泛应用。

【实战运用】
笔者所在公司采用Prometheus监控所有服务、还包含各个中间件的状态。
框架层面也封装了自定义指标,例如数据库和HTTP请求相关指标,更多指标来源于各SpringBoot服务的/actuator/prometheus接口。
当生产环境遇到服务指标异常的时候,可以打开Prometheus,查看相应的指标信息。更复杂的指标,推荐使用Grafana看板查看仪表盘。

【示例效果 - 查询自定义指标】
利用Prometheus排查收费服务的连接数。
Prometheus


Grafana(资源监控看板)

【技术描述】
1、将Prometheus的采集指标数据,可视化展示出来;
2、可以添加网上现场的模板库,参考Grafana官网文档库,也可以自己做一些看板;

【查看仪表盘】
image.png
image.png
image.png
image.png
image.png
image.png


Zipkin(链路追踪)

【技术简介】
Zipkin 是一个开源的分布式跟踪系统,用于收集、存储、搜索和可视化跨多个服务的跟踪数据。
Zipkin 主要负责收集整合所有服务生成的跟踪信息,提供全局视图和跨服务的调用链分析功能。
Zipkin 接收由 Sleuth 生成的跟踪数据,并将这些数据存储在后端存储系统中(如 Elasticsearch、MySQL 等),并提供了一个用户界面用于查询和可视化这些数据。
参考:《企业实战分享 · Sleuth + Zipkin 实现链路追踪》

【实战运用】
笔者所在公司将日志数据采集后,统一存储在ES中,并自研日志查询页面,如下图:
应用日志查询
通过点击对应请求日志的链路追踪操作按钮,可以跳转到Zipkin的展示页,如下图:
Zipkin


Skywalking(链路追踪)

【技术简介】
Apache SkyWalking 是一个开源的应用性能监控和分布式追踪系统,主要用于监控、追踪和诊断分布式系统中的应用程序。它支持云原生、微服务和容器化环境,帮助开发者和运维人员对系统的性能和行为进行全面的监控和分析。

Tips:和Zipkin同为链路追踪产品。

【实战说明】
笔者所在公司,其中的运维部门采用的链路追踪产品,可以通过在服务器上安装Agent的方式,从整体层面监控全局日志,可覆盖所有产品线。
效果如下图:Skywalking界面


Kafka(消息中间件)

【技术简介】
Kafka是一个开源的分布式事件流平台(Event Streaming Platform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。
笔者所在公司采用Kafka开发了消息中心,基于事件驱动机制管理系统内部消息交互,本板块涉及内容较多,后续另起专题介绍,暂不展开。

【监控插件效果】
Kafka监控插件01
Kafka监控插件02

【自研监控页面】
自研监控界面


总结陈词

上文简单介绍了几款公司当前在使用的运维中间件,帮助大家学习。
作为普通开发人员,可以不用熟悉全部的中间件,但至少应该知道什么场景需要使用什么工具。
当然,如果作为对技术有热情的,可以单独一个个深入了解,这里仅仅抛砖引玉。

💗 后续会逐步分享企业实际开发中的实战经验,有需要交流的可以联系博主。

相关文章:

《企业实战分享 · 常用运维中间件》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 近期刚转战 CSDN,会严格把控文章质量,绝不滥竽充数,如需交流&#xff…...

PyCharm 2024.1简介

PyCharm 2024.1 是JetBrains公司发布的Python集成开发环境(IDE)的最新版本。作为一个深受开发者欢迎的工具,PyCharm以其强大的功能和高效的开发体验著称。以下是PyCharm 2024.1的主要特性和改进: 1. **性能提升**: …...

终身免费的Navicat数据库,不需要破解,官方支持

终身免费的Navicat数据库,不需要破解,官方支持 卸载了Navicat,很不爽上干货,Navicat免费版下载地址 卸载了Navicat,很不爽 公司不让用那些破解的数据库软件,之前一直使用Navicat。换了几款其他的数据库试了…...

Spring Boot中的模板引擎选择与配置

Spring Boot中的模板引擎选择与配置 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来聊聊Spring Boot中的模板引擎选择与配置。模板引擎是生成动态网页…...

4、音视频封装格式---FLV

FLV FLV是一种容器封装格式,是由Adobe公司发布和维护的,用于将视频编码流与音频编码流进行封装。对于任意一种封装格式,都有其头部区域与数据区域,在FLV中,称之为FLV Header与Body。 对于FLV Header,一个FL…...

vscode 前行复制到下一行

目录 Ctrl d 会把当前行复制到下一行 步骤1:打开键绑定设置 目录 Ctrl d 会把当前行复制到下一行 步骤1:打开键绑定设置 使用VS Code设置换行 Ctrl d 会把当前行复制到下一行 步骤1:打开键绑定设置 打开 VS Code。按 CtrlShiftP 打开命…...

什么是文档透明加密|好用的文档透明加密软件有哪些?

在当今日益数字化和信息化的时代,数据安全问题愈发受到企业和个人的关注。文档作为信息的重要载体,其安全性不言而喻。为了保障文档的机密性和完整性,文档透明加密技术应运而生。本文将对文档透明加密进行详细介绍,并探讨一些好用…...

XTDrone-固定翼无人机编队跟踪无人车-配置教程

配置使用ROS版本为Neotic 1 配置 1.1 加载固定翼无人机编队跟踪控制工程文件 cp -r ~/XTDrone/coordination/fixed_wing_formation_control ~/catkin_ws/src 1.2 加载一些用到的功能包 sudo apt-get install ros-noetic-serial #根据自己的ROS版本修改 sudo apt-get insta…...

实现高性能、可扩展的实时数据采集系统:go-zero的应用与实践

随着互联网技术的高速发展,数据采集也越来越受到重视,成为企业获取商业价值的重要手段。在实际应用中,我们往往面临着数据量大、并发高、系统响应速度要求高、压力测试等挑战。如何实现高性能、可扩展的实时数据采集系统?本文将介…...

AUTOSAR NvM模块(五)

NvMRbCallbackSignatureAR45 改变回调函数的参数类型。 TRUE&#xff1a;根据AR44及之后版本&#xff0c;回调函数使用NvM_<Multi;Init>BlockRequestType参数类型。详细的函数调用参数请参考回调参数。 FALSE&#xff1a;根据AR43及之前版本&#xff0c;回调函数使用S…...

输出feign调用详细日志

开发新增一个feign调用类&#xff0c;调用另一个微服务的接口&#xff0c;总是报调用失败&#xff0c;想输出下调用的详细日志看看怎么回事。 第一步&#xff1a;查看feign的输出级别。 这个在qlm_config包里&#xff1a; /*** feign 日志记录级别* NONE&#xff1a;无日志记录…...

mac编译r2frida问题解决

在编译 https://github.com/nowsecure/r2frida 时报错: {"category": "error","code": 7006,"file": {"path": "/Users/xxx/Documents/Library/r2frida/src/agent/lib/info/index.ts","line": 494,&qu…...

中介者模式在金融业务中的应用及其框架实现

引言 中介者模式&#xff08;Mediator Pattern&#xff09;是一种行为设计模式&#xff0c;它通过引入一个中介对象来封装对象之间的交互&#xff0c;从而使对象不需要显式地相互引用&#xff0c;从而降低了对象之间的耦合性。在金融业务中&#xff0c;中介者模式常用于实现复…...

javaSE期末练习题

文章目录 前言一、程序控制1.顺序结构问题描述解题思路题解 2.选择结构2.1 题1问题描述解题思路题解 2.1 题2问题描述解题思路题解 3.循环结构3.1 阶乘的求取问题描述解题思路题解 3.2 水仙花数问题描述解题思路题解 二、数组三、类与对象1.类与对象1.1圆类问题描述解题思路题解…...

Linux文件数据写入

结构体 fd fd也就是文件描述符&#xff0c;用于标识已经打开的文件、管道、socket等。是进程和内核的桥梁&#xff0c;允许进程执行各种文件操作 struct fd {struct file *file;unsigned int flags; };file Linux内核中表示打开文件的结构体&#xff0c;包含了文件操作所需…...

vue2 中如何使用 vuedraggable 库实现拖拽功能

1.通过 npm 或 yarn 安装 vuedraggable 库 npm install vuedraggableyarn add vuedraggable 2. 引入组件内部使用&#xff0c;以下代码是一个Demo&#xff0c;可直接复制粘贴演示 注意&#xff1a;因项目使用了 vant&#xff0c;需要安装 vant 才能正常运行 <template&g…...

0基础学C++ | 第13天 | 基础知识 | 类 | 对象

目录 前言 封装 封装的意义 struct 和 class 的区别 成员属性设置为私有 前言 众所周知&#xff0c; C是一个面向对象的编程语言&#xff08;面向对象的C语言的特点就是&#xff1a;封装、继、 多态&#xff09;&#xff0c;它与面向过程的C语言不通&#xff0c;对面向…...

Java | Leetcode Java题解之第212题单词搜索II

题目&#xff1a; 题解&#xff1a; class Solution {int[][] dirs {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};public List<String> findWords(char[][] board, String[] words) {Trie trie new Trie();for (String word : words) {trie.insert(word);}Set<String> a…...

Flink面试题总结

一、简单介绍一下 Flink Apache Flink 是一个实时计算框架和分布式处理引擎&#xff0c;用于在无边界和有边界数据流上进行有状态的计算 二、Flink集群有哪些角色&#xff1f;各自有什么作用&#xff1f;&#xff08;flink架构&#xff09; --JobManager&#xff1a; JobManag…...

人工智能与云计算

项目要求 一个简单的集群。您需要在此项目中创建计算机集群。这些机器是 docker 容器。集群管理器是一个 Python 程序。群集的状态将写入文件。 希望通过这个 Python 文件,首先它能够通过获取输入来得到要创建的集群中包含的容器数量,并与用户进行交互(用户可以执行此集群…...

9.(vue3.x+vite)修改el-input,el-data-picker样式

效果预览 二:相关代码 <template><div style="padding: 50px"><el-input placeholder="请输入模型名称" style="width: 260px" /><br /...

java反射和注解

反射 获取class对象的三种方法 ①&#xff1a;Class.forName("全类名"); ②&#xff1a;类名.class ③&#xff1a;对象.getclass(); 代码样例 package com.ithema;public class Main {public static void main(String[] args) throws ClassNotFoundException {//第…...

react_后台管理_项目

目录 1.运行项目 2. 项目结构 ①项目顶部导航栏 ②项目左侧导航栏 ③主页面-路由切换区 本项目使用的是 reacttsscss 技术栈。 1.运行项目 在当前页面顶部下载本项目&#xff0c;解压后使用编辑器打开&#xff0c;然后再终端输入命令&#xff1a; npm i 下载依赖后&am…...

【C语言】使用C语言编写并使用gcc编译动态链接库

【C语言】使用C 语言编写并使用 gcc 编译动态链接库 1.背景2.使用C编写代码3.使用gcc编译代码1.背景 在windows下开发很多程序接口被封装到动态链接库供其它开发者使用。 本博客使用C语言编写并使用gcc 编译 一个动态链接库文件FpdSys.dll; 然后使用C/C++/C#/Python去调用动态…...

使用supportFragmentManager管理多个fragment切换

android studio创建的项目就没有一个简单点的框架&#xff0c;生成的代码都是繁琐而复杂&#xff0c;并且不实用。 国内的页面一般都是TAB页面的比较多&#xff0c;老外更喜欢侧边菜单。 如果我们使用一个activity来创建程序&#xff0c;来用占位符管理多个fragment切换&…...

开源模型应用落地-FastAPI-助力模型交互-WebSocket篇(六)

一、前言 使用 FastAPI 可以帮助我们更简单高效地部署 AI 交互业务。FastAPI 提供了快速构建 API 的能力,开发者可以轻松地定义模型需要的输入和输出格式,并编写好相应的业务逻辑。 FastAPI 的异步高性能架构,可以有效支持大量并发的预测请求,为用户提供流畅的交互体验。此外,F…...

独立开发者系列(17)——MYSQL的常见异常整理

虽然安装MYSQL到本地很简单&#xff0c;但是数据库报错还是经常出现&#xff0c;这个时候&#xff0c;需要我们进行逐步检查与修复。作为我们最常用的开发软件&#xff0c;无论切换php/go/python/node/java&#xff0c;数据库的身影都少不了&#xff0c;对于我们储存数据而言&a…...

【ajax实战02】数据管理网站—验证码登录

一&#xff1a;数据提交&#xff08;提交手机验证码&#xff09; 核心思路整理 利用form-serialize插件&#xff0c;收集对象形式的表单数据后&#xff0c;一并提交给服务器。后得到返回值&#xff0c;进一步操作 基地址&#xff1a; axios.defaults.baseURL http://geek.…...

人工智能在反无人机中的应用介绍

人工智能技术在无人机的发展中扮演着至关重要的角色&#xff0c;这一作用在反无人机技术领域同样显著。随着无人机技术的发展&#xff0c;飞行器具备了微小尺寸、高速机动性&#xff0c;以及可能采用的隐蔽或低空飞行轨迹等特性。这些特性使得传统的人工监视和控制手段面临着重…...

【力扣 - 每日一题】3115. 质数的最大距离(一次遍历、头尾遍历、空间换时间、埃式筛、欧拉筛、打表)Golang实现

原题链接 题目描述 给你一个整数数组 nums。 返回两个&#xff08;不一定不同的&#xff09;质数在 nums 中 下标 的 最大距离。 示例 1&#xff1a; 输入&#xff1a; nums [4,2,9,5,3] 输出&#xff1a; 3 解释&#xff1a; nums[1]、nums[3] 和 nums[4] 是质数。因此答…...

【Gin】项目搭建 一

环境准备 首先确保自己电脑安装了Golang 开始项目 1、初始化项目 mkdir gin-hello; # 创建文件夹 cd gin-hello; # 需要到刚创建的文件夹里操作 go mod init goserver; # 初始化项目&#xff0c;项目名称&#xff1a;goserver go get -u github.com/gin-gonic/gin; # 下载…...

C++ 和C#的差别

首先把眼睛瞪大&#xff0c;然后憋住一口气&#xff0c;读下去&#xff1a; 1、CPP 就是C plus plus的缩写&#xff0c;中国大陆的程序员圈子中通常被读做"C加加"&#xff0c;而西方的程序员通常读做"C plus plus"&#xff0c;它是一种使用非常广泛的计算…...

Vue2组件传值(通信)的方式

目录 1.父传后代 ( 后代拿到了父的数据 )1. 父组件引入子组件&#xff0c;绑定数据2. 子组件直接使用父组件的数据3. 依赖注入(使用 provide/inject API)1.在祖先组件中使用 provide2.在后代组件中使用 inject 2.后代传父 &#xff08;父拿到了后代的数据&#xff09;1. 子组件…...

【数据结构 - 时间复杂度和空间复杂度】

文章目录 <center>时间复杂度和空间复杂度算法的复杂度时间复杂度大O的渐进表示法常见时间复杂度计算举例 空间复杂度实例 时间复杂度和空间复杂度 算法的复杂度 算法在编写成可执行程序后&#xff0c;运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏&…...

telegram支付

今天开始接入telegram支付,参考教程这个是telegram的官方说明,详细介绍了机器人支付API。 文章公开地址 新建机器人 因为支付是一个单独的系统,所以在做支付的时候单独创建了一个bot,没有用之前的bot了,特意这样将其分开。创建bot的方法和之前不变,这里不过多介绍。 获…...

elasticsearch-6.8.23的集群搭建过程

三个节点的 ElasticSearch 集群搭建步骤 准备三台机器&#xff1a;28.104.87.98、28.104.87.100、28.104.87.101 和 ElasticSearch 的安装包 elasticsearch-6.8.23.tar.gz ----------------------------- 28.104.87.98&#xff0c;使用 root 用户操作 ----------------------…...

javascript输出语法

javascript输出有三种方式 一种是弹窗输出&#xff0c;就是网页弹出一个对话框&#xff0c;弹出输出内容 语法是aler(内容) 示例代码如下 <body> <script> alert(你好); </script> </body> 这段代码运行后网页会出现一个对话框&#xff0c;弹出你…...

仓库管理系统26--权限设置

原创不易&#xff0c;打字不易&#xff0c;截图不易&#xff0c;多多点赞&#xff0c;送人玫瑰&#xff0c;留有余香&#xff0c;财务自由明日实现 1、权限概述 在应用软件中&#xff0c;通常将软件的功能分为若干个子程序&#xff0c;通过主程序调用。那么&#xff0c;通过…...

d3dx9_43.dll丢失怎么解决?d3dx9_43.dll怎么安装详细教程

在使用计算机中&#xff0c;如果遇到d3dx9_43.dll丢失或许找不到d3dx9_43.dll无法运行打开软件怎么办&#xff1f;这个是非常常见问题&#xff0c;下面我详细介绍一下d3dx9_43.dll是什么文件与d3dx9_43.dll的各种问题以及d3dx9_43.dll丢失的多个解决方法&#xff01; 一、d3dx9…...

[C++] 退出清理函数解读(exit、_exit、abort、atexit)

说明&#xff1a;在C中&#xff0c;exit、_exit&#xff08;或_Exit&#xff09;、abort和atexit是用于控制程序退出和清理的标准库函数。下面是对这些函数的详细解读&#xff1a; exit 函数原型&#xff1a;void exit(int status);作用&#xff1a;exit函数用于正常退出程序…...

代码随想录(回溯)

组合&#xff08;Leetcode77&#xff09; 思路 用递归每次遍历从1-n得数&#xff0c;然后list来记录是不是组合到k个了&#xff0c;然后这个每次for循环的开始不能和上一个值的开始重复&#xff0c;所以设置个遍历开始索引startindex class Solution {static List<List<…...

编译原理1

NFA&DFA 在正规式的等价证明可以借助正规集&#xff0c;也可以通过有限自动机DFA来证明等价&#xff0c;以下例题是针对DFA证明正规式的等价&#xff0c;主要步骤是①NFA&#xff1b;②状态转换表&#xff1b; ③状态转换矩阵&#xff1b; ④化简DFA&#xff1b; 文法和语…...

【信息系统项目管理师知识点速记】组织通用管理:流程管理

23.2 流程管理 通过流程视角能够真正看清楚组织系统的本质与内在联系,理顺流程能够理顺整个组织系统。流程是组织运行体系的框架基础,流程框架的质量影响和决定了整个组织运行体系的质量。把流程作为组织运行体系的主线,配备满足流程运作需要的资源,并构建与流程框架相匹配…...

前端 JS 经典:箭头函数的意义

箭头函数是为了消除函数的二义性。 1. 二义性 函数的二义性指函数有不同的两种用法&#xff0c;就造成了二义性&#xff0c;函数的两种用法&#xff1a;1. 指令序列。2. 构造器 1.1 指令序列 就是调用函数&#xff0c;相当于将函数内部的代码再从头执行一次。 1.2 构造器 …...

Java List操作详解及常用方法

Java List操作详解及常用方法 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 什么是Java List&#xff1f; Java中的List是一种动态数组&#xff0c;它允许存…...

《mysql篇》--查询(进阶)

目录 将查询结果作为插入数据 聚合查询 聚合函数 count sum group by子句 having 联合查询 笛卡尔积 多表查询 join..on实现多表查询 内连接 外连接 自连接 子查询 合并查询 将查询结果作为插入数据 Insert into 表2 select * from 表1//将表1的查询数据插入…...

数据库-MySQL 实战项目——书店图书进销存管理系统数据库设计与实现(附源码)

一、前言 该项目非常适合MySQL入门学习的小伙伴&#xff0c;博主提供了源码、数据和一些查询语句&#xff0c;供大家学习和参考&#xff0c;代码和表设计有什么不恰当还请各位大佬多多指点。 所需环境 MySQL可视化工具&#xff1a;navicat&#xff1b; 数据库&#xff1a;MySq…...

eNSP中WLAN的配置和使用

一、基础配置 1.拓扑图 2.VLAN和IP配置 a.R1 <Huawei>system-view [Huawei]sysname R1 GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip address 200.200.200.200 24 b.S1 <Huawei>system-view [Huawei]sysname S1 [S1]vlan 100 [S1-vlan100]vlan 1…...

<sa8650>QCX ID16_UsecaseRawLiteAuto 使用详解

<sa8650>QCX ID16_UsecaseRawLiteAuto 使用详解 一、前言二、ID16_UsecaseRawLiteAuto拓扑图三、UsecaseRawLiteAuto拓扑图 解析3.1 camxUsecaseRawLiteAuto.xml3.2 camxRawLiteAuto.xml四、测试一、前言 我们在使用QCX时,如果由于使用的摄像头自带了ISP,那么可能不需要使…...

为什么3d重制变换模型会变形?---模大狮模型网

在当今数字技术飞速发展的时代&#xff0c;3D建模和动画制作已经成为影视、游戏和虚拟现实中不可或缺的一部分。然而&#xff0c;即使在高级的3D软件中&#xff0c;重制(rigging)和变换(transformation)过程中仍然会面临一个普遍的问题——模型变形。这种变形可能导致动画效果不…...

【Unity 3D角色移动】

【Unity 3D角色移动】 在Unity 3D中实现角色移动通常涉及到几个关键步骤&#xff0c;包括设置角色的物理属性、处理输入、更新角色的位置以及动画同步。下面是实现基本3D角色移动的步骤和示例代码&#xff1a; 步骤1&#xff1a;设置角色的物理属性 角色通常使用Character Co…...

【国产开源可视化引擎Meta2d.js】拖拽

Meta2d.js已监听拖拽事件&#xff0c;支持接收一个有效的图元Json数据&#xff0c;在画布创建一个图元对象。 图形库拖拽 1. 创建图形库工具栏 创建图形库工具栏 html 元素&#xff0c;绑定拖拽事件或 touch 事件 <div v-for"item in list" draggable"tr…...

云计算渲染时代:选择Blender或KeyShot进行高效渲染

在云渲染技术日益成熟的背景下&#xff0c;挑选一款贴合项目需求的3D渲染软件显得尤为关键。当前&#xff0c;Blender与KeyShot作为业界领先的全能渲染解决方案&#xff0c;广受推崇。它们虽皆能创造出令人信服的逼真视觉效果&#xff0c;但在特色功能上各有所长。本篇文章旨在…...

浅谈OpenCV的多对象匹配透明图像的实现,以及如何匹配半透明控件

引子 OpenCV提供的templateMatch只负责将&#xff08;相关性等&#xff09;计算出来&#xff0c;并不会直接提供目标的对应坐标&#xff0c;一般来说我们直接遍历最高的相关度&#xff0c;就可以得到匹配度最高的坐标。但是这样一般只能得到一个坐标。在实际操作中&#xff0c;…...

SQLyog脚本无限试用重置脚本

文章目录 引言脚本(win)必要操作、说明 引言 SQLyog 需要po jie&#xff0c;但是网上的没看到很好使的&#xff0c;直接下的官方。能处理14天试用也是很ok的。 脚本(win) echo offREM SQLyog注册表key&#xff0c;可能跟你的不一样&#xff0c;如果不一样&#xff0c;请替换…...

软件测试面试题总结(超全的)

前面看到了一些面试题&#xff0c;总感觉会用得到&#xff0c;但是看一遍又记不住&#xff0c;所以我把面试题都整合在一起&#xff0c;都是来自各路大佬的分享&#xff0c;为了方便以后自己需要的时候刷一刷&#xff0c;不用再到处找题&#xff0c;今天把自己整理的这些面试题…...

实惠有面子!风行M7诠释出行新主张,商务车中的超值之选!

在快速发展的商业环境中,出行不再是简单的位移,更是展示企业形象、提升工作效率的重要环节。对于商务人士而言,一辆合适的商务车不仅能提供舒适的乘坐体验,更是身份与品味的象征。在众多商务车型中,风行M7凭借其实惠的价格、体面的外观、宽敞舒适的空间以及高效的动力系统等特点…...

秦L/海豹06的到来,扯下了合资燃油车最后一块遮羞布

从事汽车行业的小伙伴们肯定都知道,现在的新车价格很不稳定。即便是强如奔驰、宝马、奥迪这样的实力派传统豪华品牌,面对着市场环境的变化,中国品牌的崛起,在价格上一步一步下探,跌到了谷底中的谷底。可以预见的是,过去合资燃油车,靠品牌影响力,靠品质取胜的年代已经一…...

GfK中国联合上海市眼镜行业协会举办高层论坛:探索眼镜市场机遇共筑视觉健

中国与上海市眼镜行业协会联合主办的 “视界之窗:瞰见全球及中国眼镜市场未来”高层论坛5月16日在上海成功举行。本次论坛汇聚了上海市眼病防治中心视光中心、上海健康医学院医学技术学院等三十余家专业机构和协会专家,以及上海三联有限公司、上海依视路光学有限公司、卡尔蔡司…...

将于2024北京车展首发东风奕派eπ008预告图发布

近日,东风奕派发布 eπ008 最新预告图。新车此前已经登录工信部申报目录,并将于 4 月开幕的 2024 北京车展上迎来首发亮相。外观方面,新车采用了封闭式的前脸设计,整体风格会偏于圆润。同时搭载了当下流行的贯穿式日间行车灯,并将大灯也融入于此。车身尺寸方面,新车长宽高…...

jenkins集成

jenkins是一款广泛使用的开源持续集成&#xff08;CI&#xff09;和持续交付&#xff08;CD&#xff09;工具&#xff0c;主要用于自动化构建、测试和部署软件。以下是关于如何集成Jenkins的详细介绍&#xff1a; 安装Jenkins&#xff1a; 要安装Jenkins&#xff0c;您需要按照…...

vmware中Ubuntu虚拟机和本地电脑Win10互相ping通

初始状态 使用vmware17版本安装的Ubuntu的20版本&#xff0c;安装之后什么配置都要不懂&#xff0c;然后进行下述配置。 初始的时候是NAT&#xff0c;没动的. 设置 点击右键编辑“属性” 常规选择“启用”&#xff1a; 高级选择全部&#xff1a; 打开网络配置&#xff0c;右键属…...