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

Ubuntu 22.04安装部署

一、部署环境

表 1‑1

环境服务版本号
系统Ubuntu22.04 server lts
运行环境1JDK1.8
前端WEBNginx1.8
数据库postgresqlpostgresql13+postgis3.1+pgrouting3.1
消息队列rabbitmq3.X(3.0以上)
运行环境2erlang23.3.3.1

二、安装系统

2.1安装

1.安装方式,选第一条。

2.选择语言,建议英语,报错时比较好百度,中文版报错不容易搜索。

3.选择键盘标准,默认即可。

4.选择安装版本为标准server,键盘方向键控制光标,空格键选中。

5. 设置网卡,联网环境下稍稍等待一下,即可自动获取到IP地址。

6.配置代理,没特殊需求不用理,直接下一步。

7.设置镜像源,后面可以设置,这里直接下一步。

8.选择装系统的硬盘,多块硬盘时需要进行选择。

9.硬盘分区,默认即可。

10.设置名字、主机名、用户名,设置用户名密码。

11.升级Ubuntu pro,不升级,选择跳过。(默认选项即是跳过。Skip)

12.开启ssh服务,这个建议开启,否则还需进系统修改,比较麻烦。空格选中。

13.选中服务快照,这里不做选择,直接下一步。

14.系统自动执行安装,等待进度结束,点击重启即可。

15.点击重启,等待服务器自动重启。

16.输入先前自己设置的用户名与密码。密码为不可见状态,输入完直接Enter。

##若半天不进入到用户登录页,就手动重启一遍或多变。##

17.进入系统

2.2系统设置

进入系统后可使用ip a命令查看现有ip与网卡名称,在通过终端工具连接,我使用xshell 7进行连接。

2.2.1配置ip

#进入到/etc/netplan/

cd /etc/netplan/

#此目录下有一个为.yaml的文件,此文件为网卡配置文件,修改现有配置文件名称为.bak如:00-installer-config.yaml修改为00-installer-config.yaml.bak

sudo mv 00-installer-config.yaml 00-installer-config.yaml.bak

#用vi或vim编辑器打开、创建一个名为01-netcfg.yaml的文件。

##注意,所有命令都需要在前面加上sudo。

sudo vim 01-netcfg.yaml

#第一次使用sudo 命令需要输入密码。输入你登录的密码,密码为不可见。

#---------------------------------------------------------

network:

version: 2

renderer: networkd

ethernets:

ens33: #网卡名称

addresses: [10.0.0.22/24] #IP地址/子网掩码

gateway4: 10.0.0.2 #网关

nameservers:

addresses: #DNS不联网不用加,联网就百度,查公用DNS与企业内部自己的DNS

#---------------------------------------------------------

#ens33:为服务器的网卡名称。

#addresses: [10.0.0.22/24] 为此台服务器的ip/子网掩码。

#gateway4: 10.0.0.2 网关

#下面是DNS 不需要连外网可以不设

#保存退出--先按一下esc,然后输入“:wq”点击“Enter”。

#重启网卡或服务器生效

#重启网卡

sudo netplan apply

#重启服务器

sudo reboot

三、部署JDK

#上传nVisual-ubuntu_22.04_x86.tar.gz至服务器。

#使用cd命令进入到所上传的目录。

#进入到解压开的目录内

cd nVisual/jdk

#查看JDK名称

sudo dpkg -i *.deb

#验证JDK安装是否成功

java -version

#出现版本号为部署成功。有问题请自行百度。

四、部署Nginx

4.1部署

#在刚刚已经上传的包里 已有NGINX部署文件,进入到NGINX目录。

cd nginx/

#使用dpkg命令安装所有包。" * 代表所有文件"

sudo dpkg -i *

#启动NGINX

sudo systemctl start nginx.service

#重启NGINX

sudo systemctl restart nginx.service

#停止NGINX

sudo systemctl stop nginx.service

#查看服务状态

sudo systemctl status nginx.service

#加入到开机自启动

sudo systemctl enable nginx.service

4.2修改配置文件

#将标准配置文件替换现有Nginx配置文件。

#备份现有配置文件。

cd /etc/nginx

mv ngnx.conf nginc.conf.bak

#在微盘里获取Nginx配置文件,上传至/etc/nginx目录。

#获取地址:

https://drive.weixin.qq.com/s?k=AN0AjwcKAAwPPJlnYV

##修改NGINX启动用户,第一行的user修改为“登录Ubuntu的用户名”,否则会重启报错。

user [hostmane];

