【Linux系统】第四节—详解yum+vim

hello 我是云边有个稻草人

Linux—本节课所属专栏—欢迎订阅—持续更新中~

目录 

画板—本节课知识点详解

一、软件包管理器

1.1 什么是软件包

1.2 Linux软件⽣态

1.3 yum具体操作

【查看软件包】

【安装软件】

【卸载软件】

【注意事项】

1.4 安装源

二、vim

2.1 Linux编辑器-vim使⽤

2.2 vim的基本概念

2.3 vim的基本操作

2.4 vim正常模式命令集

2.5 vim末⾏模式命令集

2.6 vim操作总结

2.7 简单vim配置[了解]


正文开始——

画板—本节课知识点详解

一、软件包管理器

1.1 什么是软件包

  • 在Linux下安装软件, ⼀个通常的办法是下载到程序的源代码, 并进⾏编译, 得到可执⾏程序.
  • 但是这样太⿇烦了, 于是有些⼈把⼀些常⽤的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在⼀个服务器上, 通过包管理器可以很⽅便的获取到这个编译好的软件包, 直接进⾏安装.
  • 软件包和软件包管理器, 就好⽐ "App" 和 "应⽤商店" 这样的关系.
  • yum(Yellow dog Updater, Modified)是Linux下⾮常常⽤的⼀种包管理器. 主要应⽤在Fedora, RedHat, Centos等发⾏版上.
  • Ubuntu:主要使⽤apt(Advanced Package Tool)作为其包管理器。apt同样提供了⾃动解决依赖关系、下载和安装软件包的功能。

1.2 Linux软件⽣态

  • Linux下载软件的过程(Ubuntu、Centos、other)

  • 操作系统的好坏评估--- ⽣态问题

为什么会有⼈免费特定社区提供软件,还发布?还提供云服务器让你下载?

  • 软件包依赖的问题

  • 国内镜像源

以下是⼀些国内Linux软件安装源的官⽅链接[由⽂⼼⼀⾔⽣成]:
  • 1. 阿⾥云官⽅镜像站
官⽅链接: https://developer.aliyun.com/mirror/
阿⾥云提供了丰富的Linux发⾏版镜像,包括CentOS、Ubuntu、Debian等,⽤⼾可以通过该镜像站快速下载和更新软件包。
  • 2. 清华⼤学开源软件镜像站
官⽅链接: https://mirrors.tuna.tsinghua.edu.cn/
清华⼤学镜像站提供了多种Linux发⾏版的镜像,以及Python、Perl、Ruby等编程语⾔的扩展包。该镜像站还提供了丰富的⽂档和教程,帮助⽤⼾更好地使⽤这些软件包。
  • 3. 中国科学技术⼤学开源镜像站
官⽅链接: http://mirrors.ustc.edu.cn/
中科⼤镜像站提供了多种Linux发⾏版的镜像,以及常⽤的编程语⾔和开发⼯具。⽤⼾可以通过该镜像站⽅便地获取所需的软件包和⼯具。
  • 4. 北京交通⼤学⾃由与开源软件镜像站
官⽅链接: https://mirror.bjtu.edu.cn/
北交⼤镜像站提供了多种Linux发⾏版的镜像,以及相关的软件仓库和⼯具。该镜像站还提供了详细的⽂档和指南,帮助⽤⼾配置和使⽤这些软件源。
  • 5. 中国科学院软件研究所镜像站(ISCAS)
官⽅链接: http://mirror.iscas.ac.cn/
ISCAS镜像站提供了多种Linux发⾏版、编程语⾔和开发⼯具的镜像。⽤⼾可以通过该镜像站快速获取所需的软件包和更新。
  • 6. 上海交通⼤学开源镜像站
官⽅链接: https://ftp.sjtu.edu.cn/
上海交⼤镜像站提供了丰富的Linux软件资源,包括多种发⾏版的镜像和软件仓库。⽤⼾可以通过该镜像站⽅便地下载和安装所需的软件包。
  • 7. ⽹易开源镜像站
官⽅链接: http://mirrors.163.com/
⽹易镜像站提供了多种Linux发⾏版的镜像,以及相关的软件仓库和⼯具。该镜像站还提供了便捷的搜索功能,帮助⽤⼾快速找到所需的软件包。
此外,还有⼀些其他的国内镜像源,如搜狐开源镜像站等,但可能由于时间变化或政策调整,部分镜像站的链接或状态可能有所变动。因此,建议⽤⼾在使⽤前访问官⽅⽹站或咨询相关社区以获取最新的信息和帮助。

