【Linux】Linux环境基础开发工具使用之软件包管理(yum)与 Linux编辑器(vim)

在这里插入图片描述

目录

  • 一、Linux 软件包管理器 yum
    • 1.1 什么是软件包
    • 1.2 关于 rzsz
    • 1.3 查看软件包
    • 1.4 如何安装软件
    • 1.5 如何卸载软件
    • 1.6 如何更新软件包
    • 1.7 yum源更新
  • 二、 Linux编辑器-vim使用
    • 2.1 vim的基本概念
    • 2.2 vim的基本操作
    • 2.3 vim命令模式命令集
      • 2.3.1 从命令模式切换为插入模式
      • 2.3.2 从插入模式切换为命令模式
      • 2.3.3 移动光标
      • 2.3.4.删除文字
      • 2.3.5 复制
      • 2.3.6 替换
      • 2.3.7 撤销上一次操作
      • 2.3.8 更改
      • 2.3.9 跳至指定的行
      • 2.3.10 文本大小写相互转换
    • 2.4 vim底行模式命令集
      • 2.4.1 行号显示/不显示
      • 2.4.2 跳到文件中的某一行
      • 2.4.3 查找字符
      • 2.4.4 保存文件
      • 2.4.5 离开vim
    • 2.5 vim视图模式
      • 2.5.1 代码批量注释
      • 2.5.2 代码批量取消注释
    • 2.6 vim替换模式
    • 2.7 vim的多文件编辑
      • 2.7.1 打开多个文件
      • 2.7.2 分割窗口
    • 2.8 简单vim配置
      • 2.8.1 配置文件的位置
      • 2.8.2 vim 配置原理
      • 2.8.3 vim 配置
        • 2.8.3.1 手动配置
        • 2.8.3.2 自动化部署配置
  • 结尾

一、Linux 软件包管理器 yum

1.1 什么是软件包

  • 在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序。
  • 但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装。
  • 软件包和软件包管理器,就好比 “App” 和 “应用商店” 这样的关系。
  • yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora、RedHat、Centos等发行版上。

1.2 关于 rzsz

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。
安装完毕之后可以通过拖拽的方式将文件上传过去。

注意事项
关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!
可以通过 ping 指令验证 ping www.baidu.com


1.3 查看软件包

yum list命令用于列出软件包的信息。可以通过不同的选项来列出已安装的软件包、可安装的软件包或可更新的软件包等。由于包的数目可能非常之多,这里我们需要使用 grep 命令只筛选出我们关注的包。例如:yum list | grep lrzsz
在这里插入图片描述

注意事项:

  • 软件包名称: 主版本号、次版本号、源程序发行号-软件包的发行号、主机平台、cpu架构。
  • “x86_64” 后缀表示64位系统的安装包,“i686” 后缀表示32位系统安装包。选择包时要和系统匹配.
  • “el7” 表示操作系统发行版的版本,“el7” 表示的是 centos7/redhat7,“el6” 表示 centos6/redhat6。
  • 最后一列,base 表示的是 “软件源” 的名称,类似于 “小米应用商店”、“华为应用商店” 这样的概念。

1.4 如何安装软件

通过 yum,我们可以通过很简单的一条命令完成 gcc 的安装,使用yum install <package_name>命令从配置的软件仓库中自动下载并安装软件包及其依赖项。

例如 sudo yum install lrzsz
yum 会自动找到都有哪些软件包需要下载,这时候敲 “y” 确认安装。出现 “complete” 字样,说明安装完成

在这里插入图片描述

注意事项

  • 安装软件时由于需要向系统目录中写入内容,一般需要 sudo 或者切到 root 账户下才能完成
  • yum安装软件只能一个装完了再装另一个。正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件,yum会报错。
  • 如果 yum 报错,可以在网上搜索一下解决方案

1.5 如何卸载软件

使用yum remove <package_name>命令从系统中删除一个或多个软件包。

sudo yum remove lrzsz

在这里插入图片描述


1.6 如何更新软件包

使用yum update命令更新所有已安装的软件包到最新版本。

如果只想更新特定的软件包,可以在命令后指定软件包名称,如yum update <package_name>


1.7 yum源更新

如果大家使用的是云服务器,那么云服务器的厂商就已经将yum源配置好了。
在这里插入图片描述