##修改Nginx访问地址。

server_name localhost;

五、部署postgresql13+postgis+pgrouting

5.1部署postgresql

5.1.1部署

#在之前上传的tar包内,以有postgresql13的安装包。

#进入到postgresql目录

cd nVisual/pgsql/postgresql

#安装所有deb包。

sudo dpkg -i *.deb

#等待安装结束。

#启动命令

sudo systemctl start postgresql.service

#重启命令

sudo systemctl restart postgresql.service

#加入到开机自启

sudo systemctl enable postgresql.service

#查看服务状态

sudo systemctl status postgresql.service

5.1.2设置优化

#进入数据库并设置密码

#切换至postgres用户

sudo su - postgres

#进入数据库

psql

#设置密码

alter user postgres with password 'NWEpassword';

#退出PostgreSQL数据库

"\q" 或 "ctrl+d" 或 "quit" 或 "exit"

5.1.3配置远程连接

#配置/etc/postgresql/13/main/pg_hba.conf

#pg_hba.conf修改项:

sudo vim /etc/postgresql/13/main/pg_hba.conf

# IPv4 local connections:

host all all 127.0.0.1/32 md5

host all all 0.0.0.0/0 trust

#配置 /etc/postgresql/13/main/postgresql.conf

sudo vim /etc/postgresql/13/main/postgresql.conf

#postgresql.conf修改项:

#listen_addresses = 'localhost'

#改为

listen_addresses = '*'

#重启生效

systemctl restart postgresql

PGAdmin 4 测试连接

连接成功

5.2部署postgis

#进入到以上传的文件目录

cd nVisual/pgsql/postgis

#安装postgis

sudo dpkg -i *.deb

#开启postgis插件

--------------------------------------

#进入到数据库

sudo -u postgres psql

#开启postgis插件

create extension postgis;

create extension postgis_topology;

create extension fuzzystrmatch;

create extension address_standardizer;

create extension address_standardizer_data_us;

create extension postgis_tiger_geocoder;

#查看postgis版本,成功打印出版本号为开启postgis插件成功。

SELECT PostGIS_full_version();

#退出查看模式(键入q就会自动退出。)

q

5.3部署pgrouting

#进入到以上传的文件目录。

cd nVisual/pgsql/pgrouting

#安装pgrouting。

sudo dpkg -i *.deb

#等待安装完成。

#开启pgrouting的插件。

CREATE EXTENSION pgrouting;

#查看pgrouting版本。

select pgr_version();

#打印出pgrouting版本号为开启插件成功。

5.4导入基础数据

5.4.1备份基础数据

使用PGadmin 4 备份一份基础数据库,基础数据库为nvisual_empty_template。

5.4.2同步基础数据

创建一个数据库

#恢复备份好的数据文件。

六、nVisual项目部署

6.1部署nVisual前端

#在/home/目录下创建 nvisual-frontend 文件夹

sudo mkdir /home/nvisual-frontend/

#给 home 目录以及home下的所有文件及目录授权给登录用户。

#命令为:词条命令为,给根下的 home目录,包括以下所有文件、文件夹的用户与用户组授权为nvisual用户与nvisual组。

shdo chown nvisual:nvisual -R /home

---------------------------------------

#上传dist包至nvisual-frontend下并解压。

tar xvf dist.tar.gz

---------------------------------------

## 如果dist目录有更新,可以找前端人员获取更新包,上传至服务器解压更新包后,使用“\cp -a”对原dist目录进行覆盖

---------------------------------------

#dist目录不为dist如“dist-2.0.71.2”请修改为“dist”

sudo mv dist-2.0.71.2 dist

##注意nvisual的前端标准部署目录路径为/home/nvisual-frontend/若修改了前端文件的路径,需要修改在微盘内获取的Nginx配置文件的相关路径。批量替换可使用 :%s###g,具体使用方法如下。

##使用vi或vim编辑文件时先不进入编辑模式,直接键入 :%s#要替换的内容#替换成的内容#g

-----------------------------------------------------------------------

##导入SSL证书

如果项目部署没有跳转https的需求,请注释掉nginx配置文件中的ssl部分,并忽略这一步。

01. 将SSL证书导入至客户服务器

将两个SSL证书导入客户服务器的/etc/nginx/ssl/目录下

02. 检查nginx语法并重启nginx

nginx -t

systemctl restart nginx

03. 如果客户服务器不需要配置https跳转,则不需要进行SSL证书的相关配置

6.2访问测试

