最新全开源IM即时通讯系统源码(PC+WEB+IOS+Android)部署指南
全开源IM(即时通讯)系统源码部署是一个复杂但系统的过程,涉及多个组件和步骤。以下是一个详细的部署指南,旨在帮助开发者或系统管理员成功部署一个全开源的IM系统,如OpenIM。
IM即时通讯系统源码准备工作
1.选择合适的IM系统
源码及演示:ms.jstxym.top
在部署之前,首先需要选择一个合适的全开源IM系统,在演示站找到合适的源码。OpenIM是一个广泛使用的开源IM解决方案,它提供了IM服务端(OpenIMServer)和客户端SDK(OpenIMSDK),支持多种编程语言和平台。
2. 评估系统需求
根据应用场景和用户规模,评估系统的硬件资源需求、操作系统要求、网络条件等。一般来说,Linux系统(如Ubuntu)是部署开源IM系统的常用选择,同时需要确保服务器具备足够的CPU、内存和存储空间。
3. 准备开发环境
安装必要的开发工具和环境,如Git、Docker、Go语言环境(如果IM系统是用Go编写的)等。确保这些工具的版本与IM系统兼容。
IM即时通讯系统源码环境配置
全开源IM即时通讯系统(如OpenIM)的源码安装环境及组件要求通常涉及多个方面,包括操作系统、硬件资源、软件依赖等。下面是根据当前可获得的信息整理的全开源IM即时通讯系统源码安装环境及组件要求。
1.操作系统
Linux系统:OpenIM等开源IM系统通常推荐在Linux系统上部署,因为Linux系统具有稳定性高、开源免费、易于管理等优点。
版本推荐:Ubuntu 7.5.0-3ubuntu1~18.04 或更高版本被认为是较优的选择,但大多数Linux发行版(如CentOS、Debian等)理论上都支持,只要满足相应的依赖和环境要求。
2.硬件资源
内存:可用内存至少2G以上,对于用户量较大的系统,建议内存达到8G或更高。
CPU:根据用户量和并发需求选择合适的CPU配置,多核CPU有助于提高系统性能。
存储空间:根据系统需求和数据量预留足够的存储空间。对于OpenIM,建议至少1T的普通磁盘空间。
3.软件依赖
编程语言环境:
Go语言:OpenIM等IM系统可能采用Go语言开发,因此需要安装Go语言环境。推荐版本为Go 1.18及以上。
Docker:Docker容器化技术可以简化部署和管理过程。推荐Docker版本为24.0.5或更高,并且确保Docker Compose已安装并配置正确。
Git:用于从版本控制系统(如GitHub)克隆源码。推荐Git版本为2.17.1或更高。
4.存储组件
数据库:
MongoDB:用于存储聊天记录等数据,推荐版本为6.0.2或更高。
MySQL:如果IM系统包含用户管理等功能,可能需要MySQL数据库。推荐版本为5.7或更高。
缓存:
Redis:用于缓存热点数据,提高系统性能。推荐版本为7.0.0或更高。
消息队列:
Kafka:用于处理高并发的消息传输。推荐版本为3.5.1或更高。
其他:
Zookeeper:用于分布式系统的协调和管理,推荐最新版本。
MinIO:用于对象存储,推荐最新版本。
5.其他要求
网络配置:确保服务器具有稳定的网络连接,并开放必要的端口以供客户端和服务端通信。
安全配置:根据实际需求配置防火墙和安全策略,确保系统安全。
日志和监控:配置日志系统以记录运行时日志,并设置监控系统以监控系统性能和异常。
IM即时通讯系统源码组件部署
部署数据库
开源IM即时通讯系统源码部署数据库是一个复杂但至关重要的过程,它直接关系到系统的稳定性、性能以及数据的安全性。
1.数据库选择
在开源IM即时通讯系统中,数据库的选择至关重要。常见的数据库类型包括关系型数据库(如MySQL、PostgreSQL)和非关系型数据库(如MongoDB)。具体选择哪种数据库,需要根据系统的实际需求、数据量大小、并发访问量以及预算等因素综合考虑。
MySQL:作为最流行的关系型数据库之一,MySQL以其高性能、高可靠性和易用性著称。它支持大量的并发连接,并且拥有丰富的社区支持和文档资源。对于需要结构化数据存储的IM系统,MySQL是一个不错的选择。
MongoDB:MongoDB是一种非关系型数据库,以其灵活的文档模型、高伸缩性和高性能著称。它非常适合处理大量非结构化或半结构化数据,如聊天记录、用户状态等。在IM系统中,MongoDB可以用于存储聊天记录、用户信息等数据。
2.部署步骤
环境准备:确保服务器已经安装了操作系统、必要的软件包以及数据库管理系统。
数据库安装:根据选择的数据库类型,按照官方文档进行安装和配置。例如,如果选择MySQL,可以通过APT(Debian/Ubuntu系统)或YUM(CentOS系统)等包管理器进行安装。
数据库配置:配置数据库的连接参数、存储引擎、索引等,以确保数据库的性能和安全性。
数据库迁移(如适用):如果系统是从其他数据库迁移而来,需要进行数据迁移和转换工作。
应用配置:在IM系统的配置文件中,设置数据库的连接信息,如数据库地址、端口、用户名、密码等。
3.配置优化
索引优化:为经常查询的字段添加索引,以提高查询效率。但需注意,索引也会占用额外的存储空间,并可能降低写操作的性能。
查询优化:优化SQL查询语句,避免使用复杂的子查询和JOIN操作,以减少数据库的负载。
缓存策略:结合Redis等缓存系统,将热点数据缓存到内存中,减少对数据库的访问次数。
读写分离:在数据库负载较高时,可以采用读写分离策略,将读操作和写操作分配到不同的数据库实例上,以提高系统的并发处理能力。
4.安全考虑
访问控制:通过配置数据库的访问控制列表(ACL),限制对数据库的访问权限。确保只有授权的用户和IP地址才能访问数据库。
加密传输:使用SSL/TLS等加密协议对数据库连接进行加密,防止数据在传输过程中被窃取或篡改。
定期备份:定期对数据库进行备份,以防止数据丢失或损坏。备份数据可以存储在本地磁盘、云存储或其他可靠的位置。
监控和日志:开启数据库的监控和日志功能,以便及时发现和处理潜在的安全问题。
综上所述,开源IM即时通讯系统源码部署数据库是一个涉及多个方面的复杂过程。通过选择合适的数据库、遵循正确的部署步骤、进行合理的配置优化以及采取必要的安全措施,可以确保IM系统的稳定运行和数据的安全性。
部署缓存和消息队列
在即时通讯(IM)系统的源码部署中,缓存和消息队列是两个至关重要的组件,它们对于提升系统的性能、可靠性和扩展性具有关键作用。
缓存
1. 缓存的作用
缓存主要用于存储那些频繁访问但更新不频繁的数据,以减少对后端数据库的访问次数,从而减轻数据库的负担,提高系统的响应速度。在IM系统中,用户信息、群组信息、聊天记录等都可以被缓存起来。
2. 缓存的实现方式
内存缓存:如Redis、Memcached等,这些缓存系统将数据存储在内存中,提供极快的访问速度。在IM系统中,内存缓存常用于存储用户在线状态、好友列表、最近联系人等实时性要求较高的数据。
本地缓存:在客户端或服务端本地磁盘上存储缓存数据。虽然访问速度不如内存缓存,但可以实现数据的持久化,防止系统重启后数据丢失。
3. 缓存策略
LRU(最近最少使用)策略:当缓存空间不足时,优先淘汰那些最长时间未被访问的数据。
TTL(生存时间)策略:为缓存数据设置生存时间,超过该时间的数据将被自动淘汰。
一致性哈希:在分布式缓存系统中,使用一致性哈希算法来分配缓存数据,以提高系统的可扩展性和容错性。
消息队列
1. 消息队列的作用
消息队列主要用于解耦系统组件之间的直接通信,实现异步处理。在IM系统中,消息队列可以用于处理用户发送的消息、系统通知等,确保消息的有序传递和可靠处理。
2. 消息队列的实现方式
RabbitMQ:一个开源的消息代理软件,支持多种消息协议和消息队列模型。
Kafka:一个分布式流处理平台,具有高吞吐量和可扩展性,常用于处理大规模数据流。
ActiveMQ:Apache软件基金会下的一个开源消息中间件,支持JMS(Java消息服务)规范。
3. 消息队列的使用场景
异步处理:将耗时较长的操作(如发送邮件、短信通知)放入消息队列中异步处理,避免阻塞主线程。
流量削峰:在系统高并发时,将请求放入消息队列中排队处理,避免系统直接崩溃。
系统解耦:通过消息队列实现系统组件之间的松耦合,降低系统间的依赖关系。
部署建议
合理选择缓存和消息队列技术:根据系统的实际需求选择合适的缓存和消息队列技术。
优化缓存策略:根据数据的访问频率和更新频率制定合理的缓存策略,以提高缓存的命中率和系统的性能。
监控和调优:对缓存和消息队列进行实时监控和性能调优,确保系统的稳定运行和高效处理。
考虑高可用性和容错性:在部署缓存和消息队列时,需要考虑高可用性和容错性设计,以防止单点故障导致系统整体崩溃。
部署IM服务端
即时通讯(IM)系统的源码部署中,IM服务端的部署是关键步骤之一。IM服务端负责处理用户之间的消息传递、用户认证、会话管理、数据存储等功能。
1. 环境准备
选择服务器:根据系统的预估用户量和并发量选择合适的服务器配置。确保服务器具有足够的CPU、内存和存储空间。
安装操作系统:在服务器上安装合适的操作系统,如Linux(推荐Ubuntu、CentOS等)。
配置网络:确保服务器具有稳定的网络连接,并配置好IP地址、域名解析等。
2. 依赖安装
编程语言环境:根据IM服务端源码的编程语言(如Go、Java、Node.js等),安装相应的编程语言环境。
数据库:安装并配置IM系统所需的数据库(如MySQL、MongoDB等),并创建相应的数据库和用户。
缓存系统:安装并配置缓存系统(如Redis),用于存储用户状态、好友列表、聊天记录等频繁访问的数据。
消息队列:安装并配置消息队列系统(如RabbitMQ、Kafka等),用于处理异步消息传递。
3. 源码获取与编译
克隆源码:从GitHub、GitLab或其他版本控制系统克隆IM服务端的源码。
编译源码:根据源码的编译说明,使用相应的编译工具(如make、gradle、npm等)编译源码。
4. 配置IM服务端
配置文件:编辑IM服务端的配置文件,设置数据库连接信息、缓存配置、消息队列配置等。
环境变量:根据需要设置环境变量,如数据库密码、密钥等敏感信息。
5. 部署IM服务端
使用Docker:如果IM服务端支持Docker部署,可以编写Dockerfile并构建Docker镜像,然后通过Docker Compose或Kubernetes等工具进行部署。
直接部署:如果不使用Docker,可以将编译好的IM服务端程序直接部署到服务器上,并启动服务。
6. 客户端集成
提供SDK:如果IM服务端提供了客户端SDK,确保SDK已经更新到最新版本,并与服务端兼容。
集成测试:在客户端应用中集成SDK,并进行集成测试,确保消息能够正常发送和接收。
通过以上步骤,可以完成IM服务端的部署工作。需要注意的是,每个IM系统的具体部署流程可能会有所不同,因此在实际部署过程中需要根据具体情况进行调整。
客户端SDK集成
1. 选择合适的客户端SDK
根据开发平台(如iOS、Android、Web等)选择合适的客户端SDK。OpenIMSDK提供了多种平台的SDK,方便开发者集成。
2. 集成SDK到客户端应用
将SDK集成到客户端应用中,实现消息的发送、接收、用户管理、群组管理等功能。这通常涉及调用SDK提供的API接口,并在客户端应用中实现相应的业务逻辑。
系统测试与优化
1. 功能测试
对部署完成的IM系统进行全面的功能测试,确保所有功能都按预期工作。
2. 性能测试
进行性能测试,评估系统的并发处理能力、响应时间和稳定性等指标。根据测试结果对系统进行优化。
3. 安全测试
进行安全测试,检查系统是否存在安全漏洞和隐患。及时修复发现的问题,确保系统的安全性。
总结
全开源IM即时通讯系统的源码部署是一个涉及多个步骤和组件的复杂过程。通过本文提供的指南,希望能够帮助开发者或系统管理员成功部署一个高性能、可扩展且安全的IM系统。
相关文章:
最新全开源IM即时通讯系统源码(PC+WEB+IOS+Android)部署指南
全开源IM(即时通讯)系统源码部署是一个复杂但系统的过程,涉及多个组件和步骤。以下是一个详细的部署指南,旨在帮助开发者或系统管理员成功部署一个全开源的IM系统,如OpenIM。 IM即时通讯系统源码准备工作 …...
使用Linux的logrotate工具切割日志:Tomcat、NGINX(journal文件清理)
文章目录 引言I Tomcat日志切割配置轮转参数验证码II NGINX访问文件的配置和切割access.log 访问日志的配置使用Linux的logrotate工具切割日志验证文件切割III /run/log/journaljournalctl文件清理引言 journal文件清理: 只保留过去两天,清理之前的文件 journalctl --vacuu…...
shell脚本1
运行脚本 1、先创建一个sh脚本文件,里面输入一个输出网站的命令,比如echo www.baidu.com vim 1.sh2、可以利用以下三种方式、这三种其实不管哪种脚本解释器最后调用的还是这个dash,下面是解释为什么调用都是dash,我们ls可以发现最后目录都是指向了dash…...
Qt-chart 画折线图(以时间为x轴)
上图 代码 #include <iostream> #include <random> #include <qcategoryaxis.h>void MainWindow::testLine() {//1、创建图表视图QChartView* view new QChartView(this);//2.创建图表QChart* chart new QChart();//3.将图表设置给图表视图view->setCh…...
【kubernetes】kubectl get nodes报NotReady
目录 1. 说明2. 问题描述3. kube-flannel.yml 1. 说明 1.这里k8s的版本是v1.17.4。2.若kube-flannel.yml中的镜像拉取不下来,可以下载本文章的文件资源,手动docker load -i ***.tar的方式。3.v1.17.4的kube-flannel.yml参考下面代码。4.通过kubectl get…...
分布式开发学习
1、kratos的特点 gRPC:Kratos 默认支持 gRPC,提供高性能的远程调用能力,适用于微服务间通信。 HTTP :同时支持 HTTP/1.1 和 HTTP/2,方便微服务与外部系统交互。 Protocol Buffers: protoc 工具生…...
软件测试的几种方法详解
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 1、从是否关心内部结构来看 (1)白盒测试:又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并…...
C语言---int r 与 int r=数的区别
int r 在这里面声明了一个变量r,创建了内存空间 int r 2 声明了一个整数类型的变量r,并给它赋值(初始值)为2,创建内存空间并赋值。...
matlab测试ADC动态性能的原理
目录 摘要: 简介: 动态规范和定义 动态规格: 双面到单边的功率谱转换 摘要: 模数转换器(adc)代表了接收器、测试设备和其他电子设备中的模拟世界和数字世界之间的联系。正如本文系列的第1部分中所概述…...
XDOJ 877 图的深度优先遍历
题目:图的深度优先遍历 问题描述 已知无向图的邻接矩阵,以该矩阵为基础,给出深度优先搜索遍历序列,并且给出该无向图的连通分量的个数。在遍历时,当有多个点可选时,优先选择编号小的顶点。(即…...
内网穿透讲解
什么是内网穿透 内网穿透是一种网络技术,它允许外网或者其他局域网的用户来访问这个局域网的服务器资源,让资源的利用率更高,更加灵活,但是也要确保网络安全。 工作原理 如果你在公司,但是你需要使用到你家里的那台电…...
怎么规划一个呼叫中心大模型呼入部门?设置哪些岗位?
怎么规划一个呼叫中心大模型呼入部门?设置哪些岗位? 原作者:开源呼叫中心FreeIPCC,其Github:https://github.com/lihaiya/freeipcc 规划一个呼叫中心大模型呼入部门是一个复杂而细致的过程,涉及多个层面的…...
企业级Nginx Web服务优化实战(上)
一 ,Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说 ,软件的漏洞都和版本有关 ,这个很像汽车的缺陷 ,同一批次的要有问题就 都有问题 ,别的批次可能就都是好的。 因此 ,我们应尽量隐藏或…...
Redisson常用方法
Redisson 参考: 原文链接 定义:Redisson 是一个用于与 Redis 进行交互的 Java 客户端库 优点:很多 1. 入门 1.1 安装 <!--redission--> <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifa…...
【树莓派4B】MindSpore lite 部署demo
一个demo,mindspore lite 部署在树莓派4B ubuntu22.04中,为后续操作开个门! 环境 开发环境:wsl-ubuntu22.04分发版部署环境:树莓派4B,操作系统为ubuntu22.04mindspore lite版本:mindspore-li…...
ESP32-S3模组上跑通ES8388(30)
接前一篇文章:ESP32-S3模组上跑通ES8388(29) 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回终于解析完了es8388_init函数的所有代码。本回回到调用它的地方,继续往下讲解。 我们是从ESP32-S3模组上跑通ES8388(7)-CSDN博客开始进入es8388_init函数,展开对于它的解析的…...
网络安全渗透测试概论
渗透测试,也称为渗透攻击测试是一种通过模拟恶意攻击者的手段来评估计算机系统、网络或应用程序安全性的方法。 目的 旨在主动发现系统中可能存在的安全漏洞、脆弱点以及潜在风险,以便在被真正的恶意攻击者利用之前,及时进行修复和加固&…...
.NET6 WebAPI从基础到进阶--朝夕教育
1、环境准备 1. Visual Studio 2022 2. .NET6 平台支持 3. Internet Information Services 服务器( IIS ) 4. Linux 服务器 【 CentOS 系统】 ( 跨平台部署使用 ) 5. Linux 服务器下的 Docker 容器( Docker 部署使用) …...
opencv通过3种算子进行边缘提取
Scharr算子是效果比较好的,但从肉眼看sobel算子比较顺眼 # 导入OpenCV库,用于图像处理 import cv2 import numpy as np # 从matplotlib库中导入pyplot模块,用于绘制图像 from matplotlib import pyplot as plt # 创建一个名为window的窗口,窗…...
【KodExplorer】可道云KodExplorer-个人网盘安装使用
说明:安装kodExplorer (不是Kodbox);Kodbox需求服务器至少2核4G内存,要求环境具备php/redis/mysql/。安装kodExplorer 就是比较方便简单部署,个人版免费。 一、安装环境需求 服务器: Windows,…...
并查集基础
abstract 并查集(Union-Find Set)是一种数据结构,主要用于处理动态连通性问题(Dynamic Connectivity Problem),例如在图论中判断两点是否属于同一个连通分量,以及动态地合并集合。 它广泛应用…...
FPGA 16 ,Verilog中的位宽:深入理解与应用
目录 前言 一. 位宽的基本概念 二. 位宽的定义方法 1. 使用向量变量定义位宽 ① 向量类型及位宽指定 ② 位宽范围及位索引含义 ③ 存储数据与字节数据 2. 使用常量参数定义位宽 3. 使用宏定义位宽 4. 使用[:][-:]操作符定义位宽 1. 详细解释 : 操作符 -: 操作符 …...
day2 数据结构 结构体的应用
思维导图 小练习: 定义一个数组,用来存放从终端输入的5个学生的信息【学生的信息包含学生的姓名、年纪、性别、成绩】 1>封装函数 录入5个学生信息 2>封装函数 显示学生信息 3>封装函数 删除第几个学生信息,删除后调用显示学…...
原创 传奇996_55——后端如何点击npc隐藏主界面
点击图片退出,举例: |linkexit Img|ax0.5|ay0.5|percentx50|percenty50|imgpublic/touming2.png|hideMain1|linkexit <Img|x0|y0|esc1|show4|bg1|move0|imgcustom/new/longhun/bg.png|loadDelay0|reset1|hideMain1>...
java+springboot+mysql法律咨询网
项目介绍: 使用javaspringbootmysql开发的法律咨询网(文书),系统包含管理员、用户角色,功能如下: 管理员:登录系统;用户管理;文章管理(法律知识)…...
【AIGC】如何高效使用ChatGPT挖掘AI最大潜能?26个Prompt提问秘诀帮你提升300%效率的!
还记得第一次使用ChatGPT时,那种既兴奋又困惑的心情吗?我是从一个对AI一知半解的普通用户,逐步成长为现在的“ChatGPT大神”。这一过程并非一蹴而就,而是通过不断的探索和实践,掌握了一系列高效使用的技巧。今天&#…...
HarmonyOS-高级(四)
文章目录 应用开发安全应用DFX能力介绍HiLog使用指导HiAppEvent 🏡作者主页:点击! 🤖HarmonyOS专栏:点击! ⏰️创作时间:2024年12月11日11点18分 应用开发安全 应用隐私保护 隐私声明弹窗的作…...
国科大智能设备安全-APK逆向分析实验
APK逆向分析实验 使用APK常用逆向分析工具,对提供的移动应用程序APK文件进行逆向分析,提交逆向后代码和分析报告。具体任务如下: 任务一:安装并熟悉Apktool、Jadx等APK常用逆向工具的使用方法,对提供的Facebook Updat…...
Batch Normalization和 Layer Normalization
Batch Normalization和 Layer Normalization Batch Normalization (BN) 和 Layer Normalization (LN) 是深度学习中常用的归一化技术,它们的主要目的是加速训练、提高模型的收敛速度和稳定性。以下是对这两种归一化技术的详细讲解: 1. Batch Normalizat…...
数据结构——顺序表
顺序表的简单介绍 顺序表的概念:顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。 特点:顺序表的特点是可以通过元素的索引快速访问数据,其访问时间复杂度…...
C语言中互斥锁、信号量和条件变量的所有相关函数、参数、返回值和说明
1. 互斥锁(Mutex)的使用 互斥锁用于保护共享数据,防止多个线程同时修改它。 #include <pthread.h> #include <stdio.h> #include <stdlib.h> // 定义一个全局共享变量 int shared_counter 0; // 定义一个互斥锁 pthrea…...
(前序 简单)leetcode 226翻转二叉树
代码随想录说用前序遍历和后序遍历方便,而中序遍历比较绕。 活用自定义函数使程序结构更为清晰 这里用的是前序遍历,根结点root指向left和root,交换root的左右指向 执行过程: 也就是交换下例的 2 ,7 使得交换后&…...
搭建springmvc项目
什么是springmvc MVC它是一种设计理念。把程序按照指定的结构来划分: Model模型 View视图 Controller控制层 springmvc框架是spring框架的一个分支。它是按照mvc架构思想设计的一款框架。 springmvc的主要作用: 接收浏览器的请求数据,对数据进行处理,…...
解惑(一) ----- super(XXX, self).__init__()到底是代表什么含义
转载:self参数 - __ init__ ()方法 super(Net, self).__init__()是什么_super(net, self).init()-CSDN博客 相信大家在很多场合特别是写神经网络的代码的时候都看到过下面的这种代码: import torch import torch.nn as nn import torch.nn.functional …...
23种设计模式之责任链模式
目录 1. 简介2. 代码2.1 AbstractLogger(抽象处理者)2.2 InfoLogger (具体处理者)2.3 DebugLogger (具体处理者)2.4 ErrorLogger (具体处理者)2.5 Test (测试)…...
电感2222
1 电感 1电感是什么 2 电感的电流不能突变:电容是两端电压不能突变 3 电感只是限制电流变化速度...
车牌识别OCR授权:助力国产化升级,全面提升道路监控效率
政策背景:国产化升级,推动道路监控产业转型 随着国家对信息安全的重视,国内各大公安、政企机构已进入全面升级国产化平台的实施阶段。根据最新的政策要求,公安和政府部门必须在未来三年内完成平台的国产化替换工作。这一举措不仅…...
【人工智能-中级】卷积神经网络(CNN)的中阶应用:从图像分类到目标检测
文章目录 卷积神经网络(CNN)的中阶应用:从图像分类到目标检测1. 图像分类:CNN的基础应用CNN结构概述经典网络架构2. 目标检测:从分类到定位基于区域的目标检测方法单阶段目标检测方法边界框回归与NMS(Non-Maximum Suppression)3. 深度学习中的目标检测挑战与解决方案4. …...
从资产流动分析WIF市场潜力X.game深究其他未知因素
近日,两则关于WIF最新消息引起了投资者们的注意。据报道,11月28日Vintermute在过去13小时内累计从Binance交易所提取了价值533万美元的WIF,此举不仅彰显了其强大的资金实力,更在某种程度上推动了WIF币价的反弹;另一方面…...
【工具变量】上市公司企业经营困境指数数据(Zscore、Oscore、RLPM、Merton DD)2000-2021年
一、资料范围:包括Zscore、Oscore、RLPM、Merton DD,经营困境说明如下:(1)Zscore:以2.67和1.81作为临界值计算样本得分所处的范围。Zscore>2.67 为财务状况良好,发生破产的可能性较小。Zscor…...
freeswitch(监听、旁听)
亲测版本centos 7.9系统–》 freeswitch1.10.9 本人freeswitch安装路径(根据自己的路径进入) /usr/local/freeswitch/etc/freeswitch使用场景: 比如A和B在通话,C想监听他们通话内容,其他设备是不知道有人在监听的使用方法: 进入dialplan/default.xml 在配置表添加 <…...
php基础:命名空间
1.PHP 命名空间可以解决以下两类问题: 1.用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。 2.为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,以提高源代码的可读…...
SAP FICO物料分类账实操
物料分类账所涉及到的差异从采购入库的时候就可能已经产生,接下来从创建物料主数据开始对可能产生差异地方进行分析。其中有些操作步骤在标准价格估算这一篇博文中已经有过演示,可以先做了解。 其中的某些创建在有直接可用的情况下是非必须的࿰…...
【信息系统项目管理师】高分论文:论信息系统项目的整合管理(移动警务通系统)
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 正文1、制定项目章程2、制定项目管理计划3、指导与管理项目工作4、管理项目知识5、监控项目工作6、实施整体变更控制7、结束项目或阶段正文 2022年2月,我有幸作为项目经理参加了“某市公安移动警务通系统”项…...
学习笔记069——Java集合框架
文章目录 集合1、List 接口2、Set 接口3、Map3.1、Map 常用实现类 集合 需要创建多个对象,但是数量和类型不确定。 集合是 Java 提供的一种类型,功能和数组类似,但是长度和数据类型都是动态。 集合框架(包括很多类和接口&#…...
JIS-CTF: VulnUpload靶场渗透
JIS-CTF: VulnUpload来自 <https://www.vulnhub.com/entry/jis-ctf-vulnupload,228/> 1,将两台虚拟机网络连接都改为NAT模式 2,攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 靶机IP地址192.168.23.162,攻击机IP地址192.168.23.140…...
2024年食堂采购系统源码技术趋势:如何开发智能的供应链管理APP
本篇文章,小编将与大家一同探讨2024年食堂采购系统的技术趋势,并提供开发更智能的供应链管理APP的策略。 一、2024年食堂采购系统的技术趋势 1.人工智能与机器学习的深度应用 在2024年,AI和机器学习在食堂采购系统中的应用将更加普遍。这些…...
Flink CDC实时同步mysql数据
官方参考资料: https://nightlies.apache.org/flink/flink-cdc-docs-master/zh/docs/connectors/flink-sources/mysql-cdc/ Apache Flink 的 Change Data Capture (CDC) 是一种用于捕获数据库变化(如插入、更新和删除操作)的技术。Flink CDC…...
解决MAC装win系统投屏失败问题(AMD显卡)
一、问题描述 电脑接上HDMI线后,电脑上能显示有外部显示器接入,但是外接显示器无投屏画面 二、已测试的方法 1 更改电脑分辨,结果无效 2 删除BootCamp,结果无效 3更新电脑系统,结果无效 4 在设备管理器中&#…...
【数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】
目录😋 任务描述 相关知识 测试说明 我的通关代码: 测试结果: 任务描述 本关任务:实现二叉排序树的基本算法。 相关知识 为了完成本关任务,你需要掌握:二叉树的创建、查找和删除算法。具体如下: (1)由…...