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

linux-软件的安装与部署、web应用部署到阿里云

一、软件安装方式概述

CentOS安装软件的方式主要包括:

- 源码安装
- rpm安装(二进制安装)
- yum安装(在线安装)

1.源码安装:

源码包是指C等语言所开发的源代码文件的一个压缩包,通常压缩为.tar.gz或.tar.bz2。源码通常需要编译器将其编译成二进制文件,如gcc编译器。
优点:
(1)开源,有能力者可以修改源代码;特别是要对某个软件,从头开发时,就特别需要对源码进行解读分析。
(2)可自由选择所需功能;
(3)卸载方便,直接删除目录即可。
(4)对于学习者而言,源码安装更有利于学习者发现软件环境和工具之间所依赖的关系。
缺点:
(1)安装麻烦,需要自行解决工具之间的依赖关系。
(2)某些软件编译过程耗费的时间较长,我曾发生过编译两三天的情况。尤其是在不合适的硬件上,安装大型软件时,最容易折磨人,甚至要考虑系统与硬件的兼容性、配置等问题,系统本身有缺陷,那就更要命了,有时需先修补系统bug【主要是功能不齐全,残缺情况居多】
(3)大型软件编译,对新手来说较为麻烦,所报错误往往超过所能解决的范围,排错过程有可能会把系统给搞崩溃。

2.rpm安装:

RPM包:由Red Hat公司开发的包管理系统,软件的安装、升级、卸载都非常简单和方便。目前很多Linux发行版都在使用这种包管理机制,包括CentOS、Redhat、Fedora等。软件包文件后缀是".rpm"。

DPKG包:由Debian Linux开发出来的包管理机制,主要应用在Debian和Unbuntu系统中。软件包文件后缀是".deb"。

优点:

(1)包安装与管理简单,往往仅通过几个命令即可实现包的安装、升级、查询和卸载。

(2)通常安装速度要比源码安装快很多;

缺点:

(1)二进制文件,看不到源码了,修改和分析源码已不太可能。

(2)模块功能已经被定制,用户功能选择远不如源码灵活;

(3)有时也需要解决依赖性的问题,此时解决依赖性有一定的困难。

3.yum安装:

yum软件仓库是为了进一步简化RPM管理软件的难度以及自动分析所需软件包及其依赖关系的技术。

yum的关键之处是要有可靠的respository(保证能够连接互联网,还需要保证它是一个互联网上正常可用的仓库)。

它能够从指定服务器自动下载rpm包并安装。yum能够自动解决软件依赖性问题,一次性安装所有依赖的软件包。

4.yum安装与卸载的相关命令

安装命令:yum -y  install  软件名
升级命令:yum -y  install  软件名
升级所有软件:yum -y  install
卸载命令:yum  remove  软件名
列出可安装的软件包:yum list
列出已安装的软件包:yum list installed
查询某个软件包:yum  list  软件名
根据关键字搜索软件包:yum search  Keyword
清除缓存:yum clean all

二、JDK的安装与配置

1.从yum仓库中搜索jdk:yum search jdk

2.安装jdk:

yum -y install java-17-openjdk-devel.x86_64

3.看看jdk的安装目录:

  • which java

  • ls -l /usr/bin/java

  • ls -l /etc/alternatives/java

4.centos当中配置环境变量,在/etc/profile文件中配置环境变量:

注意:windows操作系统当中使用 ;进行分割路径

linux操作系统当中,环境变量路径和路径之间采用 :分割

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.14.0.7-2.el9.x86_64export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

windows当中取环境变量  JAVA_HOME=xxxxx           %JAVA_HOME%

linux当中$JAVA_HOME

注意:上面版本没对上,写错了,记得要改

5.生效:source /etc/profile

三、Tomcat服务器的安装与配置

1.Tomcat是Java语言实现的,因此使用Tomcat服务器的前提是:已经安装并配置了Java环境。

2.下载Tomcat

  • 官网:Apache Tomcat® - Welcome!

  • 下载tomcat10