如果大家使用的是虚拟机,yum源配置的可能是国外的官网,下载软件的时候非常慢,而从哪里下载软件是由CentOS-Base.repo这个文件告诉我们的,所谓yum源的更新就是用包含国内下载链接的仓库文件,替换CentOS-Base.repo文件。
在这里插入图片描述

  1. 将当前的yum源进行备份

    在进行任何修改之前,最好先备份原始的 CentOS-Base.repo 文件,以防万一需要恢复。

    sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    
  2. 下载国内yum源的配置文件

    国内的yum源还是很多的,大家也可以上网进行搜索,选择自己喜欢的yum源。

    阿里云,下面两个下载选项二选一
    wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
  3. 清理yum缓存并生成新的缓存:

    sudo yum clean all  // 清理yum缓存
    sudo yum makecache  // 生成yum缓存
    
  4. 更新系统:

    sudo yum update
    

二、 Linux编辑器-vim使用

2.1 vim的基本概念

这篇文章主要讲解vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式、插入模式和底行模式,各模式的功能区分如下:

  • 正常/普通/命令模式
    控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式下,或者到底行模式

  • 插入模式
    只有在插入模式下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

  • 底行模式
    文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。


2.2 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.3 vim命令模式命令集

2.3.1 从命令模式切换为插入模式

  • 按「i」切换进入插入模式,在光标当前位置的下一个字符处开始插入文本。
    在这里插入图片描述

  • 按「a」进入插入模式后,在光标当前位置开始插入文本。
    在这里插入图片描述

  • 按「o」进入插入模式后,在光标所在行的下方新开一行,并从该行的行首开始插入文本。
    在这里插入图片描述


2.3.2 从插入模式切换为命令模式

  • 按「ESC」键。

2.3.3 移动光标

  • vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格

  • 按「G」:移动到文章的最后
    在这里插入图片描述

  • 按「 $ 」:移动到光标所在行的“行尾”
    在这里插入图片描述

  • 按「^」:移动到光标所在行的“行首”
    在这里插入图片描述

  • 按「w」:光标跳到下个字的开头
    在这里插入图片描述

  • 按「e」:光标跳到下个字的字尾
    在这里插入图片描述

  • 按「b」:光标回到上个字的开头
    在这里插入图片描述

  • 按「#l」:光标移到该行的第#个位置,如:5l,56l
    在这里插入图片描述

  • 按[gg]:进入到文本开始
    在这里插入图片描述

  • 按[shift+g]:进入文本末端
    在这里插入图片描述

  • 按「ctrl」+「b」:屏幕往“后”移动一页(后面的四个大家可以自己试一试)

  • 按「ctrl」+「f」:屏幕往“前”移动一页

  • 按「ctrl」+「u」:屏幕往“后”移动半页

  • 按「ctrl」+「d」:屏幕往“前”移动半页


2.3.4.删除文字

  • 「x」:每按一次,删除光标所在位置的一个字符
    在这里插入图片描述

  • 「#x」:例如,「3x」表示删除光标所在位置的“后面(包含自己在内)”3个字符
    在这里插入图片描述

  • 「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
    在这里插入图片描述

  • 「#X」:例如,「3X」表示删除光标所在位置的“前面”3个字符
    在这里插入图片描述

  • 「dd」:删除光标所在行(配上粘贴则为剪切)
    在这里插入图片描述

  • 「#dd」:从光标所在行开始删除#行
    在这里插入图片描述


2.3.5 复制

  • 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
    在这里插入图片描述

  • 「#yw」:复制#个字到缓冲区
    在这里插入图片描述

  • 「yy」:复制光标所在行到缓冲区。
    在这里插入图片描述

  • 「#yy」:例如,「3yy」表示拷贝从光标所在的该行“往下数”3行文字。
    在这里插入图片描述

  • 「p」:将缓冲区内的内容贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

  • 「#p」:将缓冲区内的内容贴到光标所在位置。
    在这里插入图片描述


2.3.6 替换

  • 「r」:替换光标所在处的字符。
    在这里插入图片描述

  • 「#r」:例如「4r」,使用输入的字符替换从当前光标所在处开始的4个字符。

  • 「R」:替换光标所到之处的字符,直到按下「ESC」键为止。(替换模式)
    在这里插入图片描述


2.3.7 撤销上一次操作

  • 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回复。
  • 「ctrl + r」: 撤销的恢复

2.3.8 更改

  • 「cw」:删除从光标当前位置开始到当前单词的词尾(包括该单词后的空白字符,直到下一个单词的开始或行尾),并立即进入插入模式
    在这里插入图片描述

  • 「c#w」:例如,「c6w」表示删除从当前光标位置开始,直到第7个单词开头的所有内容.
    在这里插入图片描述

2.3.9 跳至指定的行

  • 「#G」:例如,「5G」,表示移动光标至文章的第5行行首。

