【Linux】--- 基础开发工具之yum/apt、vim、gcc/g++的使用
Welcome to 9ilk's Code World

(๑•́ ₃ •̀๑) 个人主页: 9ilk
(๑•́ ₃ •̀๑) 文章专栏: Linux网络编程
本篇博客我们来认识一下Linux中的一些基础开发工具 --- yum,vim,gcc/g++。
🏠 yum
🎸 什么是yum
当用户想下载软件或工具时,都需要到特定位置进行下载,比如你在手机上下载app,需要到对应的应用商城下载。类似的,在Linux系统下也有下载的需求,通常来说下载方式主要有以下几种:
1. 源代码安装:下载程序的源码,进行编译得到可执行程序之后使用,非常不方便。
2. rpm包安装:将源码提前在各种不同环境下编译好,形成一种压缩包叫rpm包,直接下载可执行程序就能安装好,实际上就是把可执行程序拷贝到指定路径下。但是主要可能会存在软件之间依赖问题,比如还需要你安装其他软件,额外的库之类的。
3. yum/apt安装:一站式安装。
Q:如何理解yum?

- 为了方便有的人就把常用的软件提前在各种环境下编译后形成软件包,之后上传到服务端上,通过包管理器可以很方便的获取到这个提前编译好的软件包进行安装。软件包和软件管理器,就好比“App"和”应用商店“的关系!
- yum是Linux下非常常用的一种软件包管理器,它相当于一个软件管家帮我们管理软件。yum主要用在Fedora,RedHat,Centos等发行版上,而Ubuntu下使用的是apt,apt同样提供了⾃动解决依赖关系、下载和安装软件包的功能。
注:其中服务器端充当一个审核员的作用,保证用户下载到的都是绿色健康的软件。
🎸 Linux软件生态
- Linux下载软件的过程

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

对于一款操作系统,我们不仅要看到操作系统本身,还要看到特定OS背后的生态。
- 为什么会有⼈免费特定社区提供软件,还发布?还提供云服务器让你下载?

注:随着软件越做越大,这样做就有越多开发者,越能暴露更多问题,越能修正问题,有更多开发者维护文档,这对提升项目质量是有益的。
- 软件包依赖的问题

- 国内镜像源

🎸 yum/apt 操作
1. 查看软件包
通过该命令可以罗列出当前⼀共有哪些软件包,由于包的数目可能非常之多,这里我们需要使用grep命令进行筛选 :
---Centos
yum list | grep lrzsz--Ubuntu
apt search lrzsz
apt show lrzsz

2. 安装软件
# Centos
$ sudo yum install -y lrzsz# Ubuntu
$ sudo apt install -y lrzsz
注:使用yum/apt安装软件需要root权限。

- 安装软件时由于需要向系统⽬录中写⼊内容,⼀般需要sudo或者切到root账⼾下才能完成
- yum/apt安装软件只能⼀个装完了再装另⼀个.正在yum/apt安装⼀个软件的过程中,如果再尝试⽤yum/apt安装另外⼀个软件,yum/apt会报错。
3. 卸载软件
# Centos
sudo yum remove [-y] lrzsz# Ubuntu
sudo apt remove [-y] lrzsz
- 带上-y选项是不提示直接卸载
4. 注意事项
- 关于yum/apt的所有操作必须保证主机(虚拟机)网络畅通!!!可以通过ping指令验证

5. rzsz工具
(1)安装
//Centos
sudo yum install [-y] lrzsz//Ubuntu
sudo apt install lrzsz
(2)使用命令介绍
sz 文件名:将Linux中文件下载到Windows中。

rz : 将本地文件上传到Linux中。