3.使用FTP工具将以上压缩包上传到CentOS。

4.解压到当前目录下

5.第三方软件一般存放在/usr/local目录下,使用mv命令tomcat移动到该目录下

6.为了方便配置环境变量,将目录名重命名

现在Tomcat服务器的根路径是:/usr/local/tomcat10

7.配置环境变量

让环境变量生效:

8.启动Tomcat

9.查看服务器IP地址

10.关闭防火墙

11.打开windows上的浏览器,输入地址访问

12.关闭tomcat服务器

服务器关闭之后,重新打开一个全新的浏览器,再次输入访问地址,会发现无法访问了。

四、 MySQL的安装与配置

1.MySQL8的安装

以下是在CentOS Stream系统上安装MySQL8的步骤:

更新系统软件包

使用以下命令更新CentOS Stream系统上的软件包:

dnf update

安装MySQL8需要更新系统上的软件包是因为MySQL8需要使用一些较新的依赖库和工具,而CentOS Stream默认的软件包版本可能较旧,无法满足MySQL8的要求。更新系统上的软件包可以确保系统中的依赖库和工具版本与MySQL8的要求相匹配,从而保证MySQL8的正常运行。

dnf和yum都是CentOS中的包管理器,它们的作用是安装、升级、删除软件包以及解决软件包依赖关系。它们的区别如下:

-  语法不同:dnf命令的语法更加简洁,而yum命令的语法相对较长。 
-  性能不同:dnf命令在处理软件包时的性能比yum命令更好,因为dnf使用了更高效的算法。 
-  依赖关系处理不同:dnf命令在处理软件包依赖关系时更加智能,能够自动选择最佳的依赖关系解决方案。 
-  使用的库不同:dnf命令使用了更加现代化的libdnf库,而yum命令使用了较老的yum库。 
-  可用插件不同:dnf命令支持更多的插件,可以实现更多的功能。 

总的来说,dnf命令是yum命令的升级版本,它在性能、依赖关系处理和可用插件等方面都更加优秀。

⑴. 添加MySQL Yum存储库

使用以下命令将MySQL Yum存储库添加到系统中:

dnf install https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm

MySQL Yum存储库怎么获取?如下图所示:从mysql官网获取







⑵.导入mysql公钥

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

⑶.安装MySQL 8

dnf install mysql-community-server

⑷.启动MySQL服务

systemctl start mysqld

⑸.设置MySQL开机自启

systemctl enable mysqld

⑹.查看root账户的临时密码

grep 'temporary password' /var/log/mysqld.log

⑺.配置MySQL安全设置

mysql_secure_installation

按照提示输入密码并回答问题,完成安全设置。

⑻. 登录MySQL

mysql -u root -p

完成以上步骤后,您就可以在CentOS Stream系统上安装并使用MySQL 8了。

2.MySQL8设置字符集

⑴.查看MySQL8字符集

在MySQL命令行界面中输入以下命令:

show variables like '%character%';

2.如果字符集不是utf8,可以在/etc/my.cnf文件中进行配置,在[mysqld]下面添加如下配置:/etc/my.cnf是mysql的配置文件。

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

保存并退出。

3. 重启MySQL服务

在终端中输入以下命令:

systemctl restart mysqld

4.再次查看MySQL8的字符集是否为utf8

3.在MySQL8中为Java程序员创建专属的MySQL用户

首先,以root用户身份登录MySQL:

mysql -u root -p

创建一个新的数据库,例如项目是oa项目,一般创建一个数据库叫做oa:

create database oa;

然后,创建一个新用户并设置密码:

CREATE USER 'java_dev'@'%' IDENTIFIED BY 'java_DEV123';

用户名:java_dev

密码:java_DEV123

 CREATE USER

  • 作用:创建一个新的数据库用户。
  • 注意:执行此命令需要管理员权限(如root用户)。