下载相应的扩展软件源 

sudo yum install -y epel-release

1.3 yum具体操作

【查看软件包】
通过 yum list 命令可以罗列出当前—共有哪些软件包. 由于包的数⽬可能⾮常之多, 这⾥我们需要使⽤grep 命令只筛选出我们关注的包.。
例如:
# Centos
$ yum list | grep lrzsz
lrzsz.x86_64 0.12.20-36.el7 @base
# Ubuntu
$ apt search lrzsz
Sorting... Done
Full Text Search... Done
cutecom/focal 0.30.3-1build1 amd64
Graphical serial terminal, like minicom
lrzsz/focal,now 0.12.21-10 amd64 [installed]
Tools for zmodem/xmodem/ymodem file transfer
$ apt show lrzsz
Package: lrzsz
Version: 0.12.21-10
Priority: optional
Section: universe/comm
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Martin A. Godisch <godisch@debian.org>
...
注意事项:
  • 软件包名称: 主版本号.次版本号.源程序发⾏号-软件包的发⾏号.主机平台.cpu架构.
  • "x86_64" 后缀表⽰64位系统的安装包, "i686" 后缀表⽰32位系统安装包. 选择包时要和系统匹配.
  • "el7" 表⽰操作系统发⾏版的版本. "el7" 表⽰的是 centos7/redhat7. "el6" 表⽰ centos6/redhat6.
  • 最后⼀列, base 表⽰的是 "软件源" 的名称, 类似于 "⼩⽶应⽤商店", "华为应⽤商店" 这样的概念.
  • Ubuntu 有上述有详细介绍
【安装软件】
通过 yum, 我们可以通过很简单的⼀条命令完成 gcc 的安装。
# Centos
$ sudo yum install -y lrzsz
# Ubuntu
$ sudo apt install -y lrzsz
  • yum/apt 会⾃动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装.
  • 出现 "complete" 字样或者中间未出现报错, 说明安装完成.
注意事项:
  • 安装软件时由于需要向系统⽬录中写⼊内容, ⼀般需要 sudo 或者切到 root 账⼾下才能完成.
  • yum/apt安装软件只能⼀个装完了再装另⼀个. 正在yum/apt安装⼀个软件的过程中, 如果再尝试⽤yum/apt安装另外⼀个软件, yum/apt会报错.
  • 如果 yum / apt报错, 请⾃⾏百度.
卸载软件
仍然是⼀条命令:
Centos
比特就业课
sudo yum remove [-y] lrzsz
# Ubuntu
sudo apt remove [-y] lrzsz
【注意事项】
关于 yum / apt 的所有操作必须保证主机(虚拟机)⽹络畅通!!! 可以通过 ping 指令验证
ping www.baidu.com
# yum / apt也能离线安装,但是和我们当前⽆关,暂不关⼼。

1.4 安装源

  • Cetnos 安装源路径:
$ ll /etc/yum.repos.d/
total 16
-rw-r--r-- 1 root root 676 Oct 8 20:47 CentOS-Base.repo # 标准源
-rw-r--r-- 1 root root 230 Aug 27 10:31 epel.repo # 扩展源
# 安装扩展源,⽅便课堂演⽰
# $ sudo yum install -y epel-release
  • Ubuntu 安装源路径:
$ cat /etc/apt/sources.list # 标准源
$ ll /etc/apt/sources.list.d/ # 扩展源
# ubuntu 安装扩展源,就结合未来具体场景

Linux命令行的有趣命令_linux有趣的命令-CSDN博客


二、vim

2.1 Linux编辑器-vim使⽤

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,⽽且还有⼀些新的特性在⾥⾯。例如语法加亮,可视化操作不仅可以在终端运⾏,也可以运⾏于x window、 mac os、 windows。我们课堂上,统⼀按照vim来进⾏讲解。

2.2 vim的基本概念

课堂上我们讲解vim的三种模式(其实有好多模式,⽬前掌握这3种即可),分别是命令模式(command mode)、插⼊模式(Insert mode)和底⾏模式(last line mode),各模式的功能区分如下:
  • 正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或⾏的删除,移动复制某区段及进⼊Insert mode下,或者到 last line mode
  • 插⼊模式(Insert mode)