使用电脑浏览器访问所部署的nVisual的服务器。出现以下页面为前端配置成功。

6.3部署nVisual后端

#在/home下,创建 nvisual-backend 目录

sudo mkdir /home/nvisual-backend

#上传后端jar包至/home/nvisual-backend/下

#进入/home/nvisual-backend/

#修改后端jar包配置文件

##**检查数据库地址与端口、数据库名称、数据库密码**

#启动命令

sudo java -Dfile.encoding=utf-8 -jar xxx.jar

#在程序加载后无报错,并出现(JVM***)表示启动成功,转至后台启动。

sudo nohup java -Dfile.encoding=utf-8 -jar xxx.jar &

#后端启动完成,查看下Java进程

ps -ef | grep java

6.4授权

访问服务地址:ip

管理员账号:admin_user

管理员密码:Admin

初次登录会提示Mac地址错误,并跳转到授权页面。

#授权页面,点击服务器地址,会自动弹出服务器所存在的ip,只需点击想要授权的ip即可,**有域名的用户,手动填写域名。

#点击生成用户识别码,并把生成码复制出来,发给实施或客服进行授权。

#授权生成后,会有两个文件,一个是TXT文件,里面是后端授权码,点击去输入授权码。并把授权码输入进文本框,点击注册。

#授权成功

#授权那成功后,重新打开一页浏览器页面,输入服务ip或域名进行访问nVisual。就可进入到系统。

#授权文件里的另一个“header.js”文件,为前端授权文件,复制到/home/nvisual-frontend/dist/libs/ht/core/about/目录下。

#刷新浏览器页面生效,拖拽一两个节点进行测试,拖拽出的节点或设备可编辑表示授权成功。如果不生效,请清楚浏览器缓存重试。

七、部署rabbitmq

7.1部署

#进入以上传的rabbitmq文件目录

cd nVisual/rabbitmq/

#安装所有.deb包。

sudo dpkg -i *.deb

#等待安装完成

#启动

sudo systemctl start rabbitmq-server

#重启

sudo systemctl restart rabbitmq-server

#状态

sudo systemctl status rabbitmq-server

#加入到开机自启

sudo systemctl enable rabbitmq-server

----------------------

7.2开启可视化图形管理界面

RabbitMQ是自带了图形化操作界面插件的,端口默认是15672,图形化界面默认是关闭的,可以通过命令开启。

#开启RabbitMQ图形化界面并查看端口

#启动图形化界面:

sudo rabbitmq-plugins enable rabbitmq_management

7.3访问 rabbitmq

#浏览器尝试访问

访问地址:服务器地址ip:15672

默认用户名:guest

默认密码: guest

##报错显示只能本地访问,简易使用下方“解决方法”

#修改配置文件

#所以需要手动创建以下配置文件。

vim /etc/rabbitmq/rabbitmq.conf

#文件内容为

loopback_users = none

#保存退出

#配置文件创建完成后重启RabbitMQ即可在本地进行登录。

sudo systemctl restart rabbitmq-server

#(RabbitMQ重启有点慢,多等几秒即可)

#重启结束成功后,再次访问图形化界面。

7.4创建admin用户

#使用命令创建新用户并设置权限。

#创建用户admin 密码admin

sudo rabbitmqctl add_user admin admin

#授予admin用户默认visual host "/" 下的所有资源的配置、写、读的权限

sudo rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

#授予admin用户管理员角色

sudo rabbitmqctl set_user_tags admin administrator

7.5创建交换机

#创建交换机

交换机名称(Name):

nvisual-exchange

类型(Type):

direct

7.6测试

7.6.1测试用户操作日志

点击 “管理->日志” 可查看到用户操作过的日志记录。

7.6.2测试用户登录日志

点击 “管理->日志->登录日志” 可查看到用户登录和退出的日志记录。

7.6.3测试报表

点击 “管理->报表"可查看初始的报表数据。(初始部署是没有数据的,可以拖拽一两个设备过节点。)

八、登录优化

8.1登录页优化

8.1.1注册入口优化

#服务器的/home/nvisual-frontend/dist/config/目录下为页面配置文件目录。

#使用修改diagram.js.sample为diagram.js。

mv diagram.js.sample diagram.js

#按照说明,把代码前后的注释删除掉。

8.1.2登录视图优化

#用vim打开access.js文件。

vim access.js

#根据注释设置边框,自定义名称,logo等

8.2主页优化

#无监“测模”块的项目,隐藏“监测”功能。

九、数据库备份

9.1创建备份脚本

