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

【Linux基础开发工具】yum生态vim的配置与使用

目录

前言 

1. Linux 软件包管理器 yum

  1.1 什么是yum

 1.2 快速上手yum

 1.3 yum生态

2. Linux编辑器vim

2.1 vim的模式

2.2 vim使用技巧

3. vim编辑器辅助功能配置

3.1 配置

 3.2 用户sudo权限配置

 总结


前言 

        Linux基础指令与权限之后,Linux系统开发工具的使用也至关重要,今天我将分享一些优化Yum生态和Vim配置与使用相关内容,帮助你打造一个高效的Linux开发环境。

在这里插入图片描述

1. Linux 软件包管理器 yum

       在Linux系统的使用中难免需要安装一些软件,安装软件的方式有三种:

  • 源代码安装(下载到程序的源代码, 并进行编译, 得到可执行程序)
  • rpm包直接安装(使用较为复杂,国外资源下载较慢)
  • yum /apt-get

 前两种的安装方式过于复杂,为了解决安装软件麻烦的问题,于是便有了yum。

  1.1 什么是yum

       Yum (Yellowdog Updater Modified)是一个在Linux操作系统上管理软件包的工具,主要应用在Fedora、RedHat、Centos等发行版上 。Yum生态中包含了许多官方和第三方的软件包仓库,用户可以通过Yum来管理这些软件包仓库中的软件包。

yum:yum是Linux预装的一个指令,搜索、下载、安装对应的程序。

也可以理解为:yum就相当于Linux的应用商店

 1.2 快速上手yum

  • yum list

显示配置的仓库中所有可用软件包的列表

还可以使用特定选项来过滤 "yum list" 的输出

比如:

yum list installed 只显示已安装的软件包

  •  yum install [-y] command

它是在 Linux 系统中使用 Yum 软件包管理器安装软件的命令

  • "yum install" 后面跟着要安装的软件包名称或软件包的 URL
  • "-y" 是一个可选的参数,表示在安装软件包时不需要用户确认,直接自动确认安装
  • "command" 是要安装的软件包的名称或 URL。这个命令会让 Yum 软件包管理器自动下载并安装指定的软件包

在安装一些软件包时,如果yum没有,这时可以尝试安装一下yum的扩展包:

yum install -y epel-release
  • yum remove command

 用于卸载已安装的软件包的命令

注意:

它会删除指定的软件包及其相关的依赖项,同时也会删除软件包安装时创建的配置文件和数据文件

 1.3 yum生态

       我们知道yum是 Linux 软件包管理器,那么问题来了,yum从哪里获取软件,软件源又是什么,它又是怎么获取的呢?

 如下图:

 当输入指令时,yum会发送请求给远端仓库,根据指令信息,在远端仓库进行搜索,然后进行反馈。

yum源又是什么?怎么来的呢?

为了方便一些软件的下载,国内的一些组织会将国外的软件提前下载,放在远端的仓库供用户使用,我们也可以在我们的Linux机器上查看我们的远端仓库。

vim /etc/yum.repos.d/CentOS-Base.repo

        这里可以看到我的yum源是阿里云的远端仓库。当然yum源也是可以更改的,这里不再进行详细介绍,yum也是通过这个链接去访问远端仓库下载。

2. Linux编辑器vim

       vim是一个高度可定制的文本编辑器,通常用于在Linux系统上进行编程和文本编辑。它具有许多强大的功能。

 我们在Linux上敲代码几乎都是使用的vim编辑器。

 启动编辑器:

vim + "文件名"

 如果在使用vim指令时出现错误无法使用,那很可能是vim没有安装,安装指令:

sudo yum install vim

 我们启动vim编辑器进入到一个文件后,我们按键盘上的键会没有反应,有的有反应,但不是我们想要的效果等这些情况,这都是由于不熟悉vim编辑器的原因。