'java_dev'@'%'

  • 用户名java_dev(用于应用程序连接数据库的身份标识)。
  • 主机限制@'%' 中的 % 是通配符,表示该用户可以从任何 IP 地址或主机连接到数据库。
    • 若改为 'java_dev'@'localhost',则该用户只能从本地连接。
    • 若改为 'java_dev'@'192.168.1.%',则限制为特定网段的 IP 可连接。

IDENTIFIED BY 'java_DEV123'

  • 密码java_DEV123(区分大小写)。
  • 密码策略:需符合数据库的密码复杂度要求(如长度、字符类型等)。

接下来,为该用户授予开发者专有的权限:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, REFERENCES ON oa.* TO 'java_dev'@'%';

接下来,刷新权限:

FLUSH PRIVILEGES;

最后,关闭centos的防火墙:

systemctl stop firewalld

现在,Java程序员可以使用用户名和密码连接到MySQL并拥有开发者专有的权限。

五、 WEB应用的部署

在进行以下的web应用部署时,请确保以上的JDK17、Tomcat10、MySQL8已经安装成功。

1. 初始化数据库

   1. 这里使用navicat for mysql工具。

   2. 先在navicat for mysql工具中创建连接。

   3. 如果项目名叫做oa,那么创建一个数据库oa。

   4. 执行sql脚本文件(oa.sql)完成数据初始化。


2. 将项目中连接数据库的信息进行修改,例如:url、username、password等信息。

3.在IDEA当中,使用maven将项目以war的形式打包。

4.将war包上传到Tomcat的webapps目录下。

5.启动Tomcat服务器,war包自动解压。war解压之后的目录就是web应用。

6.打开浏览器,输入访问地址访问。

7.实时查看Tomcat服务器后台日志

切换到CATALINA_HOME/logs目录下,执行以下命令,可以实时查看tomcat服务器日志

tail -f catalina.out

六、将WEB应用部署到阿里云

1.购买阿里云服务器

注册阿里云账号

购买阿里云服务器

阿里云首页

新用户可以免费试用

使用xshell/xftp连接阿里云服务器

默认情况下阿里云服务器的“密码认证”是没有开启的。需要通过修改相关配置,来开启“密码认证”。
在阿里云服务器实例中找到如下图的VNC连接:

然后输入用户名root和密码。登录成功之后找到该文件:/etc/ssh/sshd_config
使用vim编辑sshd_config文件中的“passwordAuthcation”,将no修改为yes。
重启sshd服务:service sshd restart
此时采用xshell/xftp就可以使用密码的方式连接阿里云服务器了。

2.使用宝塔面板安装软件及部署项目

在centos操作系统上安装宝塔面板(这个安装脚本可以在宝塔面板官网获取):

yum install -y wget && wget -O install.sh 
https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

宝塔面板安装成功后,会有如下信息:

外网面板地址: https://39.105.26.215:10710/718e1e35
内网面板地址: https://172.25.179.225:10710/718e1e35
username: uck3itew
password: 3268d738

通过以上宝塔面板地址得知使用的端口是10710,所以需要在阿里云服务器上开放该端口(配置安全组):

访问宝塔面板:

输入用户名和密码登录宝塔面板:

注册宝塔账号并绑定:

宝塔Linux面板的左侧菜单中找:软件商店
搜索tomcat,安装tomcat9,会自动关联安装JDK8。

JDK8也有了:

注意:阿里云服务器有两个防火墙,一个是阿里云服务器自带的防火墙,在安全组中进行放行设置。

阿里云服务器中安装的centos操作系统也会有一个防火墙,要访问tomcat服务器的话,centos操作系统中的防火墙也要放行8080端口:这个需要在宝塔中进行配置,如下:

这样tomcat服务器就可以访问了:

mysql数据库的3306端口同样需要在宝塔中放行。这样mysql数据库才可以连接:

连接mysql数据库,报错信息如下:

root账户只能在阿里云电脑上使用

解决办法:
第一步:root身份登录mysql
第二步:use mysql;


第三步:update user set host='%' where user='root';
第四部:flush privileges;

