第五篇:linux之vim编辑器、用户相关
第五篇:linux之vim编辑器、用户相关
文章目录
- 第五篇:linux之vim编辑器、用户相关
- 一、vim编辑器
- 1、什么是vim?
- 2、为什么要使用vim?
- 3、vi和vim有什么区别?
- 4、vim编辑器三种模式
- 二、用户相关
- 1、什么是用户?
- 2、相关操作
- 3、su和sudo
- 4、特殊权限
- 三、paramiko模块使用
一、vim编辑器
1、什么是vim?
vi和vim是linux下的一个文本编辑器。
2、为什么要使用vim?
因为linux系统一切皆文件,而我们工作中最多的就是修改某个服务的配置(其实就是修改文件内容)。
也就是说如果没有vi或vim,很多工作便无法完成。
3、vi和vim有什么区别?
vi和vim都是文本编辑器,只不过vim是vi的增强版,比vi多了语法高亮显示,其它的编辑功能基本无差。
ps:因为前期安装我们使用了最小化安装centos系统,所以默认情况下没有vim,我们需要通过yum install vim -y
进行安装。
4、vim编辑器三种模式
-
普通模式
主要用于光标移动,可以对文本进行复制、粘贴、删除等功能。使用
vim 文件名
编辑一个文件时,已进入该文件就是普通模式。在这个模式下,可以进行光标移动、复制、删除、粘贴等操作。
"""1、命令光标移动"""
gg # 光标跳转到文件顶端
G # 光标跳转到文件末端
Ngg # 光标跳转到当前文件内的第N行【常用】"""2、单词和字符串移动"""
h # 左移
l # 右移
j # 下移
k # 上移
^/0 # 移动到行首,【0包含缩进字符,^不包含缩进字符】 【常用】
$ # 光标跳转到当前光标所在行的尾部 【常用】
w/W # 正向移动到下一个单词开头 【常用】
b/B # 反向移动到下一个单词开头 【常用】
e # 正向移动到下一个单词词尾 【常用】
ge # 反向移动到上一个单词词尾 【词尾】"""3、文件内容较多"""
ctrl + b # 向上翻页 【常用】
ctrl + f # 向下翻页 【常用】"""4、复制与粘贴"""
y # 复制当前单个字符
yy # 复制当前光标所在行 【常用】
5yy # 复制当前光标以及光标向下的4行
p(小写) # 粘贴至当前光标的下一行 【常用】
P(大写) # 粘贴至当前光标的上一行"""5、剪切与删除"""
d # 删除所选中区域【与v模式结合使用】
dd # 剪切当前光标所在的行 【常用】
4dd # 剪切当前光标所在的行以及往下3行
dG # 删除当前光标以后的所有行
D # 删除当前行中光标及光标以后的内容 【常用】
x(小写) # 删除当前光标所在位置的一个字符
X(大写) # 删除当前光标所在位置之前的一个字符
di" # 删除引号之中的内容【常用】
da" # 删除包含引号的内容【常用】
df指定字符 # 删除光标到指定字符的内容"""6、剪切、撤销"""
dd # 其实也是剪切
u # 撤销上一次的操作 【常用】
ctrl+r # 恢复之前的操作"""7、替换"""
r # 替换当前光标标记的单个字符
R # 进入REPLICE模式,连续进行替换,按ESC退出 """8、缩进"""
>> # 右缩进
m,n> # m到n行缩进
-
编辑模式
主要进行对文本内容的编辑和修改,从普通模式进入到编辑模式,只需按一个键(i,l,a,A,o,O),当进入编辑模式时,会在屏幕最下一行出现
INSERT
标记,从编辑模式回到普通模式只需要按ESC
键即可。
i # 进入编辑模式,光标不做任何处理
a # 进入编辑模式,将光标往后一位
o # 进入编辑模式,并在当前光标下添加一行空白内容I # 进入编辑模式,并且光标会跳转至本行的头部
A # 进入编辑模式,将光标移动至本行的尾部
O # 进入编辑模式,并在当前光标上添加一行空白字符v: # 进入可视模式
-
命令模式
主要用于保存、退出操作。在普通模式下,输入":“或者”/"即可进入命令模式。编辑模式不能进行命令模式。同时,退出命令模式也使用
ESC
。在命令模式下,可以执行的操作有显示行号、搜索、替换、保存、退出。
"""1、文件的保存与退出"""
:w # 保存当前状态
:w! # 强制保存当前状态
:q # 退出当前文档(文档必须保存才能退出)
:q! # 强制退出当前文档不会修改当前内容
:wq # 先保存,再退出
:wq! # 强制保存并退出
:x # 先保存,再退出
:number # 跳转到数字number对应的行号 【常用】
:set nu # 显示行号 【number】
:set nonu # 不显示行号【nonumber】"""2、文件内容查找"""
:/string # 需要搜索的内容(查找)"""3、文件内容替换"""
:1,5s/nb/yangyi # 将1-5行中的nb改为yangyi
:s/yangyi/leichao/g # 将当前行中的yangyi改为leichao
:%s/yangyi/leichao/g # 将整个文本中的yangyi替换成leichao"""4、另存为"""
:w /root/test.txt # 将所有内容另存到/root/test.txt文件中"""补充"""
vim编辑器中tab键默认是8位,不太美观,我们可以在/etc/vimrc中进行修改即可
set tabstop=4
set shiftwidth=4
二、用户相关
1、什么是用户?
用户指的是能够正常登录linux或windows系统。linux和windows用户的不同之处在于,linux支持多个用户同时登陆,且登录后之间操作并不影响。而windows虽可以创建多个用户,但不允许同一时间多个用户同时登陆。
linux系统会将用户的信息存放在/etc/passwd
,记录用户的信息,但没有密码信息,密码被存放在/etc/shadow
中,也就是说这两个文件相当重要,不可轻易进行修改和删除。
我们先打开/etc/passws
进行查看。
root:x:0:0:root:/root:/bin/bash
我们接着来看/etc/shadow
文件。
root:$6$VYtJxrzUXZo.7Glk$UDi6.yzxi0IvQh012U8lVQnYJ.CE4pywPp8XMNiZfcCmZL7XLANH9/d/OYHD1glh/.x2mLDArs6AI4OfhsRRE0::0:99999:7:::
我们接着了解一下相关的约定。
用户UID | 系统中约定的含义 |
---|---|
0 | 超级管理员,最高权限,具有极强的破环能力 |
1~200 | 系统用户,用来进行系统自带的进程,默认已创建 |
201~999 | 系统用户,用来运行用户安装的程序,所以此类用户无需登录系统 |
1000+ | 普通用户,可以正常登录系统的用户,权限比较小,能执行的任务有限 |
2、相关操作
- 查看用户的信息
"""查看当前登录用户的信息"""
id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
# uid: 用户id,系统只能识别uid,不能识别名字。
# gid: 组id"""查看其它用户的信息"""
id yangyi1
uid=1000(yangyi1) gid=1000(yangyi1) groups=1000(yangyi1)"""每一个进程都会由一个用户身份运行""""""查看更详细的信息"""
yum install finger
finger yangyi3
-
用户相关命令
下面我们围绕用户的创建、变更、删除等来进行阐述涉及到的命令:useradd、usermod、userdel
"""新增用户:useradd/adduser"""
useradd yangyi1 # 新增用户
passwd yangyi1 # 设置密码
输入密码[不设置为空]"""为什么adduser也可以创建用户?"""
ls -l /sbin/adduser
# adduser软链接到了useradd上
lrwxrwxrwx. 1 root root 7 Jul 29 20:10 /sbin/adduser -> useradd"""为用户新建详细信息"""
# 先添加三个组【一个用户只能属于一个主组,属于多个附加组】
groupadd sa1
groupadd sa2
groupadd sa3
# 新增用户
useradd -u 5001 -g sa1 -G sa2,sa3 -c "new user" -s /bin/bash yangyi3
# 查看创建的用户
id yangyi3
uid=5001(yangyi3) gid=1002(sa1) groups=1002(sa1),1003(sa2),1004(sa3)"""创建系统用户【重要】"""
创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统
useradd mysql -M -s /sbin/nologin
"""修改用户:usermod"""
grep yangyi3 /etc/passwd # 过滤出刚刚创建的用户信息
yangyi3:x:5001:1002:new user:/home/yangyi3:/bin/bash
# 举例【了解即可】
-usermod -c "new student" -md /bgx -s /bin/sh -l change_yangyi3 yangyi3usermod -L yangyi3 # 锁定用户,之后无法登陆系统【lock】
usermod -U yangyi3 # 解锁用户【unlock】
"""删除用户:userdel"""
选项: -r 删除用户的同时删除用户的家目录userdel yangyi3 # 删除yangyi3用户,但不删除用户的家目录
userdel -r yangyi3 # 删除用户,删家目录【慎用】"""组的增删改"""
# 没创建一个用户,如果不指定组,则会创建一个同名的组,放在/etc/group中,密码放在/etc/gshadow中
cat /etc/group
...
yangyi1:x:1000:
yangyi2:x:1001:
sa1:x:1002:
sa2:x:1003:
sa3:x:1004:groupadd sa # 新增组
groupmod -g 1111 sa # 改组id号
groupmod sa -n student # 改组名字
groupdel sa # 删除组(组下没有人,把人删除,再删)
3、su和sudo
-
su
切换用户
su - yangyi1 # 打开新的shell,会加载自己的环境变量
su yangyi2 # 不打开新的shell,不会加载它的环境变量
-
sudo
su命令在切换用户身份时,如果每个用户都能拿到root用户的密码,当某个用户泄露了root密码,系统就会变得不安全,为了解决这一问题,产生了sudo这个命令。
sudo使得普通用户可以拥有一些root用户的权限,不需要输入密码。
usermod yangyi1 -G wheel # 把yangyi1用户加入到了wheel这个附加组
sudo mkdir ll # 就可以在/home/【公共区域】路径下创建文件夹了,如果不行,是因为超级管理员没有给你分配权限,让管理员配一下即可。
4、特殊权限
选项: + 增加权限 -减少权限 = 等于某个权限
a 让文件或目录仅可追加内容
i 不得任意更动文件或目录"""举例使用"""
chattr +a test.txt
chattr +i test.txt
chattr -a test.txt
chattr -i test.txtlsattr test.txt # 可以查看文件具有哪些特殊属性
三、paramiko模块使用
使用python代码快速操作服务器。
import paramiko# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='10.0.0.100', post=22, username='root', password='123')
# 执行命令
stdin, stdout, stderr = ssh.exec_command('yum install vim -y')
# 获取命令结果
result = stdout.read()
# 打印输出结果
print(result.decode('utf-8'))
# 关闭连接
ssh.close()
相关文章:
第五篇:linux之vim编辑器、用户相关
第五篇:linux之vim编辑器、用户相关 文章目录 第五篇:linux之vim编辑器、用户相关一、vim编辑器1、什么是vim?2、为什么要使用vim?3、vi和vim有什么区别?4、vim编辑器三种模式 二、用户相关1、什么是用户?2…...
taobao.trades.sold.get(淘宝店铺订单接口)
淘宝店铺提供了多种订单接口,可以用来获取订单信息、创建订单、修改订单等操作。 获取订单列表接口:可以使用该接口获取店铺的订单列表,包括订单号、买家信息、订单状态等。 获取单个订单信息接口:可以使用该接口获取指定订单的详…...
媒体发稿攻略,解锁新闻发稿成长新高度
新闻媒体发稿全攻略! 如何快速上稿主流权威央级媒体? 大家好!今天来聊聊媒体发稿的那些事儿,希望能帮到正在发稿或者准备发稿的小伙伴们。 ①明确目标媒体 首先,得搞清楚你要把稿子发给哪些媒体和。这一步非常关键,因为选择适合的媒体是发…...
WebRTC服务器Coturn服务器部署
1、概述 作为WebRTC服务器,只需要部署开源的coturn即可,coturn同时实现了STUN和TURN的协议 2、Coturn具体部署 2.1 Coturn简介 coturn是一个开源的STUN/TURN服务器,把STUN服务器跟TURN服务器都整合为一个服务器,主要提供一下几个功…...
lspci的资料
PCI即Peripheral Component Interconnect。 在 Linux 上使用 lspci 命令查看硬件情况 | Linux 中国 lspci 命令用于显示连接到 PCI 总线的所有设备,从而满足上述需求。该命令由 pciutils 包提供,可用于各种基于 Linux 和 BSD 的操作系统。 使用 lspci 和…...
GitLab 提交权限校验脚本
.git/hooks 目录详解与配置指南 一、什么是 .git/hooks? .git/hooks 是 Git 仓库中一个隐藏目录,用于存放 钩子脚本(Hook Scripts)。这些脚本会在 Git 执行特定操作(如提交、推送、合并)的前/后自动触发&…...
WebRTC服务器Coturn服务器相关测试工具
1、概述 在安装开源的webrtc服务器coturn服务器后,会附带安装coturn的相关工具,主要有以下几种工具 2、turnadmin工具 说明:服务器命令行工具,提供添加用户、添加管理员、生成TURN密钥等功能,turnadmin -h查看详细用…...
基于Python+Pytest实现自动化测试(全栈实战指南)
目录 第一篇:基础篇 第1章 自动化测试概述 1.1 什么是自动化测试 第2章 环境搭建与工具链配置 2.1 Python环境安装(Windows/macOS/Linux) 2.2 虚拟环境管理 2.3 Pytest基础配置(pytest.ini) 第3章 Pytest核心语…...
符号速率估计——小波变换法
[TOC]符号速率估计——小波变换法 一、原理 1.Haar小波变换 小波变换在信号处理领域被成为数学显微镜,不同于傅里叶变换,小波变换可以观测信号随时间变换的频谱特征,因此,常用于时频分析。 当小波变换前后位置处于同一个码元…...
SQLMesh隔离系统深度实践指南:动态模式映射与跨环境计算复用
在数据安全与开发效率的双重压力下,SQLMesh通过动态模式映射、跨环境计算复用和元数据隔离机制三大核心技术,完美解决了生产与非生产环境的数据壁垒问题。本文提供从环境配置到生产部署的完整实施框架,助您构建安全、高效、可扩展的数据工程体…...
调整IntelliJ IDEA中当前文件所在目录的显示位置
文章目录 1. 问题呈现2. 调整方法3. 更改后的界面 更多 IntelliJ IDEA 的使用技巧可查看 IntelliJ IDEA 专栏中的文章: IntelliJ IDEA 1. 问题呈现 在 IntelliJ IDEA 中,我们在浏览某个文件时,文件所在的目录会显示在下方的状态栏中&#x…...
关于ubuntu密码正确但是无法登录的情况
参考这个文章: https://blog.csdn.net/cuichongxin/article/details/117462494 检查一下是不是用户被lock了 输入passwd -s username 如果用户是L状态,那么就是lock了。 使用 passwd -u username 解锁 关于 .bashrc 不生效 有几点: ~/.…...
OpenCV中的透视变换方法详解
文章目录 引言1. 什么是透视变换2. 透视变换的数学原理3. OpenCV中的透视变换代码实现3.1 首先定义四个函数 3.1.1 cv_show() 函数 3.1.2 def resize() 函数 3.1.3 order_points() 函数 3.1.4 four_point_transform() 函数 3.2 读取图片并做预处理3.3 轮廓检测3.4 获取最大…...
基于DeepSeek的网络爬虫技术创新与实践应用
摘要 在人工智能迅猛发展的时代背景下,网络爬虫技术正经历着深刻变革。本文聚焦于融合DeepSeek大模型的开源爬虫框架Crawl4AI,深入探讨其在网络数据抓取与分析领域的技术原理、功能特性、应用实践及未来发展趋势。通过对Crawl4AI的异步操作、动态内容处理…...
Python基于语音识别的智能垃圾分类系统【附源码、文档说明】
博主介绍:✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&…...
关于RPC
1.什么是RPC RPC(Remote Procedure Call),即远程过程调用(协议)。它允许像调用本地服务一样调用远程服务,用于实现分布式系统中跨网络进行通信 的技术,是一种计算机通信协议。 RPC是一种服务器…...
前端频繁调用后端接口问题思考
针对前端频繁调用后端接口的问题,以下是一套分步解决方案,结合Java后端技术栈: 1. 实时数据场景:WebSocket/SSE 适用场景:实时股票行情、即时聊天、监控仪表盘 // Spring WebSocket 配置示例 Configuration EnableW…...
Mujoco robosuite 机器人模型
import ctypes import os# 获取当前脚本所在的目录 script_dir os.path.dirname(os.path.abspath(__file__))# 构建库文件的相对路径 lib_relative_path os.path.join(dynamic_models, UR5e, Jb.so)# 拼接成完整的路径 lib_path os.path.join(script_dir, lib_relative_path…...
进阶篇 第 7 篇 (终章):融会贯通 - 多变量、模型选择与未来之路
进阶篇 第 7 篇 (终章):融会贯通 - 多变量、模型选择与未来之路 (图片来源: Pixabay on Pexels) 我们已经一起走过了时间序列分析的进阶之旅!从深入经典统计模型 ETS、ARIMA、SARIMA,到探索现代利器 Prophet,再到拥抱机器学习和初…...
网络安全·第五天·TCP协议安全分析
一、传输层协议概述 1、功能 传输层负责建立端到端的连接,即应用进程之间的通信,负责数据在端到端之间的传输。与网络层不同的是,网络层负责主机与主机之间的通信。 同时,传输层还要对收到的报文进行差错检测(首部和…...
LX10-MDK的使用技巧
MDK5的使用技巧 查找匹配花括号 Ctrle table键的妙用 一次右缩进4个(个人偏好设置)空格shiftenter取消,即左缩进 快速注释/取消注释 先选代码→ 快速编辑一列 按住ALT键选择一列编辑(实用性极强) 窗口拆分 倒数第一个:按列拆分倒数第二个:按行拆分 查找与替换(一个超级…...
IDEA创建Gradle项目然后删除报错解决方法
根据错误信息,你的项目目录中缺少Gradle构建必需的核心文件(如settings.gradle/build.gradle),且IDEA可能残留了Gradle的配置。以下是具体解决方案: 一、问题根源分析 残留Gradle配置 你通过IDEA先创建了Gradle子模块…...
JavaScript性能优化实战(2):DOM操作优化策略
浏览器渲染原理与重排重绘机制 浏览器将HTML和CSS转换为用户可见页面的过程是前端开发的基础知识,也是理解DOM性能优化的关键。这个渲染过程大致可分为以下几个步骤: 渲染过程的核心步骤 解析HTML构建DOM树:浏览器解析HTML标记,转换为DOM树(Document Object Model),表…...
乐视系列玩机---乐视1s x500 x501 x502等系列线刷救砖以及刷写第三方twrp 卡刷第三方固件步骤解析
乐视乐1S(X500 x501 x502 等)采用联发科 Helio X10(MT6795T)Turbo 64位8核处理器 通过博文了解💝💝💝 1💝💝💝-----详细解析乐视1s x500 x501x502等系列黑砖线刷救砖的步骤 2💝💝💝----官方两种更新卡刷步骤以及刷写第三方twrp过程与资源 3💝💝…...
Spark-Streaming(1)
Spark Streaming概述: 用于流式计算,处理实时数据流。 数据流以DStream(Discretized Stream)形式表示,内部由一系列RDD组成。 Spark Streaming特点: 易用、容错、易整合到spark体系。 易用性:…...
【Git】Git Revert 命令详解
Git Revert 命令详解 1. Git Revert 的基本概念 Git Revert 是一个用于撤销特定提交的命令。与 Git Reset 不同,Git Revert 不会更改提交历史,而是会创建一个新的提交来撤销指定提交的更改。这意味着,使用 Git Revert 后,项目的…...
SpringClound 微服务分布式Nacos学习笔记
一、基本概述 在实际项目中,选择哪种架构需要根据具体的需求、团队能力和技术栈等因素综合考虑。 单体架构(Monolithic Architecture) 单体架构是一种传统的软件架构风格,将整个应用程序构建为一个单一的、不可分割的单元。在这…...
PageIndex:构建无需切块向量化的 Agentic RAG
引言 你是否对长篇专业文档的向量数据库检索准确性感到失望?传统的基于向量的RAG系统依赖于语义相似性而非真正的相关性。但在检索中,我们真正需要的是相关性——这需要推理能力。当处理需要领域专业知识和多步推理的专业文档时,相似度搜索常…...
使用Java调用TensorFlow与PyTorch模型:DJL框架的应用探索
在现代机器学习的应用场景中,Python早已成为广泛使用的语言,尤其是在深度学习框架TensorFlow和PyTorch的开发和应用中。尽管Java在许多企业级应用中占据一席之地,但因为缺乏直接使用深度学习框架的能力,往往使得Java开发者对机器学…...
nodejs的包管理工具介绍,npm的介绍和安装,npm的初始化包 ,搜索包,下载安装包
nodejs的包管理工具介绍,npm的介绍和安装,npm的初始化包 ,搜索包,下载安装包 🧰 一、Node.js 的包管理工具有哪些? 工具简介是否默认特点npmNode.js 官方的包管理工具(Node Package Manager&am…...
LeetCode 热题 100_分割等和子集(89_416_中等_C++)(动态规划)
LeetCode 热题 100_分割等和子集(89_416) 题目描述:输入输出样例:题解:解题思路:思路一(动态规划): 代码实现代码实现(思路一(动态规划࿰…...
EasyCVR视频智能分析平台助力智慧园区:全场景视频监控摄像头融合解决方案
一、方案背景 在智慧园区建设的浪潮下,设备融合、数据整合与智能联动已成为核心诉求。视频监控作为智慧园区的“视觉中枢”,其高效整合直接影响园区的管理效能与安全水平。然而,园区内繁杂的视频监控设备生态——不同品牌、型号、制式的摄像…...
《剥开卷积神经网络CNN的 “千层酥”:从基础架构到核心算法》
文章目录 前言卷积神经网络(Convolutional Neural Network,CNN)是一种专门用于处理网格结构数据(如图像、视频、音频)的深度学习模型。它在计算机视觉任务(如图像分类、目标检测)中表现尤为出色…...
win10中打开python的交互模式
不是输入python3,输入python,不知道和安装python版本有没有关系。做个简单记录,不想记笔记了...
技术与情感交织的一生 (七)
目录 出师 大三 MVP 首战 TYMIS はじめまして 辣子鸡丁 报价 日本人 致命失误 大佬 包围 品质保障 扩军 唯快不破 闪电战 毕业 总攻 Hold On 出师 大三 大三的学习生活,能认认真真的上一天课的时候很少,甚至经常因为客户的 “传呼”…...
ElasticSearch深入解析(一):Elastic Stack全景
一、Elastic Stack的发展 过去和现在: Elastic数据平台在搜索、地理位置、内部日志、数据指标、安全监控和APM应用性能管理等场景中的应用颇具亮点。 APM(Application Performance Management,应用性能管理)是一种用于监控和管理…...
CAD在线查看免费,可以支持DWG/GLB/GLTF/doc/wps/pdf/psd/eml/zip, rar/MP3/MP4/svg/OBJ/FBX格式
CAD在线查看免费,可以支持DWG/GLB/GLTF/doc/wps/pdf/psd/eml/zip, rar/MP3/MP4/svg/OBJ/FBX格式 m.gszh.xyz m.gszh.xyz 免费支持以下格式文件在线查看类型 支持 doc, docx, xls, xlsx, xlsm, ppt, pptx, csv, tsv, dotm, xlt, xltm, dot, dotx, xlam, xla, pages …...
【机器学习案列-21】基于 LightGBM 的智能手机用户行为分类
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
多路转接poll服务器
目录 函数原型 poll服务器 对比select的优点 关于select的详解,可查看多路转接select服务器-CSDN博客 函数原型 #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout); poll作为多路转接的实现方案,与select要解决的问…...
全本地化智能数字人
🌟EdgePersona- 全本地化智能数字人 完全离线 | 隐私无忧 | 轻量高效 |笔记本友好 测试效果:【纯本地部署的电子魅魔!笔记本也能离线,隐私性拉满】 https://www.bilibili.com/video/BV1jydeYTETD/?share_sourcecopy_web&v…...
第6次课 贪心算法 A
向日葵朝着太阳转动,时刻追求自身成长的最大可能。 贪心策略在一轮轮的简单选择中,逐步导向最佳答案。 课堂学习 引入 贪心算法(英语:greedy algorithm),是用计算机来模拟一个「贪心」的人做出决策的过程…...
Docker 部署 PostgreSQL 数据库
Docker 部署 PostgreSQL 数据库 基于 Docker 部署 PostgreSQL 数据库一、拉取 PostgreSQL 镜像二、运行 PostgreSQL 容器三、运行命令参数详解四、查看容器运行状态 基于 Docker 部署 PostgreSQL 数据库 一、拉取 PostgreSQL 镜像 首先,确保你的 Docker 环境已正确…...
Android如何通过aspectj打造一个无侵入式动态权限申请框架
目录 一,背景 二,通过Aspectj管理所有的注解 三,配置注解 四,通过空白Activity完成真正的权限申请 五,引入依赖配置 一,背景 在Activity或者fragment中,写在几个方法写一些注释,用来表示权限申请成功,申请失败,多次拒绝。…...
Flink介绍——实时计算核心论文之Dataflow论文详解
引入 在过去的几篇文章里,我们看到了大数据的流式处理系统是如何一步一步进化的。从最早出现的S4,到能够做到“至少一次”处理的Storm,最后是能够做到“正好一次”数据处理的MillWheel。我们会发现,这些流式处理框架,…...
浅克隆(--depth 1)后如何获取完整的历史记录
如果远程remote为origin,则origin可以不写,如不是,则必须要写 获取全部分支 git fetch origin refs/heads/*:refs/remotes/origin/* 单独获取master分支 git fetch origin refs/heads/master:refs/remotes/origin/master 获取全部历史…...
安宝特案例 | 某知名日系汽车制造厂,借助AR实现智慧化转型
案例介绍 在全球制造业加速数字化的背景下,工厂的生产管理与设备维护效率愈发重要。 某知名日系汽车制造厂当前面临着设备的实时监控、故障维护,以及跨地域的管理协作等挑战,由于场地分散和突发状况的不可预知性,传统方式已无法…...
Feign 深度解析:Java 声明式 HTTP 客户端的终极指南
Feign 深度解析:Java 声明式 HTTP 客户端的终极指南 Feign 是由 Netflix 开源的 声明式 HTTP 客户端,后成为 Spring Cloud 生态的核心组件(现由 OpenFeign 维护)。它通过注解和接口定义简化了服务间 RESTful 通信,并…...
WPS Office安卓版云文档同步速度与PDF转换体验测评
WPS Office安卓版是很多人常用的移动办公软件。它支持在线编辑、文档同步、格式转换等功能,适合手机和平板用户随时处理文档。我们用它配合谷歌浏览器打开网页文档时,也可以将内容快速保存到云端或转换成PDF格式使用。 先说云文档同步。在打开WPS Office…...
ARM汇编的LDM和STM指令
批量加载/存储指令可以实现在一组寄存器和一块连续的内存单元之间传输数据.LDM 为加载多个寄存器,STM 为存储多个寄存器.允许一条指令传送 16 个寄存器的任何子集或所有寄存器.指令格式如下: LDM{cond}<模式> Rn{!},reglist{^} STM{cond}<模式> Rn{!}…...
Python-27:游戏英雄升级潜力评估
问题描述 小U在一款挂机游戏中拥有n个英雄。游戏中有一种历练升级机制,每天可以选择两个英雄进行历练,如果两位英雄的等级相同,则他们的等级都不会改变。如果英雄等级不同,那么等级较高的英雄会增加1级,而等级较低的英…...