在这里插入图片描述

2.3.10 文本大小写相互转换

  • 「#~」:例如,「 10~ 」,表示从当前光标开始的十个字母转换为对应的大小写字母。
    在这里插入图片描述

2.4 vim底行模式命令集

在使用底行模式之前,请记住先按「ESC」键确定您已经处于命令模式,再按「:」冒号即可进入底行模式。

2.4.1 行号显示/不显示

  • 「set nu」: 输入「set nu」后,会在文件中的每一行前面显示行号。
    在这里插入图片描述

  • 「set nonu」: 输入「set nonu」后,文件中行号将不再显示。
    在这里插入图片描述


2.4.2 跳到文件中的某一行

  • 「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字5,再回车,就会跳到文章的第5行。

2.4.3 查找字符

  • 「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
    在这里插入图片描述

  • 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
    在这里插入图片描述

问题:/ 和 ?查找有和区别?操作实验一下
/ 按「n」是向后开始查找,?「n」是向前开始查找


2.4.4 保存文件

「w」: 在冒号输入字母「w」就可以将文件保存起来


2.4.5 离开vim

  • 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
  • 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

2.5 vim视图模式

在命令模式下Ctrl+v进入可视块模式(特殊的视图模式),此时可以通过移动光标来选择文本块。

2.5.1 代码批量注释

  1. Ctrl + v 进入视图模式
    在这里插入图片描述

  2. 按j/k两个键上下选择需要注释的区域(j下,k上)
    在这里插入图片描述

  3. shift + i 也就是 I ,进入插入模式
    在这里插入图片描述

  4. 输入//
    在这里插入图片描述

  5. 按ESC键,完成代码批量注释

    在这里插入图片描述


2.5.2 代码批量取消注释

  1. Ctrl + v 进入视图模式
    在这里插入图片描述

  2. 按j/k/h/l四个键选择区域(j下,k上,h左,l右)
    在这里插入图片描述

  3. 按d删除选定区域,即完成代码批量取消注释

    在这里插入图片描述


2.6 vim替换模式

在命令模式下使用shift + r 也就是 R 进入替换模式,在替换模式下,你可以继续输入文本,每次输入都会替换掉光标当前位置及其后面的一个字符(如果光标后面有字符的话)。要退出替换模式,你可以按 Esc 键回到普通模式。

在这里插入图片描述


2.7 vim的多文件编辑

2.7.1 打开多个文件

你可以在启动 Vim 时同时打开多个文件,只需在命令行中指定它们即可:vim main.c process.c process.h

在这里插入图片描述

默认情况下,它会显示第一个文件,你可以使用 :next (或简写为 :n) 命令来切换到下一个文件,使用 :prev (或简写为 :p) 命令来切换到上一个文件。你也可以使用 :first:last 命令来分别跳转到第一个和最后一个文件。


2.7.2 分割窗口

在vim下可以使用分割窗口来同时查看和编辑多个文件,上面打开文件的方式虽然查看和编辑多个文件,但不是同时。

  • 水平分割:使用 :split <文件名> 命令来水平分割当前窗口,并可选地打开另一个文件。如果不指定文件名,则在新窗口中打开当前文件的一个新视图。简写为 :sp
  • 垂直分割:使用 :vsplit <文件名> 命令来垂直分割当前窗口,简写为 :vsp 或 :vs
  • 切换窗口:使用 Ctrl+w 然后按 h(左)、j(下)、k(上)、l(右)来在分割的窗口间切换,Ctrl+w w它会按照窗口打开的顺序(通常是最近访问的顺序)在它们之间循环切换。每按一次,就会切换到下一个窗口。

注意无论你打开多少文件,光标始终只有一个,光标在哪一个区域,代表着正在编辑哪一个文件

在这里插入图片描述


2.8 简单vim配置

2.8.1 配置文件的位置

  • 在目录 /etc/ 下面,有个名为.vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
  • 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,
  • 通常已经存在一个.vimrc文件,如果不存在,则创建之。切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
  • 打开自己目录下的.vimrc文件,执行 vim .vimrc

2.8.2 vim 配置原理

  • vim在启动的时候,会自动扫描当前用户家目录下的.vimrc,让.vimrc内部的所有的选项全部生效
  • vim配置的核心就是向.vimrc里添加更多的配置选项
  • vim可能需要各种插件

2.8.3 vim 配置

2.8.3.1 手动配置

