linux不同发行版中的主要差异
一、初始化系统
Linux不同发行版中的系统初始化系统(如 System V init、Upstart 或 systemd)
-
System V init:
- 历史:System V init 是最传统的 Linux 系统初始化系统,起源于 Unix System V 操作系统。
- 运行级别(Runlevels):它使用运行级别(0-6)来定义系统状态,不同的运行级别对应不同的系统状态和启动的服务集合。
- 脚本化:System V init 使用 shell 脚本来管理服务,这些脚本通常位于
/etc/init.d/
目录下。 - 灵活性:由于其脚本化的特性,它在配置上非常灵活,但也意味着错误处理和依赖管理不如后来的系统严格。
-
Upstart:
- 历史:Upstart 是由 Ubuntu 开发的,旨在解决 System V init 的一些限制,特别是在处理服务的并行启动和监控方面。
- 事件驱动:Upstart 是事件驱动的,它可以在特定的事件(如硬件添加或用户登录)发生时启动服务。
- Job 配置:Upstart 使用自己的配置文件来定义任务(jobs),这些配置文件通常位于
/etc/init/
目录下。 - 状态保持:Upstart 能够保持服务的状态,如果服务崩溃,它可以自动重启服务。
-
systemd:
- 历史:systemd 是由 Red Hat 开发的,旨在提供一个更加强大和高效的系统初始化系统。
- 单元(Units):systemd 使用单元(units)的概念来管理服务,这些单元可以是服务、挂载点、设备、路径等。
- 依赖关系:systemd 能够理解和管理服务之间的依赖关系,确保服务按照正确的顺序启动和停止。
- 并行启动:systemd 支持并行启动服务,这可以显著减少系统的启动时间。
- 日志管理:systemd 集成了
journald
日志系统,可以集中管理系统日志。 - socket 和 D-Bus 激活:systemd 支持 socket 激活和 D-Bus 激活,这意味着服务可以在需要时动态启动,而不是在系统启动时就启动。
区别:
- 启动速度:systemd 由于其并行启动的特性,通常比 System V init 和 Upstart 启动更快。
- 复杂性和功能:systemd 提供了更多的功能和更复杂的配置选项,这使得它更加强大,但也增加了配置的复杂性。
- 兼容性:System V init 由于其历史悠久,很多老旧的系统和服务仍然依赖于它。Upstart 则在 Ubuntu 和一些衍生版中使用,但随着 Ubuntu 转向 systemd,Upstart 的使用越来越少。
- 社区接受度:systemd 由于其强大的功能和性能,已经成为许多现代 Linux 发行版的默认初始化系统,但也因其复杂性和对传统工作流程的改变而受到一些社区成员的批评。
总的来说,System V init、Upstart 和 systemd 各有特点,随着技术的发展,systemd 已经成为主流,
二、包管理系统
不同的 Linux 发行版使用不同的包管理系统,以下是一些常见的发行版及其对应的包管理工具:
1,Debian 和 Ubuntu(使用 APT):
包格式:.deb
包管理工具包括 apt, apt-cache, apt-get, dpkg。
常用命令:
更新软件包列表:sudo apt update
安装软件包:sudo apt install <package_name>
升级所有可升级的软件包:sudo apt upgrade
卸载软件包:sudo apt remove <package_name>
APT 提供了一个用户友好的命令行接口来管理包 。
2,Red Hat、CentOS 和 Fedora(使用 YUM 和 DNF):
包格式:.rpm
YUM(Yellowdog Updater, Modified)是一个流行的命令行包管理器,用于管理 RPM 包 。
DNF(Dandified Yum)是 YUM 的一个现代化分支,提供了更快的性能和改进的用户界面 。
常用命令:
安装软件包:sudo yum install <package_name> 或 sudo dnf install <package_name>
更新所有软件包:sudo yum update 或 sudo dnf update
卸载软件包:sudo yum remove <package_name> 或 sudo dnf remove <package_name>
3,Arch Linux(使用 Pacman):
包格式:.tar.gz
Pacman 是 Arch Linux 的包管理器,以其简单和高效著称 。
常用命令:
安装软件包:sudo pacman -S <package_name>
同步软件包数据库:sudo pacman -Sy
升级所有可升级的软件包:sudo pacman -Su
卸载软件包:sudo pacman -R <package_name>
4,openSUSE(使用 Zypper):
包格式:.rpm
Zypper 是 openSUSE 系统上的命令行包管理器,以其速度和效率闻名 。
常用命令:
安装软件包:sudo zypper install <package_name>
更新所有软件包:sudo zypper update
卸载软件包:sudo zypper remove <package_name>
这些包管理系统各有特点,用户可以根据自己的发行版选择合适的工具来管理软件包。
三、网络管理系统
1,Debian 和 Ubuntu(使用 systemd):
这些发行版使用 systemd 作为系统和服务管理器。
网络服务通常由 NetworkManager 管理,可以通过 nmcli 命令行工具进行控制。
重启网络服务的命令:sudo systemctl restart NetworkManager.service 或 sudo systemctl restart networking.service(取决于具体的服务名称)。
2,Red Hat、CentOS 和 Fedora(使用 systemd):
这些发行版也使用 systemd。
同样,NetworkManager 是管理网络服务的常用工具。
重启网络服务的命令:sudo systemctl restart NetworkManager.service。
3,openSUSE(使用 systemd):
openSUSE 使用 systemd 并且也支持 NetworkManager。
重启网络服务的命令:sudo systemctl restart NetworkManager.service。
4,Arch Linux(使用 systemd):
Arch Linux 使用 systemd 作为默认的系统和服务管理器。
网络服务可以通过 NetworkManager 或 netctl(一个简单的网络配置管理器)来管理。
重启网络服务的命令:sudo systemctl restart NetworkManager.service 或 sudo systemctl restart netcfg.service(取决于具体的服务名称)。
5.** Gentoo(使用 OpenRC)**:
Gentoo 使用自己的初始化系统 OpenRC。
网络服务可以通过 /etc/init.d/net.lo 脚本来管理。
重启网络服务的命令:sudo /etc/init.d/net.lo restart。
6,Slackware(使用 SysVinit):
Slackware 使用传统的 System V init 系统。
网络服务可以通过 /etc/rc.d/rc.inet1 脚本来管理。
重启网络服务的命令:sudo /etc/rc.d/rc.inet1 restart。
7,Alpine Linux(使用 OpenRC):
Alpine Linux 使用 OpenRC 作为其初始化系统。
网络服务可以通过 /etc/init.d/networking 脚本来管理。
重启网络服务的命令:sudo /etc/init.d/networking restart。
四、在 Linux 系统中,NetworkManager
和 Network Services
是两种不同的网络管理方式。下面是它们的主要区别和特点:
NetworkManage
-
NetworkManager 是一个用于管理网络连接的工具,主要用于动态配置和管理网络接口。它提供了多种接口供用户使用,包括命令行界面(nmcli)、文本用户界面(nmtui)和图形用户界面(nm-connection-editor)。其主要特点包括:
-
自动管理网络连接:NetworkManager 能够自动检测和配置网络接口,支持有线和无线网络的即插即用管理。
-
多种配置方式:用户可以通过命令行、文本界面或图形界面来配置网络,提供了灵活的使用体验。
-
D-Bus API:NetworkManager 提供 D-Bus API 接口,允许其他应用程序与其交互,以实现更复杂的网络管理功能。
-
连接文件管理:网络设备的配置保存在
/etc/NetworkManager/system-connections
目录中,用户可以方便地管理和编辑这些连接文件。
-
-
使用场景:
- 适合桌面环境和需要频繁切换网络的用户,特别是在移动设备上。
- 适用于需要图形界面或命令行工具进行网络管理的场景。
Network Services
-
概述:
Network Services
通常指的是通过传统的网络服务管理方式来配置和管理网络连接,通常依赖于系统的网络配置文件。- 在大多数 Linux 发行版中,网络服务的配置文件通常位于
/etc/sysconfig/network-scripts/
(如 CentOS 和 RHEL)或/etc/network/interfaces
(如 Debian 和 Ubuntu)。
-
功能:
- 静态配置:通过编辑
/etc/sysconfig/network-scripts/ifcfg-*
文件来手动配置网络接口,包括 IP 地址、网关、DNS 等信息。 - 服务管理:使用
systemctl
命令来启动、停止和重启网络服务,例如systemctl restart network
。 - 兼容性:虽然 NetworkManager 是推荐的管理工具,但 network services 仍然可以与 NetworkManager 一起使用,以支持旧的配置文件格式
- 静态配置:通过编辑
-
使用场景:
- 适合服务器环境或不需要频繁切换网络的场景,特别是在需要稳定和可预测的网络配置时。
- 对于需要精细控制网络设置的用户,传统的网络服务管理方式可能更合适。
总结
- NetworkManager 更加灵活和动态,适合需要频繁切换网络的桌面用户和移动设备。
- Network Services 则提供了更传统的网络配置方式,适合服务器和静态网络环境。
在现代 Linux 发行版中,NetworkManager
通常是默认的网络管理工具,但在某些情况下,用户可以选择使用传统的网络服务管理方式,具体取决于使用场景和需求。
五、systemctl
和 systemd
systemd
-
概述:
systemd
是一种系统和服务管理器,旨在取代传统的初始化系统(如 System V init)。- 它负责在系统启动时管理系统服务、进程、挂载点、设备等。
-
功能:
- 并行启动:
systemd
支持并行启动服务,从而加快系统启动速度。 - 依赖管理:能够自动处理服务之间的依赖关系,确保服务按照正确的顺序启动和停止。
- 单元(Units):使用单元文件(.service、.socket、.mount 等)来定义和管理服务及其他系统资源。
- 日志管理:集成了
journald
日志系统,可以集中管理和查看系统日志。 - 状态监控:可以监控服务的状态,并在服务崩溃时自动重启。
- 并行启动:
-
使用场景:
- 适用于现代 Linux 发行版,特别是在需要高效管理服务和系统资源的环境中。
systemctl
-
概述:
systemctl
是与systemd
配合使用的命令行工具,用于管理系统服务和资源。- 它提供了一个统一的接口来启动、停止、重启和查询服务的状态。
-
功能:
- 服务管理:使用
systemctl start <service>
、systemctl stop <service>
、systemctl restart <service>
等命令来管理服务。 - 状态查询:可以通过
systemctl status <service>
查看服务的当前状态。 - 启用和禁用服务:使用
systemctl enable <service>
和systemctl disable <service>
来设置服务在启动时是否自动启动。 - 查看日志:可以使用
journalctl
命令查看与systemd
相关的日志信息。
- 服务管理:使用
-
使用场景:
- 适用于需要通过命令行管理服务和系统资源的用户和管理员。
总结
- 关系:
systemd
是系统和服务管理器,而systemctl
是与systemd
交互的命令行工具。可以将systemd
看作是一个框架,而systemctl
是操作这个框架的工具。 - 功能:
systemd
提供了服务管理的底层功能,而systemctl
则提供了用户与这些功能交互的接口。
相关文章:
linux不同发行版中的主要差异
一、初始化系统 Linux不同发行版中的系统初始化系统(如 System V init、Upstart 或 systemd) System V init: 历史:System V init 是最传统的 Linux 系统初始化系统,起源于 Unix System V 操作系统。运行级别ÿ…...
Elasticsearch+Kibana分布式存储引擎
1.ElaticSearch介绍 ElaticSearch ,简称为 ES , ES 是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检 索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。 ES 也使用 …...
spark 分布式 原理
Apache Spark 是一个快速且通用的大数据处理引擎,它支持分布式计算。Spark 的设计旨在通过高效的内存内计算和对多种数据源的支持来简化大规模数据集的处理。以下是关于 Spark 分布式原理的详细介绍: 1. 架构概述 Driver Program(驱动程序&…...
Hadoop学习笔记(包括hadoop3.4.0集群安装)(黑马)
Hadoop学习笔记 0-前置章节-环境准备 0.1 环境介绍 配置环境:hadoop-3.4.0,jdk-8u171-linux-x64 0.2 VMware准备Linux虚拟机 0.2.1主机名、IP、SSH免密登录 1.配置固定IP地址(root权限) 开启master,修改主机名为…...
thinkphp:try-catch捕获异常
使用简单的例子,实现了一个简单的try-catch捕获异常的实例 //开始事务Db::startTrans(); try{ //有异常抛出异常 if(存在错误){ throw new \Exception("异常信息"); } // 提交事务 Db::commit(); // 返回成功信息 ... } catch (\…...
如何使用 uni-app 构建直播应用程序?
使用uni-app构建直播应用程序涉及前端和后端的开发,以及音视频处理技术的选择。下面我将概述一个典型的直播应用架构,并详细说明如何在uni-app中实现关键功能。 直播应用架构 前端(uni-app):负责用户界面展示、互动逻…...
正则表达式入门教程
正则表达式入门教程 1. 引言 正则表达式(Regular Expression,简称Regex)是一种用于处理字符串的强大工具,它允许用户通过特定的模式(pattern)来搜索、匹配、查找和替换文本中的数据。正则表达式在文本处理、数据验证、数据提取等领域有着广泛的应用。本教程将带你了解正…...
uniapp 常用的指令语句
uniapp 是一个使用 Vue.js 开发的跨平台应用框架,因此,它继承了 Vue.js 的大部分指令。以下是一些在 uniapp 中常用的 Vue 指令语句及其用途: v-if / v-else-if / v-else 条件渲染。v-if 有条件地渲染元素,v-else-if 和 v-else 用…...
【Figma_01】Figma软件初始与使用
Figma初识与学习准备 背景介绍软件使用1.1 切换主题1.2 官方社区 设计界面2.1 创建一个项目2.2 修改文件名2.3 四种模式2.4 新增界面2.5 图层2.6 工具栏2.7 属性栏section透明度和圆角改变多边形的边数渐变效果描边设置阴影等特效拖拽相同的图形 背景介绍 Ul设计:User Interfa…...
AI工具如何深刻改变我们的工作与生活
在当今这个科技日新月异的时代,人工智能(AI)已经从科幻小说中的概念变成了我们日常生活中不可或缺的一部分。从智能家居到自动驾驶汽车,从医疗诊断到金融服务,AI正以惊人的速度重塑着我们的世界。 一、工作方式的革新…...
信息安全实训室网络攻防靶场实战核心平台解决方案
一、引言 网络安全靶场,作为一种融合了虚拟与现实环境的综合性平台,专为基础设施、应用程序及物理系统等目标设计,旨在向系统用户提供全方位的安全服务,涵盖教学、研究、训练及测试等多个维度。随着网络空间对抗态势的日益复杂化…...
平方根无迹卡尔曼滤波(SR-UKF)的MATLAB例程,使用三维非线性的系统
本MATLAB 代码实现了平方根无迹卡尔曼滤波(SR-UKF)算法,用于处理三维非线性状态估计问题 文章目录 运行结果代码概述代码 运行结果 三轴状态曲线对比: 三轴误差曲线对比: 误差统计特性输出(命令行截图&…...
【从零开始入门unity游戏开发之——C#篇04】栈(Stack)和堆(Heap),值类型和引用类型,以及特殊的引用类型string,垃圾回收( GC)
文章目录 知识回顾一、栈(Stack)和堆(Heap)1、什么是栈和堆2、为什么要分栈和堆3、栈和堆的区别栈堆 4、总结 二、值类型和引用类型1、那么值类型和引用类型到底有什么区别呢?值类型引用类型 2、总结 三、特殊的引用类…...
人员离岗监测摄像机智能人员睡岗、逃岗监测 Python 语言结合 OpenCV
在安全生产领域,人员的在岗状态直接关系到生产流程的顺利进行和工作环境的安全稳定。人员离岗监测摄像机的出现,为智能人员睡岗、逃岗监测提供了高效精准的解决方案,而其中的核心技术如AI识别睡岗脱岗以及相关的算法盒子和常见的安全生产AI算…...
Linux-ubuntu点LED灯C语言版
一,C语言点灯 1.寄存器配置 设置为SVC模式,复用寄存器设置GPIO1-IO003,设置电气属性,设置为输出模式。 2.软件 汇编语言对模式设置,并且将堆栈指针指向主程序: .global _start_start: /*设置为svr模式 */mrs …...
第P3周:Pytorch实现天气识别
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标 读取天气图片,按文件夹分类搭建CNN网络,保存网络模型并加载模型使用保存的模型预测真实天气 具体实现 (一…...
代理IP与生成式AI:携手共创未来
目录 代理IP:网络世界的“隐形斗篷” 1. 隐藏真实IP,保护隐私 2. 突破网络限制,访问更多资源 生成式AI:创意与效率的“超级大脑” 1. 提高创作效率 2. 个性化定制 代理IP与生成式AI的协同作用 1. 网络安全 2. 内容创作与…...
函数式编程
Lambda表达式 1、什么时候可以使用Lambda表达式呢? 一般都是在简化匿名内部类,当这个函数是一个接口,并且接口中只要一个方法时,就可以使用Lambda表达式 2、格式 (参数列表)->{方法体} 其中形参也不需要传,只需要传实参 只关注参数列表和方法体不关注方法啥的东西…...
抖音SEO短视频矩阵源码系统开发分享
在数字营销的前沿阵地,抖音短视频平台凭借其独特的魅力和庞大的用户基础,已成为社交媒体领域一股不可小觑的力量。随着平台影响力的持续扩大,如何有效提升视频内容的可见度与流量成为了内容创作者关注的焦点。在此背景下,一套专为…...
常见的锁与线程安全
目录 一、STL,智能指针和线程安全 STL中的容器是否是线程安全的? 智能指针是否是线程安全的? 二、其他常见的各种锁 三、自旋锁 四、读者写者问题 读写锁接口 读者优先伪代码 一、STL,智能指针和线程安全 STL中的容器是否是线程安全的? 不是 . 原因是 , STL 的设…...
java中的List、数组和set
在Java中,List、数组(Array)和Set 是三种常用的数据结构,它们各自有不同的特性、用途和实现方式。下面我们将深入探讨这三者的特点、区别以及它们在 Java 中的常见使用场景。 1. 数组(Array) 特性&#x…...
NLP-Huggingface基本使用方法
NLP的网络结构大同小异,只不过训练策略可能会不同。因为与图像cv不同,文本训练数据非常的多,cv可以使用10几张就可以获得特征向量,而文本做不到学几句话就能让计算机听得懂话。因此,我们都需要使用预训练模型ÿ…...
Liquibase结合SpringBoot使用实现数据库管理
Liquibase概述 Liquibase 是一个开源的数据库变更管理工具,用于跟踪、版本化、和管理数据库结构(如表、字段、索引等)的变更。它的目的是使数据库变更的过程更加透明、可控制、自动化,避免开发团队在多个环境中手动执行相同的数据…...
高防CDN 如何防止DDoS和CC攻击?
在数字化时代,网络安全威胁日益严重,尤其是DDoS(分布式拒绝服务)攻击和CC(Challenge Collapsar)攻击,已成为企业网站和网络服务最常见且最具破坏力的攻击手段。为了有效抵御这些攻击,…...
15.初始接口1.0 C#
这是一个用于实验接口的代码 适合初认识接口的人 【CSDN开头介绍】(文心一言AI生成) 在C#编程世界中,接口(Interface)扮演着至关重要的角色,它定义了一组方法,但不提供这些方法的实现。接口作为…...
数据结构day5:单向循环链表 代码作业
一、loopLink.h #ifndef __LOOPLINK_H__ #define __LOOPLINK_H__#include <stdio.h> #include <stdlib.h>typedef int DataType;typedef struct node {union{int len;DataType data;};struct node* next; }loopLink, *loopLinkPtr;//创建 loopLinkPtr create();//…...
利用CNN与多尺度特征、注意力机制的融合实现低分辨率人脸表情识别,并给出模型介绍与代码实现
大家好,我是微学AI,今天给大家介绍一下利用CNN与多尺度特征、注意力机制的融合实现低分辨率人脸表情识别,并给出模型介绍与代码实现。在当今社会,人脸识别技术已广泛应用,但特定场景下的低质量图像仍是一大挑战。 低分…...
spring RestTemplate使用说明
rest-template是spring对httpclient的逻辑封装,它底层还是基于httpclient,所以一些配置其实跟httpclient是强相关的。 基本配置 rest-template可以不带参数,使用默认配置,也可以指定ClientHttpRequestFactory参数,Cl…...
设置HP条UI
概述 设置常见的生命值条, 实现过程 设置UI/image作为形状 设置UI/Image作为背景 设置UI/image(healthfill)作为填充图片,层数低于背景 设置heathfill的imagetype为filled fillmethod为horizontal [SerializeField] private Im…...
常见排序算法总结 (五) - 堆排序与堆操作
堆排序(借助 API) 算法思想 利用堆能够维护数组中最大值的性质,根据数组元素建立最大堆,依次弹出元素并维护堆结构,直到堆为空。 稳定性分析 堆排序是不稳定的,因为堆本质上是完全二叉树,排…...
Linux 本地编译安装 gcc9
这里演示非sudo权限的本地linux 用户安装 gcc9 下载源代码: 可以从GCC官方网站或其镜像站点下载GCC 9的源代码压缩包。使用wget或curl命令,这通常不需要额外权限 wget https://ftp.gnu.org/gnu/gcc/gcc-9.5.0/gcc-9.5.0.tar.gz tar -xf gcc-9.5.0.tar…...
开源FreeSWITCH大模型智能客服系统的最佳实践
开源 FreeSWITCH 大模型智能客服系统的最佳实践 原作者:开源呼叫中心FreeIPCC,其Github:https://github.com/lihaiya/freeipcc 引言 开源 FreeSWITCH 大模型智能客服系统因其灵活性、成本效益和技术先进性,成为众多企业提升客户…...
大数据技术与应用——数据可视化(山东省大数据职称考试)
大数据分析应用-初级 第一部分 基础知识 一、大数据法律法规、政策文件、相关标准 二、计算机基础知识 三、信息化基础知识 四、密码学 五、大数据安全 六、数据库系统 七、数据仓库. 第二部分 专业知识 一、大数据技术与应用 二、大数据分析模型 三、数据科学 数据可视化 大…...
大数据之Hbase环境安装
Hbase软件版本下载地址: http://mirror.bit.edu.cn/apache/hbase/ 1. 集群环境 Master 172.16.11.97 Slave1 172.16.11.98 Slave2 172.16.11.99 2. 下载软件包 #Master wget http://archive.apache.org/dist/hbase/0.98.24/hbase-0.98.24-hadoop1-bin.tar.gz…...
Node.js day-01
01.Node.js 讲解 什么是 Node.js,有什么用,为何能独立执行 JS 代码,演示安装和执行 JS 文件内代码 Node.js 是一个独立的 JavaScript 运行环境,能独立执行 JS 代码,因为这个特点,它可以用来编写服务器后端…...
OpenCV相机标定与3D重建(25)计算两个三维点集之间的最优仿射变换矩阵(3x4)函数estimateAffine3D()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算两个3D点集之间的最优仿射变换。 它计算 [ x y z ] [ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ] [ X Y Z ] [ b 1 b 2 b 3 ] \beg…...
SQL 中 INNER JOIN 和 LEFT JOIN 的区别和用法
在数据库语言 SQL 中,连接 (也称进行表结合操作)是一种常见的操作,用于将多个数据表格核实关联进行查询。常见的连接类型中, INNER JOIN 和 LEFT JOIN 是最基本且最常用的。下面将给出完整的区别和用法说明。 1. 基本概念 INNER JOIN (内连…...
【计算机网络】lab2 Ethernet(链路层Ethernet frame结构细节)
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀各种软件安装与配置_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. …...
2024 年 MySQL 8.0.40 安装配置、Workbench汉化教程最简易(保姆级)
首先到官网上下载安装包:http://www.mysql.com 点击下载,拉到最下面,点击社区版下载 windows用户点击下面适用于windows的安装程序 点击下载,网络条件好可以点第一个,怕下着下着断了点第二个离线下载 双击下载好的安装…...
提升PHP技能:18个实用高级特性
掌握PHP基础知识只是第一步。 深入了解这18个强大的PHP特性,将显著提升您的开发效率和代码质量。 1、超越 __construct() 的魔法方法 虽然 __construct() 为大多数开发者所熟知,PHP 却提供了更多强大的魔术方法,例如: class Da…...
QT数据库(三):QSqlQuery使用
QSqlQuery 简介 QSqlQuery 是能运行任何 SQL 语句的类,如 SELECT、INSERT、UPDATE、DELETE 等 SQL 语句。所以使用 QSqlQuery 几乎能进行任何操作,例如创建数据表、修改数据表的字段定义、进行数据统计等。如果运行的是 SELECT 语句,它查询…...
【机器学习】在向量的流光中,揽数理星河为衣,以线性代数为钥,轻启机器学习黎明的瑰丽诗章
文章目录 线性代数入门:机器学习零基础小白指南前言一、向量:数据的基本单元1.1 什么是向量?1.1.1 举个例子: 1.2 向量的表示与维度1.2.1 向量的维度1.2.2 向量的表示方法 1.3 向量的基本运算1.3.1 向量加法1.3.2 向量的数乘1.3.3…...
设计模式详解(十一):模板方法——Template Method
Template Method 设计模式 1. 概述 Template Method 是一种行为设计模式,它定义了一个算法的框架,并允许子类在不改变算法结构的前提下重新定义算法中的某些步骤。 在 Template Method 模式中: 父类(抽象类)定义了…...
使用 DeepSpeed 微调 OPT 基础语言模型
文章目录 OPT 基础语言模型Using OPT with DeepSpeedmain.py 解析1、导入库和模块2、解析命令行参数3、main 函数3.1 设备与分布式初始化3.2 模型与数据准备3.3 定义评估函数3.4 优化器与学习率调度器设置3.5 使用 deepspeed 进行模型等初始化3.6 训练循环3.7 模型保存 4、dsch…...
DPDK用户态协议栈-TCP Posix API 2
tcp posix api send发送 ssize_t nsend(int sockfd, const void *buf, size_t len, __attribute__((unused))int flags) {ssize_t length 0;void* hostinfo get_host_fromfd(sockfd);if (hostinfo NULL) {return -1;}struct ln_tcp_stream* stream (struct ln_tcp_stream…...
打造微信小程序中的视频播放交互体验:videoUI组件库实战
本文还有配套的精品资源,点击获取 简介:本项目介绍如何利用 videoUI 组件库在微信小程序中实现视频切换播放和全屏播放功能。涵盖微信小程序开发基础、 <video> 组件使用、视频切换逻辑、全屏播放实现以及 videoUI 库的应用。为开发者提供…...
Django REST framework(DRF)在处理不同请求方法时的完整流程
文章目录 一、POST 请求创建对象的流程二、GET 请求获取对象列表的流程三、GET 请求获取单个对象的流程四、PUT/PATCH 请求更新对象的流程五、自定义方法的流程自定义 GET 方法自定义 POST 方法 一、POST 请求创建对象的流程 请求到达视图层 方法调用: dispatch说明…...
【Hive】-- hive 3.1.3 伪分布式部署(单节点)
1、环境准备 1.1、版本选择 apache hive 3.1.3 apache hadoop 3.1.0 oracle jdk 1.8 mysql 8.0.15 操作系统:Mac os 10.151.2、软件下载 https://archive.apache.org/dist/hive/ https://archive.apache.org/dist/hadoop/ 1.3、解压 tar -zxvf apache-hive-4.0.0-bin.tar…...
unity 雷达
unity 雷达 首先去商店下载TouchScript插件 导入的时候勾选Enable TUIO 然后把预制体Cursors和TouchManager拖上 最后把TuioInput这个脚本挂上 脚本上的端口号尽量不改...
Visual Studio 2022 安装和管理 GitHub Copilot
🎀🎀🎀【AI辅助编程系列】🎀🎀🎀 Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码Visual Studio 安装和管理 GitHub CopilotVisual Studio 使用 GitHub Copilot 扩展Visual Studio 使用 GitHu…...