只有在Insert mode下,才可以做⽂字输⼊,按ΓESC」键可回到命令⾏模式。该模式是我们后⾯⽤的最频繁的编辑模式。
  • 底行模式(last line mode)
⽂件保存或退出,也可以进⾏⽂件替换,找字符串,列出⾏号等操作。
在命令模式下,*shift+:* 即可进⼊该模式。要查看你的所有模式:打开 vim,底⾏模式直接输⼊:help vim-modes
我这⾥⼀共有12种模式:six BASIC modes和six ADDITIONAL modes。

2.3 vim的基本操作

  • 进⼊vim,在系统提⽰符号输⼊vim及⽂件名称后,就进⼊vim全屏幕编辑画⾯:
$ vim test.c
不过有⼀点要特别注意,就是你进⼊vim之后,是处于[正常模式],你要切换到[插⼊模式]才能够
输⼊⽂字。
  • [正常模式]切换⾄[插⼊模式]
输⼊a
输⼊i
输⼊o
  • [插⼊模式]切换⾄[正常模式]
⽬前处于[插⼊模式],就只能⼀直输⼊⽂字,如果发现输错了字,想⽤光标键往回移动,将该字删除,可以先按⼀下ΓESC」键转到[正常模式]再删除⽂字。当然,也可以直接删除。
  • [正常模式]切换⾄[末⾏模式]
Γshift + ;」, 其实就是输⼊Γ:」
  • 退出vim及保存⽂件,在[正常模式]下,按⼀下Γ:」冒号键进⼊ΓLast line mode」,例如:
: w (保存当前⽂件)
: wq (输⼊Γwq」,存盘并退出vim)
: q! (输⼊q!,不存盘强制退出vim)

2.4 vim正常模式命令集

  • 插⼊模式
  1. 按Γi」切换进⼊插⼊模式Γinsert mode」,按“i”进⼊插⼊模式后是从光标当前位置开始输⼊⽂件;
  2. 按Γa」进⼊插⼊模式后,是从⽬前光标所在位置的下⼀个位置开始输⼊⽂字;
  3. 按Γo」进⼊插⼊模式后,是插⼊新的⼀⾏,从⾏⾸开始输⼊⽂字。
  • 从插⼊模式切换为命令模式
  1. 按ΓESC」键。
  • 移动光标
  1. vim可以直接⽤键盘上的光标来上下左右移动,但正规的vim是⽤⼩写英⽂字⺟Γh」、Γj」、
  2. Γk」、Γl」,分别控制光标左、下、上、右移⼀格
  3. 按ΓG」:移动到⽂章的最后
  4. 按Γ $ 」:移动到光标所在⾏的“⾏尾”
  5. 按Γ^」:移动到光标所在⾏的“⾏⾸”
  6. 按Γw」:光标跳到下个字的开头
  7. 按Γe」:光标跳到下个字的字尾
  8. 按Γb」:光标回到上个字的开头
  9. 按Γ#l」:光标移到该⾏的第#个位置,如:5l,56l
  10. 按[gg]:进⼊到⽂本开始
  11. 按[shift+g]:进⼊⽂本末端
  12. 按Γctrl」+Γb」:屏幕往“后”移动⼀页
  13. 按Γctrl」+Γf」:屏幕往“前”移动⼀页
  14. 按Γctrl」+Γu」:屏幕往“后”移动半页
  15. 按Γctrl」+Γd」:屏幕往“前”移动半页
  • 删除⽂字
  1. Γx」:每按⼀次,删除光标所在位置的⼀个字符
  2. Γ#x」:例如,Γ6x」表⽰删除光标所在位置的“后⾯(包含⾃⼰在内)”6个字符
  3. ΓX」:⼤写的X,每按⼀次,删除光标所在位置的“前⾯”⼀个字符
  4. Γ#X」:例如,Γ20X」表⽰删除光标所在位置的“前⾯”20个字符
  5. Γdd」:删除光标所在⾏
  6. Γ#dd」:从光标所在⾏开始删除#⾏
  • 复制
  1. Γyw」:将光标所在之处到字尾的字符复制到缓冲区中。
  2. Γ#yw」:复制#个字到缓冲区
  3. Γyy」:复制光标所在⾏到缓冲区。
  4. Γ#yy」:例如,Γ6yy」表⽰拷贝从光标所在的该⾏“往下数”6⾏⽂字。
  5. Γp」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须
  6. 与“p”配合才能完成复制与粘贴功能。
  • 替换
  1. Γr」:替换光标所在处的字符。
  2. ΓR」:替换光标所到之处的字符,直到按下ΓESC」键为⽌。
  • 撤销上⼀次操作
  1. Γu」:如果您误执⾏⼀个命令,可以⻢上按下Γu」,回到上⼀个操作。按多次“u”可以执⾏多次回复。
  2. Γctrl + r」: 撤销的恢复
  • 更改
  1. Γcw」:更改光标所在处的字到字尾处
  2. Γc#w」:例如,Γc3w」表⽰更改3个字
  • 跳⾄指定的⾏
  1. Γctrl」+Γg」列出光标所在⾏的⾏号。
  2. Γ#G」:例如,Γ15G」,表⽰移动光标⾄⽂章的第15⾏ ⾸。