若我们要自己配置vim,那么将进行下面几步操作

  1. 若家目录下没有.vimrc文件,创建.vimrc文件
    在这里插入图片描述

  2. 向.vimrc文件中添加配置选项,下面有几个配置,需要更多配置选项可以在浏览器中搜索后再添加到.vimrc文件中。再保存即可。

    syntax on         " 语法高亮
    set number        " 显示行号
    set autoindent    " 自动缩进
    set tabstop=4     " 设置tab键宽度set shiftwidth=4
    set softtabstop=4 " 设置 shiftwidth 或者 softtabstop
    

2.8.3.2 自动化部署配置

这里我不建议大家自己配置vim,我建议使用下面的命令进行自动化部署配置,这个命令是我在网上找的资源,使用普通账号使用下面的命令,即可配置vim,不建议使用root账号。并且这条指令只支持Centos7 x86_64,若不是这个版本,可以重装为这个版本,或是在另外的文章上查找资源。

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

然后使用vim打开文件敲代码时,会发现缩进用着会有点不习惯,那么大家可以vim .vimrc,找到50~52行的内容并将2修改为4,可能就会更符合大家的使用习惯。
在这里插入图片描述


结尾

如果有什么建议和疑问,或是有什么错误,大家可以在评论区中提出。
希望大家以后也能和我一起进步!!🌹🌹
如果这篇文章对你有用的话,希望大家给一个三连支持一下!!🌹🌹

在这里插入图片描述

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

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

相关文章

03创建型设计模式——抽象工厂模式

一、抽象工厂模式简介 抽象工厂模式是所有形态的工厂模式中最为抽象和具有一般性的。抽象工厂模式可以向客户端提供一个接口&#xff0c;使得客户端在不必指定产品的具体类型的情况下&#xff0c;能够创建多个产品族的产品对象。例如现实生活中&#xff0c;水果的种类繁多&…

Vue3+Ts项目中经常遇到导入组件,vscode报无法找到模块xxx,xxx隐式拥有 “any“ 类型解决办法~

1、报错截图&#xff1a; 2、解决办法&#xff1a;在确保路径正确的情况下&#xff0c;你会在 src 目录下找到一个名为 env.d.ts 的文件&#xff08;或者类似的名称&#xff09;。在这个文件中&#xff0c;你可以声明 .vue 文件的模块类型。例如&#xff1a;(这告诉 TypeScript…

系统内存管理:虚拟内存、内存分段与分页、页表缓存TLB以及Linux内存管理

虚拟内存 虚拟内存是一种操作系统提供的机制&#xff0c;用于将每个进程分配的独立的虚拟地址空间映射到实际的物理内存地址空间上。通过使用虚拟内存&#xff0c;操作系统可以有效地解决多个应用程序直接操作物理内存可能引发的冲突问题。 在使用虚拟内存的情况下&#xff0…

IDEA打开持久层的代码很卡,关掉mybatis-plus的插件

不知道大家有没有遇到过打开 mapper 层的页面&#xff0c;然后要切换另外 java 文件的时候很卡&#xff0c;我遇到过卡了好几分钟的&#xff0c;那种继承了 mybatis-plus 的 mapper java文件或者 xml 文件都会&#xff0c;我后来把 mybatis 的插件关掉了&#xff0c;就不会了

LVS的12种调度算法详解

1.lvs调度算法类型 1.1静态方法 仅根据算法本身进行调度&#xff0c;不考虑RS的负载情况 1.2动态方法 主要根据每RS当前的负载状态及调度算法进行调度Overheadvalue较小的RS将被调度 1.1lvs静态调度算法 1.1.1RR&#xff08;轮询算法&#xff09;&#xff1a; roundrobin 轮…

Haproxy状态页

HAProxy 的状态页是一个非常有用的监控和诊断工具&#xff0c;它提供了关于 HAProxy 服务器运行状态的详细信息&#xff0c;通过web界面&#xff0c;显示当前HAProxy的运行状态。 状态页通常包含以下关键信息&#xff1a; 前端&#xff08;Frontend&#xff09;和后端&#x…

从TiDB迁移到OceanBase的实践分享

本文来自OceanBase热心用户的分享 近期&#xff0c;我们计划将业务数据库从TiDB迁移到OceanBase&#xff0c;但面临的一个主要挑战是如何更平滑的完成这一迁移过程。经过研究&#xff0c;了解到OceanBase提供的OMS数据迁移工具能够支持从TiDB到OceanBase的迁移&#xff0c;并且…

js构造函数的prototype赋值总结

我们知道通过构造函数的prototype,可以生成让所有实例对象访问的通用属性和方法,下面通过代码来解释这个过程 function Person(name){this.name name; }Person.prototype.sex man我们定义了一个构造函数Person,然后给它的prototype添加了一个sex的属性,下面我们来看看Person…