#第一步 创建目录结构 /home/pgsql/pgsql_backup

sudo mkdir -p /home/pgsql/pgsql_backup

#第二步 设置变量 用vim或vi打开/etc/profile 在最后另起一行写入下列。保存退出。

PGPASSWORD='NWEpassword'

#刷新环境变量

source /etc/profile

#备份机制为,每天凌晨4点备份,保留时常为7天,时间可修改。

#在pgsql目录下创建备份名为pgsql_backup.sh的脚本文件,创建备份脚本,内容如下 :

#用vim编辑器打开

vi /home/pgsql/pgsql_backup.sh

--------------------------------------------------------------------------

# Backup Nvisual Database At 4am Everyday

# Delete The Backup File Made 7 Days Ago

DATE=`date "+%Y-%m-%d_%H:%M"`

PGPASSWORD='NWEpassword' pg_dump -U postgres -p 5432 nVisual > /home/pgsql/pgsql_backup/nvisual_$DATE.sql

rm -f `find /home/pgsql/pgsql_backup/ -name 'nvisual*.sql' -mtime +7`

--------------------------------------------------------------------------

#手动执行脚本已确认脚本是否生效

bash /home/pgsql/pgsql_backup.sh

说明:

  1. 正文宋体小四,1.5倍行距,两端对齐,首行缩进2字符,表格内字体宋体五号,全篇正文内容段落格式要统一。
  2. 一级标题宋体二号加粗,设置段前分页,二级标题宋体三号加粗,级标题宋体四号加粗,四级标题宋体小四加粗。
  3. 图片、表格及其题注应居中,首行无缩进。同一章节中的图表编号应连贯。
  4. 招标文件有特殊字体、段落格式等要求的,要严格按照招标文件要求编制。
  5. 标题名称根据招标文件大纲标题编制要求确定,商务标、技术标负责人提前沟通确定下标题编号、标题名称顺序。
  6. 招标文件有明确要求大纲标题内容和顺序的,要严格按照招标文件要求编制。
  7. 技术内容评分响应点建议不要写到太深的标题里,尽量写在一至四级标题中,便于在目录里显示。
  8. 文档内部交叉引用须使用软件“交叉引用”功能,合稿后须更新域。
  9. 商务标、技术标务必使用此模板创建文档编写(直接双击模板打开后另存文档即可)。设置标题的时候,首先把光标放在要设置成标题的文字处,然后在“开始”菜单栏的样式列表里选择合适的标题样式(1级标题、2级标题……)即可,务必不能更改已有的标题样式。

相关文章:

Ubuntu 22.04安装部署

一、部署环境 表 1‑1 环境服务版本号系统Ubuntu22.04 server lts运行环境1JDK1.8前端WEBNginx1.8数据库postgresqlpostgresql13postgis3.1pgrouting3.1消息队列rabbitmq3.X(3.0以上)运行环境2erlang23.3.3.1 二、安装系统 2.1安装 1.安装方式,选第一条。 2.选择…...

KINGBASE部署

环境:x86_64 系统:centos7.9 数据库–版本:KingbaseES_V008R006C008B0014_Lin64_install 授权文件–版本:V008R006-license-企业版-90天 一 前置要求 1.1. 硬件环境要求 KingbaseES支持通用X86_64、龙芯、飞腾、鲲鹏等国产C…...

探索 ONLYOFFICE:开源办公套件的魅力

文章目录 引言一、ONLYOFFICE 产品介绍与历史1.1 ONLUOFFICE 介绍1.2 ONLYOFFICE发展历史 二、ONLYOFFICE 的核心功能2.1 文档处理2.2 演示文稿 三、ONLYOFFICE 部署与安装四、ONLYOFFICE 产品优势和挑战五、ONLYOFFICE 案例分析六、ONLYOFFICE 的未来发展七、全文总结 引言 在…...

如何保护网站安全

1. 使用 Web 应用防火墙(WAF) 功能:WAF 可以实时检测和阻止 SQL 注入、跨站脚本(XSS)、文件包含等常见攻击。它通过分析 HTTP 流量来过滤恶意请求。 推荐:可以使用像 雷池社区版这样的 WAF,它提…...

抖音矩阵系统开发的技术框架解析,支持OEM

一、引言 随着短视频平台的兴起,抖音已成为全球范围内极具影响力的社交娱乐应用。对于企业和创作者而言,构建抖音矩阵系统可以实现多账号管理、内容分发与优化、数据分析等功能,从而提升品牌影响力和内容传播效果。本文将详细探讨抖音矩阵系统…...