2.5 vim末⾏模式命令集

在使⽤末⾏模式之前,请记住先按ΓESC」键确定您已经处于正常模式,再按Γ:」冒号即可进⼊末⾏模式。
  • 列出⾏号
Γset nu」: 输⼊Γset nu」后,会在⽂件中的每⼀⾏前⾯列出⾏号。
  • 跳到⽂件中的某⼀⾏
  1. Γ#」:Γ#」号表⽰⼀个数字,在冒号后输⼊⼀个数字,再按回车键就会跳到该⾏了,如输⼊数字15,再回车,就会跳到⽂章的第15⾏。
  • 查找字符
  1. Γ/关键字」: 先按Γ/」键,再输⼊您想寻找的字符,如果第⼀次找的关键字不是您想要的,可以
  2. ⼀直按Γn」会往后寻找到您要的关键字为⽌。
  3. Γ?关键字」:先按Γ?」键,再输⼊您想寻找的字符,如果第⼀次找的关键字不是您想要的,可
  4. 以⼀直按Γn」会往前寻找到您要的关键字为⽌。
  5. 问题:∕ 和 ?查找有和区别?操作实验⼀下
  • 保存⽂件
  1. Γw」: 在冒号输⼊字⺟Γw」就可以将⽂件保存起来
  • 离开vim
  1. Γq」:按Γq」就是退出,如果⽆法离开vim,可以在Γq」后跟⼀个Γ!」强制离开vim。
  2. Γwq」:⼀般建议离开时,搭配Γw」⼀起使⽤,这样在退出的时候还可以保存⽂件。

2.6 vim操作总结

  • 三种模式
  1. 正常模式
  2. 插⼊模式
  3. 底⾏模式
我们⼀共有12种总模式,⼤家下来可以研究⼀下
  • vim操作
  1. 打开,关闭,查看,查询,插⼊,删除,替换,撤销,复制等等操作。

2.7 简单vim配置[了解]

  • 配置⽂件的位置
  1. 在⽬录 /etc/ 下⾯,有个名为vimrc的⽂件,这是系统中公共的vim配置⽂件,对所有⽤⼾都有效。
  2. ⽽在每个⽤⼾的主⽬录下,都可以⾃⼰建⽴私有的配置⽂件,命名为:“.vimrc”。例如,/root⽬录下,通常已经存在⼀个.vimrc⽂件,如果不存在,则创建之。
  3. 切换⽤⼾成为⾃⼰执⾏ su ,进⼊⾃⼰的主⼯作⽬录,执⾏ cd ~
  4. 打开⾃⼰⽬录下的.vimrc⽂件,执⾏ vim .vimrc
  • 常⽤配置选项,⽤来测试
  1. 设置语法⾼亮: syntax on
  2. 显⽰⾏号: set nu
  3. 设置缩进的空格数为4: set shiftwidth=4
  • 使⽤插件
要配置好看的vim,原⽣的配置可能功能不全,可以选择安装插件来完善配置,保证⽤⼾是你要配置的
⽤⼾,接下来:
  1. 安装TagList插件,下载taglist_xx.zip ,解压完成,将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到~/.vim/plugin
  2. 在~/.vimrc 中添加: let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Use_Right_Window=1
  3. 安装⽂件浏览器和窗⼝管理器插件: WinManager
  4. 下载winmanager.zip,2.X版本以上的
  5. 解压winmanager.zip,将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到~/.vim/plugin
  6. 在~/.vimrc 中添加 let g:winManagerWindowLayout=‘FileExplorer|TagList nmap wm :WMToggle<cr>
  7. 然后重启vim,打开~/XXX.c或~/XXX.cpp, 在normal状态下输⼊"wm", 你将看到上图的效果。更具体移步:点我, 其他⼿册,请执⾏ vimtutor 命令。