🎸 yum/apt源配置
Q : yum/apt既然相当于是一个软件管家,那它是怎么知道到哪台服务器上下载数据的呢?
答:其实yum/apt配置文件中说明了其他软件的下载安装路径!
- Centos : yum
yum会根据/etc/yum.repos.d/该路径下面的配置文件,来构成自己的下载链接,(根据OS版本,根据你要下载的软件),yum会帮住我们下载;国外链接一般比较卡,我们可以使用国内各大高校提供的镜像yum源,所以需要配置。那么如何配置?本质就是更改文件,或者更改文件内容,把软件源里的地址链接,从国外的地址链接更新成国内的。
//1.备份
cp -r xxxx
//2.获取yum源 把远端的链接上的配置文件下载下来改名为CentOS-Base.repo
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo xxxx
//3.清理缓存,生成缓存,升级更新
sudo yum clear all
sudo yum makecache
sudo yum -y update
- Ubuntu : apt
1.打开配置文件
sudo vim /etc/apt/sources.list
2.配置文件替换为下载的apt源
...
3.保存并更新
sudo apt update

🎸 yum/apt其他操作
makecache将软件包信息缓存到本地 (这样每次安装不用去搜索)
clean all 清理老旧的缓存信息
update : 升级所有包同时也升级软件和系统内核
upgrade:只升级所有包
🏠 Vim/Vi
vi/vim的区别简单来说,他们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面.例如语法加亮,可视化操作不仅可以在终端运行,也可以运行与x window、mac os、windows。