python偏相关分析

偏相关分析含义 偏相关分析是一种用于测量两个变量之间关系的统计方法,它可以控制(排除)其他变量的影响。与简单的相关分析不同,偏相关分析可以帮助我们了解在控制某些干扰因素后,两个变量之间的“净”关系。比如&…...

低代码用户中心:简化开发,提升效率的新时代

随着数字化转型的加速,企业对于快速交付高质量应用的需求日益增长。在这个背景下,低代码开发平台应运而生,成为越来越多企业和开发者的首选工具。今天,我们将聚焦于低代码用户中心,探讨其如何帮助开发者简化流程、提升…...

ThingsBoard规则链节点:Math Function节点详解

引言 1. Math Function 节点简介 2. 节点配置 2.1 基本配置示例 3. 使用场景 3.1 数据预处理 3.2 阈值判断 3.3 复杂计算 3.4 动态阈值 4. 实际项目中的应用 4.1 项目背景 4.2 项目需求 4.3 实现步骤 5. 总结 引言 ThingsBoard 是一个开源的物联网平台&#xff0c…...

echarts地图,柱状图,折线图实战

1.地图 <template><div style"height: 100%;" class"cantainerBox"><div class"top"><div class"leftTop"><span class"firstSpan">推广进度</span><div>省份选择&#xff1a;&l…...

客服宝快捷回复软件:客服工作的得力助手

在从事客服工作的这段漫长时间里&#xff0c;响应率和满意度一直是我最为头疼的绩效指标。这两个指标就如同两座大山&#xff0c;压得我时常喘不过气来。 然而&#xff0c;幸运的是&#xff0c;最近我安装了客服宝这个快捷回复软件&#xff0c;这一举措如同为我打开了一扇新的…...

laravel: Breeze 和 Blade, 登录 注册等

composer require laravel/breeze --dev php artisan breeze:install php artisan migrate npm install npm run build php artisan route:clear http://laravel-dev.cn/ http://laravel-dev.cn/register http://laravel-dev.cn/login...

RocketMQ 消息消费失败的处理机制

在分布式消息系统中&#xff0c;处理消费失败的消息是非常关键的一环。 RocketMQ 提供了一套完整的消息消费失败处理机制&#xff0c;下面我将简要介绍一下其处理逻辑。 截图代码版本&#xff1a;4.9.8 步骤1 当消息消费失败时&#xff0c;RocketMQ会发送一个code为36的请求到…...

三、Java并发 Java 线程池 ( Thread Pool )

一、前言 本文我们将讲解 Java 中的线程池 ( Thread Pool )&#xff0c;从 Java 标准库中的线程池的不同实现开始&#xff0c;到 Google 开发的 Guava 库的前世今生 注&#xff1a;本章节涉及到很多前几个章节中阐述的知识点。我们希望你是按照顺序阅读下来的&#xff0c;不然…...

zabbix安装配置与使用

zabbix Zabbix的工作原理如下: 监控部分: Zabbix Agent安装在各个需要监控的主机上,它以主配置的时间间隔(默认60s)收集主机各项指标数据,如CPU占用率、内存使用情况等。 通讯部分: Agent会把收集的数据通过安全通道(默认10051端口)发送到Zabbix Server。Server会存储这些数…...

第3关:命题逻辑推理

任务描述 相关知识 实验用例 实验原理和方法 编程要求 测试说明 任务描述 本关任务&#xff1a;用命题逻辑推理的方法解决逻辑推理问题。加深对命题逻辑推理方法的理解。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.命题符号化&#xff0c;2.命题推理。 …...

第三份代码:VoxelNet的pytorch实现

VoxelNet是点云体素化处理的最开始的网络结构设计&#xff0c;通过完全弄明白整个VoxelNet的pytorch实现是非常有必要的。 参考的代码是这一份&#xff1a;GitHub - RPFey/voxelnet_pytorch: modification of voxelnet 参考文章&#xff1a;VoxelNet论文解读和代码解析_voxel…...

Backtrader-Broker05

本系列是使用Backtrader在量化领域的学习与实践&#xff0c;着重介绍Backtrader的使用。Backtrader 中几个核心组件&#xff1a; Cerebro&#xff1a;BackTrader的基石&#xff0c;所有的操作都是基于Cerebro的。Feed&#xff1a;将运行策略所需的基础数据加载到Cerebro中&…...

分布式和微服务系统区别