初始化数据库:将提前准备好的oa.sql文件初始化到数据库当中。表emp表。确保表中有数据。



要修改一下,重新打包

将war包放到tomcat服务器的webapps目录下,启动tomcat服务器之后war包自动解压。

启动tomcat服务器,在浏览器上访问:

写程序用的版本与在阿里云服务器上的版本不一致

要么代码版本改小,要么用tomcat10

相关文章:

linux-软件的安装与部署、web应用部署到阿里云

一、软件安装方式概述 CentOS安装软件的方式主要包括: - 源码安装 - rpm安装(二进制安装) - yum安装(在线安装) 1.源码安装: 源码包是指C等语言所开发的源代码文件的一个压缩包,通常压缩为.…...

Qt Widgets模块功能详细说明,基本控件:QLabel(一)

一、基本控件(Widgets) Qt 提供了丰富的基本控件,如按钮、标签、文本框、复选框、单选按钮、列表框、组合框、菜单、工具栏等。 1、QLabel 1.1、概述 (用途、继承关系) QLabel 是 Qt 框架中用于显示文本、图像或动画的控件,属…...

Ubuntu 安装 squid

1. 安装Squid及工具 Debian/Ubuntu sudo apt update sudo apt install squid apache2-utils CentOS/RHEL sudo yum install squid httpd-tools 2. 创建用户名密码文件 创建密码文件(首次使用 -c 参数,后续添加用户省略) sudo htpasswd…...

中药药效成分群的合成生物学研究进展-文献精读130

Advances in synthetic biology for producing potent pharmaceutical ingredients of traditional Chinese medicine 中药药效成分群的合成生物学研究进展 摘要 中药是中华民族的文化瑰宝,也是我国在新药创制领域的重要驱动力。许多中药材来源于稀缺物种&#xf…...

芯片生态链深度解析(三):芯片设计篇——数字文明的造物主战争

【开篇:设计——数字文明的“造物主战场”】 当英伟达的H100芯片以576TB/s显存带宽重构AI算力边界,当阿里平头哥倚天710以RISC-V架构实现性能对标ARM的突破,这场围绕芯片设计的全球竞赛早已超越技术本身,成为算法、架构与生态标准…...

Echart地图数据源获取

DataV.GeoAtlas地理小工具系列 选择需要的区域地图,选中后输出即可: 地图钻取代码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>map</title><style>html, body, #map{margin: 0;…...

【C++ - 仿mudou库one thread one loop式高并发服务器实现】

文章目录 项目介绍项目模块和服务器主要设计模式项目主要流程前置知识1.bind函数2.定时器任务TimerTask和时间轮思想TimerWheel3.正则表达式4.通用型容器Any类 服务器设计模式1&#xff09;单Reactor单线程模式2&#xff09;单Reactor多线程模式3&#xff09;多Reactor多线程模…...

本地缓存更新方案探索

文章目录 本地缓存更新方案探索1 背景2 方案探索2.1 初始化2.2 实时更新2.2.1 长轮询2.2.1.1 client2.2.2.2 server 本地缓存更新方案探索 1 背景 大家在工作中是否遇到过某些业务数据需要频繁使用&#xff0c;但是数据量不大的情况&#xff0c;一般就是几十条甚至几百条这种…...

Java—异常体系

Java的异常体系是Java语言中用于处理程序运行过程中可能出现的错误的机制。通过异常处理&#xff0c;程序可以在遇到问题时自动反馈&#xff0c;从而避免程序崩溃。Java异常体系中包含两大类&#xff1a;错误(Error)和异常(Exception)。 一、错误&#xff08;Error&#xff09…...

深度学习(第3章——亚像素卷积和可形变卷积)

前言&#xff1a; 本章介绍了计算机识别超分领域和目标检测领域中常常使用的两种卷积变体&#xff0c;亚像素卷积&#xff08;Subpixel Convolution&#xff09;和可形变卷积&#xff08;Deformable Convolution&#xff09;&#xff0c;并给出对应pytorch的使用。 亚像素卷积…...