vim使用方法:
vim 文件名
🎸 vim的基本概念
我们讲解vim的三种模式(其实vim有多种模式,目前掌握三种即可),分别是命令行模式(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
模式之间的切换关系如下:

- 命令模式相当于"游戏中的起始界面", 任何模式都可以从命令模式进入,而且退出都是用的Esc键。
- 命令行模式 -> 插入模式:
1. i : 按「i」切换进⼊插⼊模式「insertmode」,按“i”进⼊插⼊模式后是从光标当前位置开始输⼊⽂件;
2. a :按「a」进⼊插⼊模式后,是从⽬前光标所在位置的下⼀个位置开始输⼊⽂字。
3. o : 按「o」进⼊插⼊模式后,是插⼊新的⼀⾏,从⾏⾸开始输⼊⽂字。
- 命令行模式 -> 底行模式 : 按下shift+;就进入底行模式,输入对应操作即可。
- 底行模式 -> 退出vim : 此时输入不同选项即可退出vim。
1. w : 保存当前文件。
2. wq : 保存并退出vim。
3. q! : 强制退出。
4. w! : 强制写入。
- 如果我想执行shell命令但不退出vim,可以切换为底行模式再使用!+ 指令。

- 命令行模式退出vim : shift zz
🎸 命令模式常见命令集
(1)对光标(动图中绿色方块即是光标)所在行的操作
- yy : 对当前光标所在行进行复制
- n + yy: 从光标当前行开始往下的n行复制。
- p: 粘贴。
- u : 撤销上一次操作。
- ctrl + r : 撤销的恢复。
- d: 删除光标所在行。可以搭配p完成剪贴操作。
- n + dd :对光标所在行开始往下n行进行删除操作。搭配n+p完成n次剪贴。
(2)光标快速定位/光标为锚点的操作:
- shift + g(G) : 定位到文本的最结尾。
- gg : 定位到文本的最开始。
- n + shift g : 定位到文本的第n行。
- h j k l : 其实就是光标上下左右的移动。h为左侧,j为下侧,k为上侧,l为右侧。
- shift + 4($) : 移动到光标所在行的行尾。
- shift + 6(^) : 移动到光标所在行的行首。
- w : 以单词(不存在空的连续字符串)为单位向后跳转。(一直按住w会不断往后跳)
- b :以单词为单位向前跳转。
- n + x : 从光标当前位置开始进行删除n个字符。(一直按住会不断删)
- n + shift + x : 删除光标所在位置的前n个字符。
- shift + ~ : 大小写快速切换。(一直按住会自动往后对字符进行切换大小写)
- n + r + 替换字符:从光标当前位置开始替换n个字符。(前提是有n个字符否则不会进行替换)
🎸 底行模式命令集
- set nu: 显示文本行号。
- set nonu : 取消行号。
- n + 回车 :跳转到第n行。
- / +关键字:先按/键,再输入想查找的字符,如果第一次找的关键字不是想要你的,可以一直按住n会往后寻找。(从前往后)
- / +关键字:先按/键,再输入想查找的字符,如果第一次找的关键字不是想要你的,可以一直按住n会往前寻找。(从后往前)
如果你想同时用vim编辑多个文件,那可以在底行模式输入vs + 文件名进行分屏操作:

注 : 光标在哪个文件,就说明正在编辑哪个文件,如果想将光标切换到另一个窗口,使用ctrl + ww。
🎸 替换模式
底行模式时使用shift+ r则可进入替换模式,能对文本进行自由替换编辑,输入啥就会将光标所在处替换为啥。
示范:

🎸 视图模式
当我们对文本部分内容想批量化进行注释时,在命令模式操作有点麻烦,此时我们可以切换到视图模式。
切换方法:先切换到insert模式,按住ctrl + v进入视图模式。
注释操作方法:可以使用h j k l移动光标进行批量化选取代码区域(可利用n+shift g进行快速跳转),选取之后按住shift + I进入插入模式,按/两次再Esc即可进行注释。
取消注释:进入视图模式,同样利用h j k l进行批量化选取区域,再按住d。
示范:

🎸 简单vim配置
配置文件位置:
- 在目录/etc/下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
- 在每个用户的主目录下,都可以建立私有配置文件,命名为".vimrc“。在该配置文件下进行的操作只对当前用户生效!

常用配置选项测试:
- 设置语法高亮度:syntax on
- 显示行号:set nu
- 设置缩进空格数为4:set shiftwidth=4
🎸 普通用户使用sudo提权
提权问题:如何把用户从普通用户提权提到
root权限?

默认情况下普通用户使用root权限时,即使sudo也会受阻,这是因为普通用户并没有成为root用户的受信任列表里,此时需要把普通用户加入到该列表这样就可以使用root用户权限!
- 打开/etc/sudoers

- 添加普通用户进受信任名单

🏠 gcc/g++
🎸 前置知识
- 预处理:进行宏替换/去注释/条件编译/头文件展开等。
- 编译:生成汇编。
- 汇编:生成机器可识别代码。
- 链接:生成可执行文件或库文件。
🎸 gcc/g++介绍及安装
1. 什么是gcc/g++
gcc/g++都是编译器,其中gcc是GCC中的GUN C编译器,g++是GCC中GUN C++编译器。
- gcc : gcc对于.c和.cpp文件分别当作c和cpp文件编译(c和cpp语法强度不同)
- g++: g++统一当作cpp文件内编译
- g++编译文件时,会自动链接标准库STL,而gcc不会。
2. 安装
//1.先查看版本
gcc --version
g++ --version//2.没有则进行安装
yum/apt install -y gcc
yum/apt install -y g++
🎸 gcc/g++编译选项
我们以gcc为例
(1)不带选项
gcc是一个编译器,如果不带任何选项,默认直接将程序编译为可执行文件,也就是一步到位,默认形成的可执行程序叫a.out:

如果想执行可执行权限,直接./+可执行程序名。但是注意该可执行权限本身有可执行的权限!
如果想删除可执行程序,则使用rm即可,因为可执行程序也是文件:

(2)预处理
- 预处理功能主要包括宏定义,⽂件包含,条件编译,去注释等
- 预处理指令是以#号开头的代码行
- 选项“-E”,该选项的作⽤是让gcc在预处理结束后停⽌编译过程
- 选项“-o”是指⽬标⽂件,“.i”⽂件为已经过预处理的C原始程序

test.i文件是源码经过预处理之后的内容:

( 3 ) 编译
- 在这个阶段中,gcc⾸先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的⼯作,在检查⽆误后,gcc把代码翻译成汇编语⾔。
- ⽤⼾可以使⽤“-S”选项来进⾏查看,该选项只进⾏编译⽽不进⾏汇编,⽣成汇编代码.s文件

编译文件内容如下:

(4)汇编
- 汇编阶段是把编译阶段⽣成的“.s”⽂件转成⽬标⽂件
- 可使⽤选项“-c”就可看到汇编代码已转化为“.o”的⼆进制⽬标代码了

注意:当然也可以对.c文件直接使用-c选项生成.o文件,帮我们把预处理,编译都做了
(5)链接
在成功编译之后,就进⼊了链接阶段,链接的时候需要把⼀堆文件链接在⼀起才生成可执行程序。
gcc test.o -o test
注:我们可以使用-o来自命名可执行文件的名字。

🎸 函数库
1. 什么是库?
- 我们的C程序中,并没有定义"printf"的函数实现,而且在预编译中包含的"stdio.h"中也只有该函数 的声明,而没有定义函数的实现,那么是在哪里定义函数的实现呢?
- 答案是:系统把这些函数的实现都放到名为libc.so.6的库文件中,在没有指定时,gcc会到系统默认路径的搜索路径"/usr/lib"下进行查找,也就是链接到libc.so.6库函数中去,这样就能实现函数了,这也就是链接的作用!
- ldd + 可执行程序:查看可执行程序链接时依赖的库

2. 库分类
函数库一般分为静态库和动态库两种。动态库在linux下后缀一般为.so,在windows下后缀为.dll;静态库在linux下后缀为.a,在windows下后缀为.lib。
- 静态库:编译链接时,把库⽂件的代码全部加入到可执⾏⽂件中,因此⽣成的⽂件⽐较⼤,但在运⾏时也就不再需要库⽂件了。
- 动态库与之相反,在编译链接时并没有把库⽂件的代码加⼊到可执⾏⽂件中,⽽是在程序执⾏时由运⾏时链接⽂件加载库,这样可以节省系统的开销。动态库⼀般后缀名为“.so”,如前⾯所述的libc.so.6就是动态库。gcc在编译时默认使⽤动态库。
- gcc默认生成的二进制程序是动态链接的,可以使用file命令验证

- 如果想静态链接则需要带上-static选项

注:无论是动态链接还是静态链接,都一定要提供对应的动静态库!
🎸 理解动静态库以及安装动静态库
(1)例子1
🌰: 假设你是个刚中考完的准高中生,你咨询你录取学校的张三学长你录取的学校怎么上网,学长就提前告诉你了网吧的相关信息,当你上高中时,你每天按时完成学习完成任务4-6点的时候就去学长说的西门上网,日复一日都是这样,你每天来回翻墙一趟去网吧上网
准高中生时的你相当于还没加载进操作系统的可执行程序,学校相当于是操作系统,学校的附近网吧就相当于是动态库,你要上网的时候需要跑到他那去上网,而你这个张三学长相当于是个编译器,他告诉你网吧信息就相当于是连接的过程!
(2) 例子2
🌰 : 没过多久网吧遭到举报倒闭了,但是你没有因为网吧而成绩下降只是当作一种闲暇娱乐,知道什么时间做什么事,因此你要求老爸跟校长申请在宿舍申请安装一台电脑保证适当的闲暇,校长鉴于你的优秀成绩同意了
由于网吧倒闭,原本也在网吧上网的同学也不能上网,这体现了动态库一旦丢失所有程序都无法运行;而你在宿舍安装一台电脑,此时相当于静态链接,此时不依赖网吧也能上网了。因此,静态链接就是把我们要访问的方法实现,拷贝到我们自己的可执行程序中!
(3)⼀般我们的云服务器,C/C++的静态库并没有安装,可以采⽤如下⽅法安装::
sudo yum install -y glibc-static # C语言静态库
sudo yum install -y libstdc++-static # C++静态库
(4)动静态库/链接比较:
1. 动态库:一旦动态库缺失,所有经过动态链接的程序都无法运行。同时动态库比较节省资源,可执行程序体积比较小。
2. 静态库:比较浪费资源,可执行程序体积比较大。不依赖其他库,库丢失也无所谓,程序照样能运行。
3. 静态链接虽然因为可执行程序中已经具备所需任何东西而运行速度快,但是它浪费空间,因为每个可执行程序中对所有需要的目标文件都要有一份副本,而且更新比较困难,因为因为每当库函数的代码修改了,这个时候就需要重新进行编译链接形成可执行程序;而动态库因为可以做到被大家所共享方法,所以真正的实现永远都是在库中。程序内部只有地址,比较节省空间。动态链接其实远⽐静态链接要常⽤得多,Linux中默认使用动态链接和动态库。
🎸 gcc其他常用选项
• -E只激活预处理,这个不⽣成⽂件,你需要把它重定向到⼀个输出⽂件⾥⾯
• -S编译到汇编语⾔不进⾏汇编和链接
• -c编译到⽬标代码
• -o⽂件输出到⽂件
• -static此选项对⽣成的⽂件采⽤静态链接
• -g⽣成调试信息。GNU调试器可利⽤该信息。
• -shared此选项将尽量使⽤动态库,所以⽣成⽂件⽐较⼩,但是需要系统由动态库.
• -O0
• -O1
• -O2
• -O3编译器的优化选项的4个级别,-O0表⽰没有优化,-O1为缺省值,-O3优化级别最⾼
• -w不⽣成任何警告信息。
• -Wall⽣成所有警告信息。
下篇博客我们将讲解Linux其他常用工具Makefile,git , gdb。
相关文章:
【Linux】--- 基础开发工具之yum/apt、vim、gcc/g++的使用
Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: Linux网络编程 本篇博客我们来认识一下Linux中的一些基础开发工具 --- yum,vim,gcc/g。 🏠 yum 🎸 什么是yum 当用户想下载软…...
Python + WhisperX:解锁语音识别的高效新姿势
大家好,我是烤鸭: 最近在尝试做视频的质量分析,打算利用asr针对声音判断是否有人声,以及识别出来的文本进行进一步操作。asr看了几个开源的,最终选择了openai的whisper,后来发现性能不行,又换了…...
redis 缓存击穿问题与解决方案
前言1. 什么是缓存击穿?2. 如何解决缓存击穿?怎么做?方案1: 定时刷新方案2: 自动续期方案3: 定时续期 如何选? 前言 当我们使用redis做缓存的时候,查询流程一般是先查询redis,如果redis未命中,再查询MySQL,将MySQL查询的数据同步到redis(回源),最后返回数据 流程图 为什…...
SAP HCM 批量核算工资报错如何定位错误 (SAT分析错误)
导读 簇目录 (表 RGDIR) 不包含任何记录:今天遇到一个很奇怪的问题,簇目录 (表 RGDIR) 不包含任何记录,而且出现的问题没有具体到员工编号,所以处理问题非常棘手。今天分享下我的处理方式,以便大家遇到这类的问题不知道如何下手。…...
常用共轭先验分布
内容来源 贝叶斯统计(第二版)中国统计出版社 正态分布的均值 总体分布 N ( θ , σ 2 ) N(\theta,\sigma^2) N(θ,σ2) 先验分布为正态分布 N ( μ , τ 2 ) N(\mu,\tau^2) N(μ,τ2) 样本 x i ( i 1 , 2 , ⋯ , n ) x_i(i1,2,\cdots,n) xi(i1…...
浅聊MQ之Kafka与RabbitMQ简用
(前记:内容有点多,先看目录再挑着看。) Kafka与RabbitMQ的使用举例 Kafka的使用举例 安装与启动: 从Apache Kafka官网下载Kafka中间件的运行脚本。解压后,通过命令行启动Zookeeper(Kafka的运行…...
服务器被暴力破解的一次小记录
1. 网络架构 家里三台主机,其他一台macmini 启用ollama运行大模型的服务,主机1用来部署一些常用的服务如:mysql, photoprism等,服务器作为网关部署docker, 并且和腾讯云做了内网穿透。服务器部署了1panel用来管理服务并且监控&…...
3. 导入官方dashboard
官方dashboard:https://grafana.com/grafana/dashboards 1. 点击仪表板 - 新建 - 导入 注:有网络的情况想可以使用ID,无网络情况下使用仪表板josn文件 2. 在官方dashboard网页上选择符合你现在数据源的dashboard - 点击进入 3. 下拉网页选…...
国家队出手!DeepSeek上线国家超算互联网平台!
目前,国家超算互联网平台已推出 DeepSeek – R1 模型的 1.5B、7B、8B、14B 版本,后续还会在近期更新 32B、70B 等版本。 DeepSeek太火爆了!在这个春节档,直接成了全民热议的话题。 DeepSeek也毫无悬念地干到了全球增速最快的AI应用。这几天,国内的云计算厂家都在支持Dee…...
第6章 6.4 ASP.NET Core Web API各种技术及选择
6.4.1 控制器父类用哪个 6.2小节和6.3小节所演示的ASP.NET Core Web API 的控制器类都继承自ControllerBase,而6.1中MVC的控制器继承自Controller,Controller又继承自ControllerBase。 所以,一般情况下,编写的WebAPI控制器类继承…...
python导入模块的方式
在python开发中,巧用模块导入可简化开发,提高开发效率。下面简介下模块使用使用事项: 一、模块的使用: 模块 就好⽐是 ⼯具包,要想使⽤这个⼯具包中的⼯具,就需要 使用import导⼊ 这个模块每⼀个以扩展名…...
【Linux】Ubuntu Linux 系统——Node.js 开发环境
ℹ️大家好,我是练小杰,今天星期五了,同时也是2025年的情人节,今晚又是一个人的举个爪子!! 🙂 本文是有关Linux 操作系统中 Node.js 开发环境基础知识,后续我将添加更多相关知识噢&a…...
使用pyCharm创建Django项目
使用pyCharm创建Django项目 1. 创建Django项目虚拟环境(最新版版本的Django) 使用pyCharm的创建项目功能,选择Django,直接创建。 2. 创建Django项目虚拟环境(安装特定版本) 2.1创建一个基础的python项目 2.2 安装指定版本的D…...
【前端框架】深入Vue 3组件开发:构建高效灵活的前端应用
一、引言 Vue 3作为一款流行的前端框架,其组件化系统是构建大型应用的核心。通过将应用拆分为多个可复用的组件,不仅能提高代码的可维护性与复用性,还能让开发团队进行高效的协作。本文将深入探讨Vue 3组件开发的各个方面,帮助开…...
基于Python flask-sqlalchemy的SQLServer数据库管理平台
适应场景: 主要用于帮助DBA自动化很多日常工作,包括: 数据库状态监控 性能问题诊断 日志分析 自动巡检 问题告警 系统截图: main.py from flask import Blueprint, render_template, request, flash, redirect, url_for f…...
npm运行Vue项目报错 error:0308010c:digital envelope routines::unsupported
大家好,我是 程序员码递夫。 问题 VSCode 运行Vue项目,提示错误: building 2/2 modules 0 activeError: error:0308010c:digital envelope routines::unsupported 解决方法 原因是 npm 高版本(大于17),对ssl的处理做了改进&…...
计数排序
目录 计数排序原理和步骤: 完整代码实现: 计数排序原理和步骤: 当一段数据比较集中在一个范围,比如 98,95,98,91,90,93,94,97,93&…...
MyBatis拦截器终极指南:从原理到企业级实战
在本篇文章中,我们将深入了解如何编写一个 MyBatis 拦截器,并通过一个示例来展示如何在执行数据库操作(如插入或更新)时,自动填充某些字段(例如 createdBy 和 updatedBy)信息。本文将详细讲解拦…...
Pythong 解决Pycharm 运行太慢
Pythong 解决Pycharm 运行太慢 官方给Pycharm自身占用的最大内存设低估了限制,我的Pycharm刚开始默认是256mb。 首先找到自己的Pycharm安装目录 根据合适自己的改 保存,重启Pycharm...
双ESP8266-01S通讯UDP配置
第一台ESP8266(发送命令需要勾---发送新行) ATCWMODE3 ATCWSAP_DEF"CAR_wifi_Master","12345678",5,3 //设置本地wifi名称以及密码 ATCIPSTA_DEF"192.168.4.1" //设置本地IP ATCIFSR …...
Molecular Communication(分子通信)与 Molecular Semantic Communication(分子语义通信)
1. 引言 随着传统无线通信在极端环境(如微观生物体内、海洋深处)中的局限性凸显,分子通信(Molecular Communication, MC)成为一种新型通信范式。分子通信通过分子作为信息载体,在纳米尺度上传输信息&#…...
Cookie:网页浏览背后的“小秘密”
在现代互联网的世界里,Cookie 是一个几乎无处不在的概念。它不仅影响着我们的网页浏览体验,还在背后默默地支持着许多网站的功能和服务。本文将带你全面了解 Cookie 的原理、作用、安全性以及如何管理它们。 一、什么是 Cookie? Cookie 是一…...
日语学习-日语知识点小记-构建基础-JLPT-N4N5阶段(6):動詞ない形について句型
日语学习-日语知识点小记-构建基础-JLPT-N4&N5阶段(6):動詞ない形について句型 1、前言(1)情况说明(2)工程师的信仰2、知识点(1)~動詞な形 +なければなりません(2)~動詞な形 + なくてもいいです(3)に まで までに :区別3、单词(1)日语单词…...
华纳云:如何从服务器日志中发现僵尸进程?
在 CentOS 系统中,僵尸进程通常指那些已经完成执行但仍然在进程表中存在的进程。它们没有实际的执行,但仍然占用系统资源,通常会出现在父进程没有及时回收子进程的状态下。虽然僵尸进程本身不消耗 CPU 或内存资源,但它们会占用进程…...
fastadmin 接口请求提示跨域
问题描述 小程序项目,内嵌h5页面,在h5页面调用后端php接口,提示跨域。网上查找解决方案如下: 1,设置header // 在入口文件index.php直接写入直接写入 header("Access-Control-Allow-Origin:*"); header(&q…...
NHANES指标推荐:DDA!
文章题目:Association of dietary decanoic acid intake with diabetes or prediabetes: an analysis from NHANES 2005-2016 DOI:10.3389/fnut.2024.1483045 中文标题:饮食中癸酸摄入量与糖尿病或糖尿病前期的关系:2005-2016 年 …...
用大模型学大模型04-模型与网络
目前已经学完深度学习的数学基础,开始学习各种 模型和网络阶段,给出一个从简单到入门的,层层递进的学习路线。并给出学习每种模型需要的前置知识。增加注意力机制,bert, 大模型,gpt, transformer, MOE等流行…...
PostgreSQL 数据库压力测试指南
一、为什么需要压力测试? 数据库需要进行压力测试的原因主要包括以下几个方面: 性能评估:通过压力测试,可以了解数据库在高负载情况下的性能表现,包括响应时间、吞吐量和资源利用率等。这有助于确定系统的性能瓶颈。 …...
oppo,康冠科技25届春招内推
oppo,康冠科技25届春招内推 ①康冠科技25届春招 【职位】算法、软件、硬件、技术,结构设计,供应链,产品,职能,商务 【一键内推】https://sourl.cn/2Mm9Lk 【内推码】EVBM88 ②OPPO 2025届春招内推 招聘岗位…...
元学习之孪生网络Siamese Network
简介:元学习是一种思想,一般以神经网络作为特征嵌入的工具,实现对数据特征的提取,然后通过构造某种指标以引导优化器对模型参数进行优化。而最小化距离是最常见的学习目标,这就是熟知的度量学习,度量学习里…...