2.1 vim的模式

 vim编辑器有好多种模式,这里我们只介绍三种模式,以供我们的基本使用。

 在进行文本编辑操作时,我们做常用的也就三种模式:

  • 命令模式
  • 插入模式
  • 底行模式

 我们使用vim编辑器打开一个文件时,默认是在命令模式

 转换关系如下:

如果在使用vim的过程中遇到这样的情况:

 这是因为vim异常关闭造成的,在底行我们可以看到一行选项,‘R’-->shift +r,可以恢复文件内容,但是下次打开还是这样的页面。

这是因为vim在异常关闭时会产生一个临时文件:

 ‘D’->shift +d选项可以删除这个文件,这时再次使用vim打开code.c就正常了,或者自己手动删除

 注意:以 .(点)开头的文件是隐藏文件(ls -al指令可以查看到隐藏文件)

 命令行常用指令:

  • shift +&:光标定位到当前行最右侧结尾处
  • shift + ^:光标定位到当前行最左侧开头处
  • shift + g:光标定位到文本行最结尾
  • n+shift + g:光标定位到n指定行的开头
  • gg:光标定位到文本最开始
  • h:光标左移
  • j:光标下移
  • k:光标上移
  • l:光标右移
  • w:按照 “ 单词 ” 在行内向后移动
  • b:按照 “ 单词 ” 在行内向前移动
  • n+yy:复制当前行/多行(n指定复制行数,单行操作时可以不加数字n)
  • n+p:在下一行进行粘贴/多行(n指定粘贴次数,(单行操作时可以不加数字n)
  • u:撤销编辑操作(undo)
  • ctrl+r:对撤销进行插销
  • n+dd:剪切(删除)当前行/多行(单行操作时可以不加数字n)
  • shift+`-> ~:大小写进行快速切换
  • n+r:替换当前光标所在的字符
  • shift +r ->R:替换模式
  • n+x:删除光标所在字符(n指定删除的字符个数,向右删除)
  • n+shift+x:删除光标所在字符(向左删除)
  • shift +3 ->#:高亮要查找的函数名
  • n:下一个查找的函数/字符串名

底行模式:

  • w:保存写入
  • q:退出
  • wq:保存并退出
  • wq!:强制保存并退出(!为强制进行,可与上述底行命令结合使用)
  • !command:在底行模式进行命令操作

执行完一次操作后:按enter键或键入命令继续

 在底行模式下还可以创建文件:

 在底行模式创建的文件如果没有w指令,只用:q退出并不会实质性创建文件。

 创建文件后我们发现出现了多个窗口,并且他们是同一个底行,那底行输入到底是哪个窗口的?

光标所在界面就是我们所编辑的页面

  •  ctrl +ww:切换窗口
  • set nu:添加行号
  • set nonu:撤销行号

2.2 vim使用技巧

        我们使用vim主要是用来编写代码,那么批量注释和批量去注释是我们经常用的,那么怎么在Linux的vim模式下批量注释代码呢?

批量注释步骤如下:

  1. ctrl +v(默认命令模式进行)
  2. hjkl区域选择
  3. shift+i->I(此时会进入插入模式)
  4. //
  5. Esc

 批量去注释:

  1. ctrl+v
  2. hjkl区域选择
  3. d

3. vim编辑器辅助功能配置

         在Linux环境下,每个用户都可以配置自己的vim编辑器,示例将会在普通用户下进行

 在每个用户的家目录下一般情况下是没有.vimrc文件的。

         .vimrc文件是用来配置Vim编辑器的用户自定义配置文件。用户可以在这个文件中设置Vim的各种参数、键盘映射、颜色方案、插件等。这样在启动Vim时,会自动加载这个文件中的配置

 每个用户可以在自己的家目录下创建一个.vimrc文件并进行配置

 注意:Linux系统下自带有.vimrc文件的,在ect目录下,这个配置文件是root用户所使用的

3.1 配置

 在用户家目录下创建一个 .vimrc文件(cd ~进入自己的家目录)

 使用vim编辑器打开 .vimrc文件进行编辑(文件默认为空)

以下是一些编程常用指令的配置:

set nu                    " 显示行号
set cursorline            " 突出显示当前行
hi Cursorline cterm=bold ctermbg=black ctermfg=green guibg=green "粗体显示选中行,用黑色框,字体标绿
set autoindent           " 自动缩进
set cindent
set tabstop=4            " Tab键的宽度
set softtabstop=4        " 统一缩进为4
set shiftwidth=4
"括号补齐
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {}<ESC>i
inoremap " ""<ESC>i

 3.2 用户sudo权限配置

 我们已经基本了解了vim,现在可以使用vim编辑器来配置普通用户的sudo权限

  • 切换到root用户下(sudoers文件只有root可以修改),使用vim编辑器打开sudoers文件
vim /etc/sudoers
  •  打开之后向下移动光标找到## Allow root to run any commands anywhere的位置

  •  复制root那一行,粘贴到root的下一行,将root名字改为自己要添加sudo权限的用户名字即可

 总结

        本期的内容操作的内容非常多,向大家分享了许多vim编辑器使用的技巧,大家私下可以实操一下,能够使用好vim编辑器可以让我们更高效的工作学习,好了以上便是本期的全部内容。最后,感谢阅读!

相关文章:

【Linux基础开发工具】yum生态vim的配置与使用

目录 前言 1. Linux 软件包管理器 yum 1.1 什么是yum 1.2 快速上手yum 1.3 yum生态 2. Linux编辑器vim 2.1 vim的模式 2.2 vim使用技巧 3. vim编辑器辅助功能配置 3.1 配置 3.2 用户sudo权限配置 总结 前言 Linux基础指令与权限之后&#xff0c;Linux系统开发工具的使用…...

java-HashMap、TreeMap、LinkedHashMap、ArrayList、LinkedList使用笔记

背景 Map<String, Integer> unsortedMap new HashMap<>(); unsortedMap.put("One", 1); unsortedMap.put("Two", 2); unsortedMap.put("Three", 3); unsortedMap.put("Four", 4); 一、关于排序 TreeMap&#…...

Oracle中mybatis批量更新报错ORA-00933:SQL命令未正确结束

项目场景&#xff1a; 最近在开发项目的过程中遇见了这个问题&#xff1a;Oracle中批量更新的时候报错 ORA-00933&#xff1a;SQL命令未正确结束 问题描述 mybatis批量更新报错ORA-00933&#xff1a;SQL命令未正确结束 <foreach item"item" index"index&q…...

Mysql综合案例练习<1>

MySql综合案例练习<1> 题目一题目二题目三题目四题目五题目六题目七题目八题目九题目十题目十一题目十二题目十三题目十四题目十五题目十六题目十七题目十八题目十九 题目一 创建数据库test01_library 创建表 books&#xff0c;表结构如下&#xff1a; CREATE DATABASE …...

Linux系统编程:线程总结

线程的概念 基本概念 所谓线程&#xff0c;通俗的说就是一个正在运行的函数。 在Linux系统中&#xff0c;线程是程序运行的最小单位&#xff0c;也被视为进程内部的控制序列。同一进程下的多个线程共享进程的所有资源&#xff0c;包括进程环境变量、打开的文件描述符、信号量…...

activemq启动成功但web管理页面却无法访问

前提&#xff1a; 在linux启动activemq成功&#xff01;本地能ping通linux 处理方案&#xff1a; 确定防火墙是否关闭&#xff0c; 有两种处理方案&#xff1a;第一种-关闭防火墙&#xff1b;第二种-暴漏8161和61616两个端口 netstat -lnpt查看8161和61616端口 注意&#xf…...

【Flink on k8s】- 0 - Flink kubernetes operator 快速入门与实战

完整的课程,请点击链接。 目录 一、你将收获 二、适用人群 三、课程介绍...

毕设:《基于hive的音乐数据分析系统的设计与实现》

文章目录 环境启动一、爬取数据1.1、歌单信息1.2、每首歌前20条评论1.3、排行榜 二、搭建环境1.1、搭建JAVA1.2、配置hadoop1.3、配置Hadoop环境&#xff1a;YARN1.4、MYSQL1.5、HIVE(数据仓库)1.6、Sqoop&#xff08;关系数据库数据迁移&#xff09; 三、hadoop配置内存四、导…...

PHP使用HTTP代码示例模板

PHP是一种广泛用于服务器端的编程语言&#xff0c;它提供了许多内置的函数和扩展&#xff0c;以便开发人员能够轻松地处理HTTP请求和响应。在PHP中&#xff0c;您可以使用以下代码示例模板来处理HTTP请求和生成HTTP响应。 php复制代码 <?php // 处理GET请求 if ($…...

头歌题目-数组

任务描述 题目描述:找出具有m行n列二维数组Array的“鞍点”&#xff0c;即该位置上的元素在该行上最大&#xff0c;在该列上最小&#xff0c;其中1<m,n<10。 相关知识&#xff08;略&#xff09; 编程要求 输入 输入数据有多行&#xff0c;第一行有两个数m和n&#…...

C++ vector基本操作

目录 一、介绍 二、定义 三、迭代器 四、容量操作 1、size 2、capacity 3、empty 4、resize 5、reserve 总结&#xff08;扩容机制&#xff09; 五、增删查改 1、push_back & pop_back 2、find 3、insert 4、erase 5、swap 6、operator[] 一、介绍 vector…...

使用SLS日志服务采集Kong网关的日志

一、阿里云SLS 官方的接入文档已比较丰富了&#xff0c;本文不意重复说明此事。 站在使用的角度&#xff0c;以采集Kong的日志为示例&#xff0c;说明我们应该如何治理日志。 说白了&#xff0c;本文是想给你怎么省钱作一个建议&#xff0c;希望不会让你公司也“降本增笑”。…...

TA-Lib学习研究笔记(九)——Pattern Recognition (1)

TA-Lib学习研究笔记&#xff08;九&#xff09;——Pattern Recognition &#xff08;1&#xff09; 0.程序代码 形态识别的函数的应用&#xff0c;通过使用A股实际的数据&#xff0c;验证形态识别函数&#xff0c;用K线显示出现标志的形态走势&#xff0c;由于入口参数基本上…...

基于GAN的多尺度门合并多模态MRI图像合成

Multi-Modal MRI Image Synthesis via GAN With Multi-Scale Gate Mergence 基于GAN的多尺度门合并多模态MRI图像合成背景贡献实验方法生成器gate mergence (GM) strategy&#xff08;门控融合策略&#xff09;判别器 损失函数Thinking 基于GAN的多尺度门合并多模态MRI图像合成…...

浅谈https

1.网络传输的安全性 http 协议&#xff1a;不安全&#xff0c;未加密https 协议&#xff1a;安全&#xff0c;对请求报文和响应报文做加密 2.对称加密与非对称加密 2.1 对称加密 特点&#xff1a; 加解密使用 相同 秘钥 高效&#xff0c;适用于大量数据的加密场景 算法公开&a…...

计算两个结构的差

平面上有6个点&#xff0c;以6a1的方式运动 1 1 1 1 - - - 1 - - - 1 现在有一个点逃逸&#xff0c;剩下的5个点将如何运动&#xff1f; 2 2 2 3 - - - 3 - - - 3 将6a1的6个点减去1个点&#xff0c;只有两种可能&#xff0c;或者变成5a2&#xff0c…...

class037 二叉树高频题目-下-不含树型dp【算法】

class037 二叉树高频题目-下-不含树型dp【算法】 code1 236. 二叉树的最近公共祖先 // 普通二叉树上寻找两个节点的最近公共祖先 // 测试链接 : https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/ package class037;// 普通二叉树上寻找两个节点的最近…...

使用cpolar完成内网穿刺

cpolar官网上有一句评论&#xff1a;cpolar是用过最简单的内网穿刺工具&#xff01; 实际体验下来&#xff0c;cpolar确实是能够非常简单地实现内网穿刺 先说弊端&#xff0c;免费版的cpolar提供的穿刺地址&#xff0c;有效期为一天&#xff0c;进程连接数有限&#xff0c;如…...

git的使用:基础配置和命令行

前言 代码管理工具,任何开发都离不开的话题。 到了任何公司,第一件事肯定是配置个人的电脑。主要就是三点,配置对应的开发环境,配置各类开发工具和配置git等代码管理工具拉取代码。 这篇文章主要是git的配置和最常用(我指的是最常用)的命令行使用 git基础配置 git的安装 …...

若依微服务项目整合rocketMq

原文链接&#xff1a;ttps://mp.weixin.qq.com/s/IYdo_suKvvReqCiEKjCeHw 第一步下载若依项目 第二步安装rocketMq&#xff08;推荐在linux使用docker部署比较快&#xff09; 第二步新建一个生产者模块儿&#xff0c;再建一个消费者模块 第四步在getway模块中配置接口映射规…...

连接服务器的ssh终端自动断开解放方法

在Linux中&#xff0c;SSH连接在一段时间内没有活动时可能会自动断开&#xff0c;这是为了安全性考虑的一种默认行为&#xff0c;以防止未经授权的访问。这个时间限制通常由SSH服务器的配置决定。你可以通过以下几种方式来处理这个问题&#xff1a; 1.使用SSH配置文件&#xf…...

Windows+WSL开发环境下微服务注册(Consul)指定IP

Win11下安装一个WSL2&#xff0c;做开发环境&#xff0c;简直是爽到不要不要的&#xff0c;相当于既有Windows下的完善生态&#xff0c;又有linux的便利。特别是&#xff0c;在linux下运行的服务端口号&#xff0c;完全和windows是相通的&#xff0c;直接在windows下浏览访问&a…...

通过K8S安装人大金仓数据库

1. 离线下载镜像&#xff0c;请点击 2. 官网下载镜像 https://www.kingbase.com.cn/xzzx/index.htm&#xff0c;根据自己的需求下载对应版本。 3. K8S需要的yaml清单 cat > kingbase.yaml << EOF apiVersion: apps/v1 kind: Deployment metadata:name: kingbase-…...

正则表达式(3):入门

正则表达式&#xff08;3&#xff09;&#xff1a;入门 小结 本博文转载自 从这篇文章开始&#xff0c;我们将介绍怎样在Linux中使用”正则表达式”&#xff0c;如果你想要学习怎样在Linux中使用正则表达式&#xff0c;这些文章就是你所需要的。 在认识”正则表达式”之前&am…...

《系统架构设计师教程(第2版)》第2章-计算机系统基础知识-01-计算机硬件

文章目录 1. 计算机系统概述2. 计算机硬件2.1 处理器(CPU)2.2 存储器2.2.1 概述2.2.2 按硬件结构分类2.2.3 按与处理器距离分2.3 总线(Bus)2.3.1 概念2.3.2 分类2.3.3 串行总线和并行总线2.4 接口2.4.1 概念2.4.2 常见接口2.5 外部设备1. 计算机系统概述 #mermaid-svg-IcU0sR…...

用友NC word.docx接口存在任意文件读取漏洞

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 一、产品介绍 用友 NC Cloud&#xff0c;大型企业数字化平台&#xff…...

【离散数学】——期末刷题题库(等价关系与划分)

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…...

IDEA maven无法下载源代码处理

1、使用idea内置maven 在idea中新增一个mvn运行项,截图如下: 输入命令: dependency:resolve -Dclassifiersources 2、如果外部maven&#xff0c;不使用idea内部maven 在工程目录下命令行执行命令: mvn dependency:resolve -Dclassifiersources...

基于B/S架构的医院一体化电子病历编辑器源码

电子病历在线制作、管理和使用的一体化电子病历解决方案&#xff0c;通过一体化的设计&#xff0c;提供对住院病人的电子病历书写、保存、修改、打印等功能。电子病历系统将临床医护需要的诊疗资料以符合临床思维的方法展示。建立以病人为中心&#xff0c;以临床诊疗信息为主线…...

免费百度SEO优化工具,百度SEO优化排名工具

百度SEO关键词工具 让我们聚焦在百度SEO关键词工具上。对于任何想要在百度搜索引擎中脱颖而出的网站管理员而言&#xff0c;深入了解用户搜索习惯和关键词的选择是至关重要的。 百度SEO关键词工具不仅提供了免费的服务&#xff0c;而且功能强大。通过输入相关领域的关键词&…...

12.Java程序设计-基于Springboot框架的Android学习生活交流APP设计与实现

摘要 移动应用在日常生活中扮演着越来越重要的角色&#xff0c;为用户提供了方便的学习和生活交流渠道。本研究旨在设计并实现一款基于Spring Boot框架的Android学习生活交流App&#xff0c;以促进用户之间的信息分享、学术交流和社交互动。 在需求分析阶段&#xff0c;我们明…...

JVM虚拟机(已整理,已废弃)

# JVM组成 ## 简述程序计数器 线程私有&#xff0c;内部保存class字节码的行号。用于记录正在执行的字节码指令的地址。 线程私有-每个线程都有自己的程序计数器PC&#xff0c;用于记录当前线程执行哪个行号 ## 简述堆 ## 简述虚拟机栈 ## 简述堆栈区别 ## 方法内局部变量是…...

强化学习——简单解释

一、说明 最近 OpenAI 上关于 Q-star 的热议激起了我温习强化学习知识的兴趣。这是为强化学习 (RL) 新手提供的复习内容。 二、强化学习的定义 强化学习是人类和其他动物用来学习的学习类型。即&#xff0c;通过阅读房间来学习。&#xff08;从反馈中学习&#xff09;。让我解…...

IoT DC3 是一个基于 Spring Cloud 全开源物联网平台 linux docker部署傻瓜化步骤

如有不了解可先参考我的另一篇文章本地部署:IoT DC3 是一个基于 Spring Cloud 的开源的、分布式的物联网(IoT)平台本地部署步骤 如有不了解可先参考我的另一篇文章本地部署: 1 环境准备: JDK 8 以上 docker 安装好 下载docker-compose-dev.yml 文件 执行基础环境docker安装 …...

SSM项目实战-前端-在Index.vue中展示第一页数据

1、util/request.js import axios from "axios";let request axios.create({baseURL: "http://localhost:8080",timeout: 50000 });export default request 2、api/schedule.js import request from "../util/request.js";export let getSchedu…...

深入理解mysql的explain命令

1 基础 全网最全 | MySQL EXPLAIN 完全解读 1.1 MySQL中EXPLAIN命令提供的字段包括&#xff1a; id&#xff1a;查询的标识符。select_type&#xff1a;查询的类型&#xff08;如SIMPLE, PRIMARY, SUBQUERY等&#xff09;。table&#xff1a;查询的是哪个表。partitions&…...

相交链表(LeetCode 160)

文章目录 1.问题描述2.难度等级3.热门指数4.解题思路方法一&#xff1a;暴力法方法二&#xff1a;哈希表方法三&#xff1a;双栈方法四&#xff1a;双指针&#xff1a;记录链表长度方法五&#xff1a;双指针&#xff1a;互换遍历 5.实现示例参考文献 1.问题描述 给两个单链表的…...

C++多态(详解)

一、多态的概念 1.1、多态的概念 多态&#xff1a;多种形态&#xff0c;具体点就是去完成某个行为&#xff0c;当不同的对象去完成时会产生出不同的状态。 举个例子&#xff1a;比如买票这个行为&#xff0c;当普通人买票时&#xff0c;是全价买票&#xff1b;学生买票时&am…...

06、基于内容的过滤算法Tensorflow实现

06、基于内容的过滤算法Tensorflow实现 开始学习机器学习啦&#xff0c;已经把吴恩达的课全部刷完了&#xff0c;现在开始熟悉一下复现代码。全部工程可从最上方链接下载。 05、基于梯度下降的协同过滤算法中已经介绍了协同过滤算法的基本实现方法&#xff0c;但是这种方法仅…...

html/css中用float实现的盒子案例

运行效果&#xff1a; 代码部分&#xff1a; <!doctype html> <html> <head> <meta charset"utf-8"> <title>无标题文档</title> <style type"text/css">.father{width:300px; height:400px; background:gray;…...

simulink中 Data store memory、write和read模块及案例介绍

目录 1.Data store memory模块 2.data store write模块 3.data store read模块 4.仿真分析 4.1简单使用三个模块 4.2 模块间的调用顺序剖析 1.Data store memory模块 向右拖拉得到Data store read模块&#xff0c;向左拉得到Data write模块 理解&#xff1a;可视为定义变量…...

java设计模式学习之【装饰器模式】

文章目录 引言装饰器模式简介定义与用途实现方式 使用场景优势与劣势装饰器模式在Spring中的应用画图示例代码地址 引言 在日常生活中&#xff0c;我们常常对基本事物添加额外的装饰以增强其功能或美观。例如&#xff0c;给手机加一个保护壳来提升其防护能力&#xff0c;或者在…...

Ubuntu宝塔面板本地部署Emlog个人博客网站并远程访问【内网穿透】

文章目录 前言1. 网站搭建1.1 Emolog网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2.Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 3. 公网访问测试总结 前言 博客作为使…...

简述IO流的使用以及使用时需要注意的事项

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍介绍IO流的使用以及使用时需要注意的事项以及部分理论知识 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主收将持续更新学习记录获&#xff0c;友友们有任何问题可…...

西工大计算机学院计算机系统基础实验一(函数编写11~14)

稳住心态不要慌&#xff0c;如果考试周冲突的话&#xff0c;可以直接复制这篇博客和上一篇博客西工大计算机学院计算机系统基础实验一&#xff08;函数编写1~10&#xff09;-CSDN博客最后的代码&#xff0c;然后直接提交&#xff0c;等熬过考试周之后回过头再慢慢做也可以。 第…...

Spring 声明式事务

Spring 声明式事务 1.Spring 事务管理概述1.1 事务管理的重要性1.2 Spring事务管理的两种方式1.2.1 编程式事务管理1.2.2 声明式事务管理 1.3 为什么选择声明式事务管理 2. 声明式事务管理2.1 基本用法2.2 常用属性2.2.1 propagation&#xff08;传播行为&#xff09;2.2.2 iso…...

通达OA inc/package/down.php接口存在未授权访问漏洞

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 一. 产品简介 通达OA&#xff08;Office Anywhere网络智能办公系统&am…...

数据库原理: 笛卡儿积

笛卡儿积&#xff08;Cartesian Product&#xff09;是集合论中的一个概念&#xff0c;也在数据库中的查询操作中经常使用。笛卡儿积是指两个集合&#xff08;或更多集合&#xff09;之间所有可能的组合。如果有两个集合A和B&#xff0c;它们的笛卡儿积记作A B&#xff0c;表示…...

docker安装配置prometheus+node_export+grafana

简介 Prometheus是一套开源的监控预警时间序列数据库的组合&#xff0c;Prometheus本身不具备收集监控数据功能&#xff0c;通过获取不同的export收集的数据&#xff0c;存储到时序数据库中。Grafana是一个跨平台的开源的分析和可视化工具&#xff0c;将采集过来的数据实现可视…...

【JavaScript】JS——Map数据类型

【JavaScript】JS——Map数据类型 什么是Map?特性Map与Object的比较 map的创建map的属性map相关方法map的遍历 什么是Map? 存储键值对的对象。 能够记住键的原始插入顺序任何值&#xff08;对象或原始值&#xff09;都可以作为键或值。 特性 Map中的一个键只能出现一次&am…...