5.15 学习日志

1.SST&#xff08;总平方和&#xff09;、SSR&#xff08;回归平方和&#xff09;、SSE&#xff08;残差平方和&#xff09;之间的关系。 在使用线性回归模型时&#xff0c;经常提到的统计量MSE&#xff08;Mean Squared Error、均方误差&#xff09;&#xff1a;是 SSE 的平均…...

重排序模型解读:gte-multilingual-reranker-base 首个GTE系列重排模型诞生

模型介绍 gte-multilingual-reranker-base 模型是 GTE 模型系列中的第一个 reranker 模型&#xff0c;由阿里巴巴团队开发。 模型特征&#xff1a; Model Size: 306MMax Input Tokens: 8192 benchmark 关键属性&#xff1a; 高性能&#xff1a;与类似大小的 reranker 模型…...

计算机发展的历程

计算机系统的概述 一, 计算机系统的定义 计算机系统的概念 计算机系统 硬件 软件 硬件的概念 计算机的实体, 如主机, 外设等 计算机系统的物理基础 决定了计算机系统的天花板瓶颈 软件的概念 由具有各类特殊功能的程序组成 决定了把硬件的性能发挥到什么程度 软件的分类…...

【通用智能体】Search Tools:Open Deep Research 项目实战指南

Open Deep Research 项目实战指南 一、项目运行方式&#xff08;一&#xff09;运行环境要求&#xff08;二&#xff09;运行方式&#xff08;三&#xff09;传统本地运行&#xff08;四&#xff09;Docker 容器运行 二、操作步骤&#xff08;一&#xff09;使用搜索功能&#…...

nodejs 文件的复制

在 Node.js 中&#xff0c;文件复制操作可以通过多种方式实现&#xff0c;具体取决于文件大小、性能需求以及是否需要保留文件元数据&#xff08;如权限、时间戳等&#xff09;。以下是几种常见的文件复制方法及其示例代码&#xff1a; 1. 使用 fs.copyFile&#xff08;简单高…...

GO语言学习(三)

GO语言学习&#xff08;三&#xff09; GO语言的独特接口可以实现内容和面向对象组织的更加方便&#xff0c;我们从这里来详细的讲解接口&#xff0c;让大家感受一下interface的魅力 interface定义 首先接口是一组方法签名的组合&#xff0c;我们通过接口来实现定义对象的一…...

高频面试题(含笔试高频算法整理)基本总结回顾61

干货分享&#xff0c;感谢您的阅读&#xff01; &#xff08;暂存篇---后续会删除&#xff0c;完整版和持续更新见高频面试题基本总结回顾&#xff08;含笔试高频算法整理&#xff09;&#xff09; 备注&#xff1a;引用请标注出处&#xff0c;同时存在的问题请在相关博客留言…...

C++:C++内存管理

C 内存分区 C 内存分为 5 个主要区域&#xff1a; 栈 (Stack)&#xff1a;存储局部变量、函数参数和返回地址。由编译器自动分配和释放&#xff0c;效率高但空间有限。 堆 (Heap)&#xff1a;动态分配的内存区域&#xff0c;需手动管理&#xff08;new/delete 或 malloc/free…...

目标跟踪相关综述文章

文章年份会议/引用量IFObject tracking:A survery20067618Object Tracking Methods:A Review2019554Multiple object tracking: A literature review20201294Deep learning for multiple object tracking: a survey2019145Deep Learning for Visual Tracking:A Comprehensive S…...

JavaScript【6】事件

1.概述&#xff1a; 在 JavaScript 中&#xff0c;事件&#xff08;Event&#xff09;是浏览器或 DOM&#xff08;文档对象模型&#xff09;与 JavaScript 代码之间交互的一种机制。它代表了在浏览器环境中发生的特定行为或者动作&#xff0c;比如用户点击鼠标、敲击键盘、页面…...

Python训练打卡Day26