参考资料: 

Vim从入门到牛逼(Vim from zero to hero)

完——


Running Up That Hill

And if I only could

I’d make a deal with God

 And I’d get him to swap ours places

至此结束——

我是云边有个稻草人

期待与你的下一次相遇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/79873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EasyRTC嵌入式音视频通信SDK打造带屏IPC全场景实时通信解决方案

一、方案概述​ 在智能安防与物联网快速发展的背景下&#xff0c;带屏IPC&#xff08;网络摄像机&#xff09;不仅承担着视频采集与监控的基础功能&#xff0c;还逐渐向多样化交互与智能化方向演进。EasyRTC作为一款强大的实时通信框架&#xff0c;具备低延迟、高稳定性、跨平…

Linux下的c/c++开发之操作Redis数据库

C/C 操作 Redis 的常用库 在 C/C 开发中操作 Redis 有多种方式&#xff0c;最主流的选择是使用第三方客户端库。由于 Redis 官方本身是使用 C 编写的&#xff0c;提供的 API 非常适合 C/C 调用。常见的 Redis C/C 客户端库包括&#xff1a; hiredis&#xff1a;官方推荐的轻量…

go 通过汇编学习atomic原子操作原理

文章目录 概要一、原理1.1、案例1.2、关键汇编 二、LOCK汇编指令2.1、 LOCK2.2、 原理2.2.1、 缓存行2.2.2、 缓存一致性之MESI协议2.2.3、lock原理 三、x86缓存发展四、x86 DMA发展参考 概要 在并发操作下&#xff0c;对一个简单的aa2的操作都会出错&#xff0c;这是因为这样…

mapreduce打包运行

maven打包 MapReduce是一个分布式运算程序的编程框架&#xff0c;是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序&#xff08;例如&#xff1a;jar包&#xff09;&#xff0…

小白成长之路-LInux系统文件与目录管理(二)

提示&#xff1a;第二部分对第一部分收尾 文章目录 常见的命令如下一、文件查看命令1. more命令2.less命令3.head命令4.tail命令5.nl命令&#xff08;了解&#xff09;6.创建目录命令7.创建文件命令>: 覆盖重定向>>: 追加重定向 8.touch命令9.echo命令10.文件或目录复…

JVM之虚拟机运行

虚拟机运行快速复习 try-catch&#xff1a;catch-异常表栈展开&#xff0c;finally-代码复制异常表兜底 类的生命周期&#xff1a;加载&#xff0c;连接&#xff08;验证&#xff0c;准备&#xff0c;解析&#xff09;&#xff0c;初始化&#xff0c;使用&#xff0c;卸载 类…

AI数字人实现原理

随着人工智能与数字技术的快速发展&#xff0c;AI数字人&#xff08;Digital Human&#xff09;作为新一代人机交互媒介&#xff0c;正在多个行业中快速落地。无论是在虚拟主播、在线客服、教育培训&#xff0c;还是在数字代言、元宇宙中&#xff0c;AI数字人都扮演着越来越重要…

Android开发-数据库SQLite

在Android应用开发中&#xff0c;当需要存储结构化数据时&#xff0c;SQLite是一个非常强大的工具。SQLite是一款轻量级的关系型数据库管理系统&#xff0c;它内嵌于Android系统中&#xff0c;支持SQL语法&#xff0c;并且不需要单独的服务器进程或系统配置。本文将介绍如何在A…

android实现USB通讯

在 Android 上枚举 USB 设备除了使用 UsbManager.getDeviceList() 方法外&#xff0c;还有以下几种常见的方式&#xff1a; 1. 使用 USB 设备过滤器&#xff08;XML 配置&#xff09; 通过在 AndroidManifest.xml 中配置 USB 设备过滤器&#xff0c;可以让系统自动检测并通知…

FFmpeg视频编码的完整操作指南

步骤如下&#xff1a; 安装和准备FFmpeg&#xff1a;确保包含所需编码器&#xff08;如libx264&#xff09;。基本命令行编码&#xff1a;使用ffmpeg命令进行转码&#xff0c;设置视频编码器、CRF、预设等。API编码流程&#xff08;针对开发者&#xff09;&#xff1a; a. 注册…