一、分布式是更广泛的概念&#xff0c;指将计算分布在多个物理节点上的系统。 适用于需要高可用性、高性能、可扩展性的系统。 应用场景&#xff1a;分布式数据库—数据高可用存储、分布式缓存—提升数据访问速度 分布式计算框架—大规模数据计算、分布式文件系统—海量数据的…...

ElementUI el-table 多选以及点击某一行的任意位置就勾选上

1. 需求 在el-table中&#xff0c;需要实现多选功能&#xff0c;并且点击某一行的任意位置就勾选上&#xff0c;而不是点击复选框才勾选上。 2. 实现思路 在el-table中添加ref属性&#xff0c;用于获取表格实例。在el-table-column中添加type"selection"属性&…...

博物馆3D数字化的优势有哪些?

博物馆的3D数字化进程正不断向前推进&#xff0c;这一创新技术在提升观展体验、促进文化传播以及加强文物保护方面&#xff0c;均展现出了显著的优势。 一、观展体验的革命性提升 1、动态与多角度展示&#xff1a; 3D云展览利用先进的数字化技术&#xff0c;使文物能够以动态…...

Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--YOLOV5工程编译移植到开发板测试--(5)

专栏链接如下&#xff1a; Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装Ubuntu18.04--&#xff08;1&#xff09; Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装开发环境AMCT、依赖包等--&#xff08;2&#xff09;…...

springboot揭秘00-基于java配置的spring容器

文章目录 【README】【1】基本概念&#xff1a;Configuration与Bean【2】使用AnnotationConfigApplicationContext实例化spring容器【2.1】使用java配置简单构建spring容器【2.1.1】AnnotationConfigApplicationContext与Component及JSR-330注解类一起使用 【2.2】使用register…...

docker配置mysql

手动拉取 MySQL 镜像 docker pull mysql 创建并运行 MySQL 容器&#xff08;docker run&#xff09; docker run -d \--name mysql \-p 3306:3306 \-e TZAsia/shanghai \-e MYSQL_ROOT_PASSWORD123 \mysql -d&#xff1a;以守护进程&#xff08;daemon&#xff09;模式运行…...

说说Dubbo有哪些核心组件?

说说Dubbo有哪些核心组件&#xff1f; 简单来说&#xff0c;就是服务提供者Provider&#xff0c;服务消费者Consumer&#xff0c;服务注册中心Registry&#xff0c;服务监控器Monitor&#xff0c;通信协议Protocol Dubbo 是一款高性能、轻量级的开源 Java RPC 框架&#xff0…...

视频文件损坏无法播放怎么办?有什么办法可以修复视频吗?

人人都是自媒体的时代&#xff0c;我们已不再满足单纯的图片及声音传播&#xff0c;拍摄短视频的需求日渐增高。但随之也带来了许多问题&#xff0c;比如&#xff1a;拍摄的视频在保存或转移拷贝过程出现问题导致视频文件损坏无法播放。遇到这种情况时怎么办&#xff1f;有什么…...

flutter ios ffi 调试 .a文件 debug可以 release 不行

在 Flutter 中使用 FFI&#xff08;Foreign Function Interface&#xff09;时&#xff0c;如果你在调试模式下能够正常工作&#xff0c;而在发布模式下却遇到问题&#xff0c;使用Object-c原生调用可以使用&#xff0c;开启去掉优化也可以&#xff0c;可能的原因在发布模式下&…...

ADB指定进程名称kill进程

adb shell ps | grep <process_name> | awk {print $2} | xargs adb shell killadb shell ps&#xff1a;列出所有正在运行的进程。grep <process_name>&#xff1a;筛选出包含指定进程名称的行。awk ‘{print $2}’&#xff1a;提取输出中的第二列&#xff08;通常…...

巨好看的登录注册界面源码

展示效果 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"widthdevic…...

Python 数据结构

1.概念 数据结构是计算机科学中的一个核心概念&#xff0c;它是指数据的组织、管理和存储方式&#xff0c;以及数据元素之间的关系。数据结构通常用于允许高效的数据插入、删除和搜索操作。 数据结构大致分为几大类&#xff1a; 线性结构&#xff1a;数组、链表、栈、队列等…...

计算机网络八股文个人总结

1.TCP/IP模型和OSI模型的区别 在计算机网络中&#xff0c;TCP/IP 模型和 OSI 模型是两个重要的网络协议模型。它们帮助我们理解计算机通信的工作原理。以下是它们的主要区别&#xff0c;以通俗易懂的方式进行解释&#xff1a; 1. 模型层数 OSI 模型&#xff1a;有 7 层&#…...