函数专题1&#xff1a;函数定义与参数 知识点回顾&#xff1a; 函数的定义变量作用域&#xff1a;局部变量和全局变量函数的参数类型&#xff1a;位置参数、默认参数、不定参数传递参数的手段&#xff1a;关键词参数传递参数的顺序&#xff1a;同时出现三种参数类型时 到目前为…...

通俗版解释CPU、核心、进程、线程、协程的定义及关系

通俗版解释&#xff08;比喻法&#xff09; 1. CPU 和核心 CPU 一个工厂&#xff08;负责干活的总部&#xff09;。核心 工厂里的车间&#xff08;比如工厂有4个车间&#xff0c;就能同时处理4个任务&#xff09;。 2. 进程 进程 一家独立运营的公司&#xff08;比如一家…...

微积分基本规则及示例解析

微积分中的基本规则是构成微积分理论和应用的基石。以下是一些微积分中的基本规则&#xff0c;我将用简单的例子来解释它们&#xff0c;以便小学生也能理解。 1. **极限规则**&#xff1a; - 常数的极限&#xff1a;\(\lim_{x \to a} c c\) - 例如&#xff0c;\(\lim…...

Baklib知识中台构建企业智能服务新引擎

知识中台构建智能服务新范式 随着企业数字化转型进入深水区&#xff0c;传统知识管理模式的局限性日益显现——分散的文档系统、低效的信息检索以及割裂的业务场景&#xff0c;严重制约着组织效能的释放。在此背景下&#xff0c;Baklib提出的知识中台解决方案&#xff0c;通过…...

Python实例题:Python百行制作登陆系统

目录 Python实例题 题目 python-login-systemPython 百行登录系统脚本 代码解释 用户数据库&#xff1a; 注册功能&#xff1a; 登录功能&#xff1a; 主程序&#xff1a; 运行思路 注意事项 Python实例题 题目 Python百行制作登陆系统 python-login-systemPython…...

Java求职面试:从核心技术到大数据与AI的场景应用

面试场景&#xff1a; 在某互联网大厂的面试间&#xff0c;一位严肃的面试官正准备对面前的求职者谢飞机进行技术面试。谢飞机虽然有些紧张&#xff0c;但他相信凭借自己的机智和幽默能够顺利通过。 第一轮提问&#xff1a;核心语言与平台的基础问题 面试官&#xff1a;“谢…...

系统架构设计(六):面向对象设计

核心概念 概念含义说明对象&#xff08;Object&#xff09;现实世界事物的抽象表示&#xff0c;包含属性&#xff08;状态&#xff09;和方法&#xff08;行为&#xff09;类&#xff08;Class&#xff09;一类对象的抽象模板继承&#xff08;Inheritance&#xff09;子类继承…...

国内AWS CloudFront与S3私有桶集成指南:安全访问静态内容

在现代web应用架构中,将静态内容存储在Amazon S3中并通过CloudFront分发是一种常见且高效的做法。本指南将详细介绍如何创建私有S3桶,配置CloudFront分配,并使用Origin Access Identity (OAI)来确保安全访问。 步骤1:创建S3桶 首先,我们需要创建一个名为"b-static&…...

MATLAB进行深度学习网络训练

文章目录 前言环境配置一、环境部署二、数据准备三、训练配置与执行四、模型评估与优化五、高级技巧六、实战案例&#xff1a;COVID-19 肺部 CT 图像分类 前言 在 MATLAB 中进行深度学习网络训练主要分为数据准备、网络构建、训练配置和模型评估四个核心步骤。以下是详细教程&…...

jvm安全点(三)openjdk17 c++源码垃圾回收之安全点结束,唤醒线程