鸿蒙 UIAbility组件与UI的数据同步和窗口关闭

使用 EventHub 进行数据通信 Stage模型概念图 根据 Stage 模型概念图 UIAbility 先于 ArkUI Page 创建 所以&#xff0c;事件要先 .on 订阅 再 emit 发布 假如现在有页面 Page1 和他的 UIAbility // src/main/ets/page1ability/Page1Ability.ets onCreate(want: Want, laun…

全栈工程师实战手册:LuatOS日志系统开发指南!

本文聚焦LuatOS-log库的实战应用场景&#xff0c;通过完整案例演示日志模块集成、格式定制及远程同步方案&#xff0c;帮助全栈开发者构建灵活可靠的日志管理框架。下面&#xff0c;我们一起来认识LuatOS的log库&#xff01; 一、 log.info() log info()主要打印一些正常的…

STM32-USART串口通信(9)

一、通信接口介绍 通信的目的&#xff1a;将一个设备的数据传送到另一个设备&#xff0c;扩展硬件系统。 当STM32想要实现一些功能&#xff0c;但是需要外挂一些其他模块才能实现&#xff0c;这就需要在两个设备之间连接上一根或多跟通信线&#xff0c;通过通信线路发送或者接…

【MoveIt 2】使用 MoveIt 任务构造器(MoveIt Task Constructor)进行拾取和放置

本教程将引导您创建一个使用 MoveIt 任务构造器规划抓取和放置操作的包。MoveIt 任务构造器&#xff08;https://github.com/moveit/moveit_task_constructor/tree/ros2/&#xff09;提供了一种为包含多个不同子任务&#xff08;称为阶段&#xff09;的任务进行规划的方法。如果…

破解商业综合体清洁管理困局:商业空间AI智能保洁管理系统全场景解决方案

方案整体概述 随着商业综合体日益向智能化、精细化管理转型&#xff0c;传统保洁工作面临人员监管难、清洁效果评估难、应急响应滞后等诸多挑战。为解决这些痛点&#xff0c;本系统依托计算机视觉、行为识别、图像分割与深度学习等AI技术&#xff0c;构建一套集人员管理、工作…

spring响应式编程系列:异步消费数据

目录 示例 大致流程 parallel cache PARALLEL_SUPPLIER newParallel init publishOn new MonoSubscribeOnValue ​​​​​​​subscribe ​​​​​​​new LambdaMonoSubscriber ​​​​​​​MonoSubscribeOnValue.subscribe ​​​​​​​onSubscribe ​​…

视频编解码学习十二之Android疑点

一、android.view.SurfaceControl.setDisplaySurface的作用 android.view.SurfaceControl.setDisplaySurface 是 Android 系统中一个 native 层级别的 API&#xff0c;主要用于 设置某个物理显示屏&#xff08;Display&#xff09;的输出 Surface&#xff0c;属于 SurfaceFlin…

家用或办公 Windows 电脑玩人工智能开源项目配备核显的必要性(含 NPU 及显卡类型补充)

一、GPU 与显卡的概念澄清 首先需要明确一个容易误解的概念&#xff1a;GPU 不等同于显卡。 显卡和GPU是两个不同的概念。 【概念区分】 在讨论图形计算领域时&#xff0c;需首先澄清一个常见误区&#xff1a;GPU&#xff08;图形处理单元&#xff09;与显卡&#xff08;视…

Python----神经网络(《Deep Residual Learning for Image Recognition》论文和ResNet网络结构)

一、论文 1.1、论文基本信息 标题&#xff1a;Deep Residual Learning for Image Recognition 作者&#xff1a;Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun 单位&#xff1a;Microsoft Research 会议&#xff1a;CVPR 2016 主要贡献&#xff1a;提出了一种深度残…

Qt/C++开发监控GB28181系统/录像文件查询/录像回放/倍速播放/录像文件下载

一、前言 搞定了实时预览后&#xff0c;另一个功能就是录像回放&#xff0c;录像回放和视频点播功能完全一致&#xff0c;唯一的区别就是发送点播的sdp信息中携带了开始时间和结束时间&#xff0c;因为是录像文件&#xff0c;所以有这个时间&#xff0c;而实时视频预览这个对应…