OSPF进阶

一、LSA详解 Type&#xff1a;LSA的类型&#xff08;1、2、3、4、5、7类&#xff09; link-state-ID&#xff1a;链路状态表示符 ADV router&#xff1a;产生该LSA的路由器 age&#xff1a;老化时间 Metric&#xff1a;开销值&#xff0c;一般都为ADV router到达该路由的开…

人工智能,代跑通,预测模型,模型优化

人工智能&#xff0c;代跑通&#xff0c;预测模型&#xff0c;模型优化&#xff0c;增加模块&#xff0c;文章复现&#xff0c;python代做&#xff0c;预测&#xff0c;微调&#xff0c;融合&#xff0c;深度学习&#xff0c;机器学习程序代写&#xff0c;环境调试&#xff0c;…

STM32-门电路-储存器-寄存器-STM32f1-MCU-GPIO-总线-keil5-点led-寄存器编程

1、门电路 门电路组成简单加法器&#xff1a; 二进制对电路的影响&#xff1a; 0和1代表无和有&#xff1b; 以下图例&#xff0c;演示与门&#xff1a;左1右1输出1&#xff1b; 电平标准&#xff1a;使用不同的电压表示数字0和1&#xff1b; 高电平&#xff1a;1&#xff1…

攻防世界-web-ctf-upload

题目场景 查看源码 毫无有效的数据 官方WriteUp 本题需要利用文件上传漏洞点&#xff0c;通过绕过服务器的安全防护&#xff0c;达到getshell的目的 本题的主要考点为利用fastcgi的.user.ini特性进行任意命令执行 这里需要绕过的点如下 检查文件内容是否有php字符串 检查…

haproxy七层代理

目录 一、haproxy简介 二、haproxy实验 1.环境部署 2.haproxy的基本部署方法及负载均衡的实现 2.1安装软件 2.2haproxy的基本配置 3.haproxy的全局配置参数及日志分离 3.1多线程设定 3.2自定义日志 4.haproxy-proxies中的常用配置参数 4.1设置backup --- sorryserver…

卷积神经网络(李宏毅老师系列)

自学参考&#xff1a; 一文搞懂卷积神经网络&#xff08;CNN&#xff09;的原理 视频课 课件资料 笔记 一、引入 cnn设计灵感来自于生物学中的视觉系统&#xff0c;旨在模拟人类视觉处理的方式。常用场景&#xff1a;image classification 基本步骤&#xff1a; 把所有图片都先…

数据结构--第六天

--树 -树的基本概念 树结构通常用来储存逻辑关系为“一对多”的数据&#xff0c;例如&#xff1a; 上图的这些元素具有的就是 "一对多" 的逻辑关系&#xff0c;例如元素A同时和B、C、D有关系&#xff0c;元素D同时和A、H、I、J有关系等。 观察这些元素之间的逻辑关…

模拟经营之神:《北境之地》安卓手机游戏,免费分享

《北境之地》&#xff08;Northgard&#xff09;是一款以北欧神话为背景的即时战略游戏&#xff0c;由Shiro Games开发。玩家在游戏中扮演维京部落的领袖&#xff0c;目标是探索新大陆、建立据点、管理资源&#xff0c;并在严酷的冬季和敌人的威胁下生存下来 。 游戏特色包括&a…

gin路由

1主文件 package main import ("github.com/gin-gonic/gin""godade/user""net/http" ) func main() {router : gin.Default()router.GET("/", func(c *gin.Context) {c.String(http.StatusOK, "Hello World")})v1 : router…

如何避免项目发布后用户从浏览器WebPack中看到源码

打包前在config->index.js中设置productionSourceMap为false productionSourceMap: false,

C# AI鉴图宝 利用OCR技术对违规图片进行判别

目录 效果 项目 代码 下载 效果 项目 代码 using Aspose.Cells; using NLog; using OpenCvSharp; using OpenVINO.OCRService; using Sdcb.OpenVINO; using Sdcb.OpenVINO.PaddleOCR; using Sdcb.OpenVINO.PaddleOCR.Models; using System; using System.Collections.Conc…

Jmeter性能压测4000并发

性能测试的底层逻辑 程序为什么会有性能问题 用户操作 客户端&#xff08;web/app/小程序&#xff09;触发网络请求&#xff0c;服务器处理大量网络请求代码运行需要大量服务器资源&#xff08;CPU、内存、网络、磁盘等等&#xff09; 资源不是无限&#xff0c;硬件配置不是随…