1. VMThread::inner_execute() - 触发安全点​​ cpp 复制 void VMThread::inner_execute(VM_Operation* op) { if (op->evaluate_at_safepoint()) { SafepointSynchronize::begin(); // 进入安全点&#xff0c;阻塞所有线程 // ...执行GC等操作... SafepointSynchronize::…...

局部放大maya的视图HUD文字大小的方法

一、问题描述&#xff1a; 有网友问&#xff1a;有办法局部放大maya的字体吗比如hud中currenttime打开之后画面右下角有个frame 想放大一下能做到吗&#xff1f; 在 Maya 中&#xff0c;可以通过自定义 HUD&#xff08;Heads-Up Display&#xff09;元素的字体大小来局部放大特…...

Vue.js 教学第三章:模板语法精讲,插值与 v-bind 指令

Vue.js 模板语法精讲:插值与 v-bind 指令 在 Vue.js 开发中,模板语法是构建动态用户界面的核心。本文将深入讲解两大基础模板语法:插值({{ }})和 v-bind 指令,通过大量实例帮助你掌握这些关键概念。 一、插值语法:双花括号的魔法 1.1 基础文本插值 双花括号是最简单的…...

系统架构设计师案例分析题——软件架构设计篇

重中之重&#xff0c;本题争取拿下25满分~ 目录 一.核心知识 1.什么是架构风格 2.RUP的9个核心工作流 3.企业应用集成方式 4.软件质量属性 5.SySML系统建模语言9种图 6.云计算架构 7.中间件 8.构件、连接件、软件重用 9.层次型架构的缺点 10.架构开发方法ADM 11.微…...

系统架构设计(十一):架构风格总结2

架构风格汇总 架构风格核心特点应用场景分层架构&#xff08;Layered&#xff09;将系统划分为多个层次&#xff0c;每层只依赖于下一层企业应用、MIS 系统、三层架构客户端-服务器&#xff08;C/S&#xff09;分为服务端与客户端&#xff0c;服务集中&#xff0c;客户端请求数…...

泛微对接金蝶云星空实战案例技术分享

前言 在企业信息化建设中&#xff0c;OA系统与ERP系统对接往往是一个复杂而关键的环节。OA系统通常具有高度的自定义性&#xff0c;其基础资料和单据可能与ERP系统存在字段不一致等问题。同时&#xff0c;OA系统涉及审批流程及流程发起方定义&#xff0c;增加了对接的复杂性。…...

Predict Podcast Listening Time-(回归+特征工程+xgb)

Predict Podcast Listening Time 题意&#xff1a; 给你没个播客的信息&#xff0c;让你预测观众的聆听时间。 数据处理&#xff1a; 1.构造新特征收听效率进行分组 2.对数据异常处理 3.对时间情绪等进行数值编码 4.求某特征值求多项式特征 5.生成特征组合 6.交叉验证并enc…...

Java并发编程的挑战:从理论到实战

在现代软件开发中,随着多核处理器的普及和系统性能要求的提高,并发编程已经成为Java开发者必须掌握的核心技能之一。然而,Java并发编程不仅仅是“创建多个线程”那么简单,它涉及到线程安全、资源竞争、死锁、通信机制、性能优化等多个复杂问题。 本文将围绕Java并发编程中…...

大麦(Hordeum vulgare)中 BAHD 超家族酰基转移酶-文献精读129

Systematic identification and expression profiles of the BAHD superfamily acyltransferases in barley (Hordeum vulgare) 系统鉴定与大麦&#xff08;Hordeum vulgare&#xff09;中 BAHD 超家族酰基转移酶的表达谱分析 摘要 BAHD 超家族酰基转移酶在植物中催化和调控次…...

信任的进阶:LEI与vLEI协同推进跨境支付体系变革

在全球经济版图加速重构的背景下&#xff0c;跨境支付体系正经历着前所未有的变革。2022年全球跨境支付规模突破150万亿美元&#xff0c;但平均交易成本仍高达6.04%&#xff0c;支付延迟超过2.7天。 这种低效率背后&#xff0c;隐藏着复杂的身份识别困境&#xff1a;超过40%的…...

当语言模型学会犯错和改正:搜索流(SoS)方法解析

引言 语言模型的能力日新月异&#xff0c;但它们在执行复杂规划任务时仍面临着明显的局限。这是因为大多数训练数据只展示了最终的"正确答案"&#xff0c;而非解决问题的完整过程。想象一下&#xff0c;如果我们只能看到数学题的最终答案&#xff0c;而从不知道解题…...

Centos7.9同步外网yum源至内网

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum makecache yum repolist安装软件 yum install -y yum-utils createrepo # yum-utils包含re…...

OTA与boot loader

OTA指的是无线升级&#xff0c;通常用于更新设备的固件或软件&#xff0c;用户不用手动操作&#xff0c;非常方便。而bootloader是启动时加载操作系统的程序&#xff0c;负责硬件初始化和启动流程。 首先&#xff0c;OTA是如何通过bootloader工作的。OTA下载更新包后&#xff0…...

【目标检测】【Transformer】Swin Transformer

Swin Transformer&#xff1a; Hierarchical Vision Transformer using Shifted Windows Swin Transformer&#xff1a;基于移位窗口的分层视觉Transformer CVPR 2021 0.论文摘要 本文提出了一种新型视觉Transformer——Swin Transformer&#xff0c;其可作为计算机视觉领域的…...

Class类的详细说明

Class类的详细说明 Class 类是Java反射机制的核心&#xff0c;每个Java类或接口在JVM中都有一个对应的 Class 对象&#xff0c;用于表示该类的元数据&#xff08;如类名、方法、字段、构造器等&#xff09;。以下是其核心知识点&#xff1a; 1. 获取Class对象的三种方式 方式…...

电商项目-品牌管理微服务开发

一、功能分析 品牌管理微服务包括&#xff1a; &#xff08;1&#xff09;查询全部列表数据 &#xff08;2&#xff09;根据ID查询实体数据 &#xff08;3&#xff09;增加 &#xff08;4&#xff09;修改 &#xff08;5&#xff09;删除 &#xff08;6&#xff09;分页…...

【Linux网络编程】Socket编程:协议理论入门

前言 首先&#xff0c;在学习Socket编程之前&#xff0c;我们应该了解关于网络的一些基本概念&#xff0c;虽然说没有这些理论概念并不影响编程&#xff0c;但是以后工作时扯扯皮还是有用的。而且&#xff0c;一个开发网络程序的人不知道网络领域的一些基本概念&#xff0c;这说…...

Redis——缓存雪崩、击穿、穿透

缓存雪崩 大量缓存数据在同一时间过期或者Redis故障宕机时&#xff0c;若此时有大量请求&#xff0c;都会直接访问到数据库&#xff0c;导致数据库压力倍增甚至宕机。 大量数据同时过期解决方案&#xff1a; 1、均匀设置过期时间&#xff1a; 设置过期时间的时候可以追加一…...

基于QT和FFmpeg实现自己的视频播放器FFMediaPlayer(一)——项目总览

在音视频开发的学习过程中&#xff0c;开发一款视频播放器是FFmpeg进阶的最好实战方法。本文将基于 QT 和 FFmpeg 着手实现自定义视频播放器 FFMediaPlayer&#xff0c;作为系列文章的开篇&#xff0c;我们先来整体了解项目的设计思路、架构与配置。 一、软件设计五大原则​ …...

panda机械臂的正逆运动学分析与仿真

文章目录 前言Panda机械臂的DH参数法建模正运动学逆运动学误差函数雅可比矩阵高斯-牛顿法&#xff08;Gauss-Newton&#xff09; 参考代码获取 前言 机械臂的位置运动学分析是机器人控制与轨迹规划的核心基础&#xff0c;其研究内容主要分为正运动学&#xff08;Forward Kinem…...

网络切片:给用户体验做“私人定制”的秘密武器

网络切片:给用户体验做“私人定制”的秘密武器 咱们平时用手机上网、看视频、玩游戏,网络体验好不好,一半都靠运营商给的网络质量。可你有没有想过,为什么同一张网络,有的人能流畅刷视频,有的人却卡得要命?这其实就是网络资源分配的问题——不同应用、不同用户的需求差异…...