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

【Linux】基础开发工具

L i n u x Linux Linux 环境下的开发工具非常丰富,是程序员和开发人员进行高效开发的必备基础。 L i n u x Linux Linux 环境下的开发工具主要包括 y u m yum yum 软件包管理器 v i m vim vim 文本编辑器 g c c / g gcc/g gcc/g++ 编译器 g d b gdb gdb 调试工具 m a k e f i l e makefile makefile b以及 g i t git git 版本管理工具等。

文章目录

  • 一、yum(软件包管理器)
    • 1. 什么是软件包
    • 2. Linux 软件生态
    • 3. yum 具体操作
      • 3.1 查看软件包
      • 3.2 安装软件
      • 3.3 卸载软件
    • 4. 安装源
  • 二、vim(编辑器)
    • 1. vim 基本功能和介绍
    • 2. vim 基本模式
  • 三、gcc/g++(编译器)
  • 四、make/makefile(自动化构建)
  • 五、git(版本控制器)
  • 六、gdb(调试器)
  • 总结


一、yum(软件包管理器)

1. 什么是软件包

L i n u x Linux Linux 下安装一个软件,本质上是拷贝文件,得到可执行程序,可执行程序又需要各种依赖的库。软件包管理器 y u m / a p t yum/apt yum/apt)提供了自动解决依赖关系下载安装软件包的功能

一般来说,我们可以通过两种方式来获取可执行程序:

  1. 直接下载源代码 → \rightarrow 编译 → \rightarrow 可执行程序

  2. 直接下载可执行程序

看见直接下载源代码再编译太麻烦了,于是有人就把一些常用的软件提前编译好,做成软件包(可以理解成 w i n d o w s windows windows 上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装。

软件包软件包管理器,就好比 A p p App App应用商店 这样的关系。

  1. y u m \color{blue}yum yum:是 L i n u x Linux Linux 下非常常用的一种包管理器。主要应用在 F e d o r a Fedora Fedora R e d H a t RedHat RedHat C e n t o s \color{blue}Centos Centos 等发行版上。

  2. a p t \color{red}apt apt:也是 L i n u x Linux Linux 下非常常用的一种包管理器。主要应用在 U b u n t u \color{red}Ubuntu Ubuntu 等发行版上。

关于软件包依赖的问题

在这里插入图片描述

2. Linux 软件生态

L i n u x Linux Linux 下载软件的过程( U b u n t u 、 C e n t o s 、 o t h e r Ubuntu、Centos、other UbuntuCentosother)和手机的软件应用商城类似,通过云服务器内置的包管理器 y u m yum yum),就可以自动去软件包服务器进行查找和下载:

在这里插入图片描述

1 1 1

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

在这里插入图片描述

2 2 2

开源:本质上是一种商业模式。

因为要想使一款操作系统的生态变好,必然要提供软件,才会有更多人使用,如果开源软件被某个公司或个人所使用,那么就会产生依赖行为,我们当然不希望我们所使用的软件倒闭掉,因此就会有人发起募捐,从而将操作系统的整个生态发展起来。

操作系统的好坏评估 —— —— —— 生态问题

在这里插入图片描述

3 3 3

一个操作系统的生态主要包括:社区、文档、软件、人群、问题等。因此一个操作系统背后的软件体系一定程度上影响了这个操作系统的生态。

因此一些开发者就会在软件包管理器的服务器上上线开发好的产品:

在这里插入图片描述

4 4 4

由于 L i n u x Linux Linux 操作系统是国外的,因此操作系统的生态也主要是国外的生态,而我们访问国外的网站会很卡或者根本访问不了,这个时候,国内的一些开发者就在国内建立了镜像源,将国外网站的软件链接拷贝到国内,我们的云服务器的 y u m yum yum 源就都是国内网站了,以下是几个常见的国内镜像源

  1. 阿里巴巴镜像源:【官方链接】https://developer.aliyun.com/mirror/。

  2. 清华大学开源软件镜像站:【官方链接】https://mirrors.tuna.tsinghua.edu.cn/。

  3. 中国科学技术大学开源镜像站:【官方链接】http://mirrors.ustc.edu.cn/。

  4. 中国科学院软件研究所镜像站 I S C A S ISCAS ISCAS)【官方链接】http://mirror.iscas.ac.cn/。

  5. 网易开源镜像站:【官方链接】http://mirrors.163.com/。

3. yum 具体操作

安装软件到系统中,始终要使用 r o o t root root 权限,将软件安装到系统当中,只要安装一次,所有人都能使用。

3.1 查看软件包

我们可以通过 yum list 命令来查看所有的软件包,由于软件包的数量可能非常多,因此我们可以使用 grep 命令来过滤出我们想要的包。

[root@VM-8-4-centos ~]# yum list | grep gcc.x86_64
gcc.x86_64                               4.8.5-44.el7                  @os      
libgcc.x86_64                            4.8.5-44.el7                  @os      
avr-gcc.x86_64                           4.9.2-1.el7                   epel     
gcc-x86_64-linux-gnu.x86_64              4.8.5-16.el7.1                epel 
  1. 软件包名称主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构

  2. 软件包系统架构x86_64 后缀表示 64 64 64 位系统的安装包,i686 后缀表示 32 32 32 位系统安装包。

  3. 操作系统发行版本el7 表示的是 c e n t o s 7 / r e d h a t 7 centos\ 7/redhat\ 7 centos 7/redhat 7el6 表示 c e n t o s 6 / r e d h a t 6 centos\ 6/redhat\ 6 centos 6/redhat 6

  4. 软件源的名称os 表示的是系统软件源,epel 表示的是扩展软件源,base 表示的是标准软件源,类似于小米应用商店、华为应用商店这样的概念。

3.2 安装软件

安装软件的命令为:sudo yum install [软件名] y u m yum yum 会自动找到都有哪些软件包需要下载,这时候敲 y y y 确认安装,出现 c o m p l e t e complete complete 字样或者中间未出现报错,说明安装完成。

如果不想敲 y y y 确认安装,我们可以在后面添加一个 -y 选项,表示自动确认安装:

[root@VM-8-4-centos ~]# yum install -y sl
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package sl.x86_64 0:5.02-1.el7 will be installed
--> Finished Dependency ResolutionDependencies Resolved========================================================================================================================================================================Package                             Arch                                    Version                                        Repository                             Size
========================================================================================================================================================================
Installing:sl                                  x86_64                                  5.02-1.el7                                     epel                                   14 kTransaction Summary
========================================================================================================================================================================
Install  1 PackageTotal download size: 14 k
Installed size: 17 k
Downloading packages:
sl-5.02-1.el7.x86_64.rpm                                                                                                                         |  14 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionInstalling : sl-5.02-1.el7.x86_64                                                                                                                                 1/1 Verifying  : sl-5.02-1.el7.x86_64                                                                                                                                 1/1 Installed:sl.x86_64 0:5.02-1.el7                                                                                                                                                Complete!

注意 y u m yum yum 安装软件只能一个装完了再装另一个,正在 y u m yum yum 安装一个软件的过程中,如果再尝试用 y u m yum yum 安装另外一个软件, y u m yum yum 会报错。

3.3 卸载软件

卸载软件的命令为:sudo yum remove [软件名]。这时候敲 y y y 确认卸载,出现 c o m p l e t e complete complete 字样或者中间未出现报错,说明卸载完成。

如果不想敲 y y y 确认卸载,我们可以在后面添加一个 -y 选项,表示自动确认卸载:

[root@VM-8-4-centos ~]# yum remove -y sl
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package sl.x86_64 0:5.02-1.el7 will be erased
--> Finished Dependency ResolutionDependencies Resolved========================================================================================================================================================================Package                             Arch                                    Version                                       Repository                              Size
========================================================================================================================================================================
Removing:sl                                  x86_64                                  5.02-1.el7                                    @epel                                   17 kTransaction Summary
========================================================================================================================================================================
Remove  1 PackageInstalled size: 17 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionErasing    : sl-5.02-1.el7.x86_64                                                                                                                                 1/1 Verifying  : sl-5.02-1.el7.x86_64                                                                                                                                 1/1 Removed:sl.x86_64 0:5.02-1.el7                                                                                                                                                Complete!

4. 安装源

C e n t O S CentOS CentOS 安装源路径是在 /etc/yum.repos.d 目录下,一般来说国内的云服务器默认软件源都是国内的。

[root@VM-8-4-centos ~]# ll /etc/yum.repos.d
total 16
-rw-r--r-- 1 root root  614 Sep  8  2024 CentOS-Base.repo	# 标准源
-rw-r--r-- 1 root root  230 Sep  8  2024 CentOS-Epel.repo	# 扩展源

二、vim(编辑器)

1. vim 基本功能和介绍

v i / v i m vi/vim vi/vim 的区别简单点来说,它们都是多模式编辑器,不同的是 v i m vim vim v i vi vi 的升级版本,它不仅兼容 v i vi vi 的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于 x w i n d o w x\ window x window m a c o s mac\ os mac os w i n d o w s windows windows。因此,我们主要介绍的是 v i m vim vim 编辑器。

v i m vim vim 的基本功能:

  1. 命令行模式下的文本编辑器。

  2. 根据文件扩展名自动判别编程语言。支持代码缩进、代码高亮等功能。

  3. 使用方式:vim [filename]

    (1) 如果已有该文件,则打开它。

    (2) 如果没有该文件,则打开个一个新的文件,并命名为 f i l e n a m e filename filename

2. vim 基本模式

v i m vim vim 主要有三种基本模式(其实有好多模式,掌握最常用的 3 3 3 种即可)。分别是:命令模式 n o r m a l m o d e normal\ mode normal mode)、插入模式 i n s e r t m o d e insert\ mode insert mode)和底行模式 l a s t l i n e m o d e last\ line\ mode last line mode),各模式的功能区分如下:

  1. 命令模式 n o r m a l m o d e normal\ mode normal mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段

可以进入到 i n s e r t m o d e insert\ mode insert mode 下,或者到 l a s t l i n e m o d e last\ line\ mode last line mode 默认模式。

  1. 插入模式 i n s e r t m o d e insert\ mode insert mode):进行文字输入操作。(编辑器核心模式)

在命令模式下,按下 a / i / o a/i/o a/i/o 三个字母中的任意一个会进入编辑模式;按【 E s c Esc Esc】键可回到命令行模式。

  1. 底行模式 l a s t l i n e m o d e last\ line\ mode last line mode):进行文件保存或退出,文件替换,找字符串,列出行号等操作

在命令模式下,按下 : / ? :\ /\ ? : / ? 三个字母中的任意一个即可进入底行模式;按【 E s c Esc Esc】键可回到命令行模式。

在这里插入图片描述

要查看你的所有模式:打开 v i m vim vim,底行模式直接输入:help vim-modes

操作:
(1) i:进入编辑模式
(2) ESC:进入一般命令模式
(3) h 或 左箭头键:光标向左移动一个字符
(4) j 或 向下箭头:光标向下移动一个字符
(5) k 或 向上箭头:光标向上移动一个字符
(6) l 或 向右箭头:光标向右移动一个字符
(7) n:n表示数字,按下数字后再按空格,光标会向右移动这一行的n个字符
(8) 0 或 功能键[Home]:光标移动到本行开头
(9) $ 或 功能键[End]:光标移动到本行末尾
(10) G:光标移动到最后一行
(11) :n 或 nG:n为数字,光标移动到第n行
(12) gg:光标移动到第一行,相当于1G
(13) n:n为数字,光标向下移动n行
(14) /word:向光标之下寻找第一个值为word的字符串。
(15) ?word:向光标之上寻找第一个值为word的字符串。
(16) n:重复前一个查找操作
(17) N:反向重复前一个查找操作
(18) :n1,n2s/word1/word2/g:n1与n2为数字,在第n1行与n2行之间寻找word1这个字符串,并将该字符串替换为word2
(19) :1, s / w o r d 1 / w o r d 2 / g :将全文的 w o r d 1 替换为 w o r d 2 ( 20 ) : 1 , s/word1/word2/g:将全文的word1替换为word2 (20) :1, s/word1/word2/g:将全文的word1替换为word2(20):1,s/word1/word2/gc:将全文的word1替换为word2,且在替换前要求用户确认。
(21) v:选中文本
(22) d:删除选中的文本
(23) dd: 删除当前行
(24) y:复制选中的文本
(25) yy: 复制当前行
(26) p: 将复制的数据在光标的下一行/下一个位置粘贴
(27) u:撤销
(28) Ctrl + r:取消撤销
(29) 大于号 >:将选中的文本整体向右缩进一次
(30) 小于号 <:将选中的文本整体向左缩进一次
(31) :w 保存
(32) :w! 强制保存
(33) :q 退出
(34) :q! 强制退出
(35) :wq 保存并退出
(36) :set paste 设置成粘贴模式,取消代码自动缩进
(37) :set nopaste 取消粘贴模式,开启代码自动缩进
(38) :set nu 显示行号
(39) :set nonu 隐藏行号
(40) gg=G:将全文代码格式化
(41) :noh 关闭查找关键词高亮
(42) Ctrl + q:当vim卡死时,可以取消当前正在执行的命令
异常处理:
每次用vim编辑文件时,会自动创建一个.filename.swp的临时文件。
如果打开某个文件时,该文件的swp文件已存在,则会报错。此时解决办法有两种:
(1) 找到正在打开该文件的程序,并退出
(2) 直接删掉该swp文件即可


三、gcc/g++(编译器)


四、make/makefile(自动化构建)


五、git(版本控制器)


六、gdb(调试器)


总结

相关文章:

【Linux】基础开发工具

L i n u x Linux Linux 环境下的开发工具非常丰富&#xff0c;是程序员和开发人员进行高效开发的必备基础。 L i n u x Linux Linux 环境下的开发工具主要包括 y u m yum yum 软件包管理器、 v i m vim vim 文本编辑器、 g c c / g gcc/g gcc/g 编译器、 g d b gdb gdb 调试工…...

【编程干货】本地用 Ollama + LLaMA 3 实现 Model Context Protocol(MCP)对话服务

模型上下文协议&#xff08;MCP&#xff09;本身提供的是一套标准化的通信规则和接口&#xff0c;简化了客户端应用的开发。 MCP 实际上是一套规范&#xff0c;官方把整套协议分成「传输层 协议层 功能层」三大块&#xff0c;并对初始化握手、能力协商、数据/工具暴露、安全…...

华为策略路由

路由策略&#xff1a;是对路由条目进行控制&#xff0c;通告控制路由条目影响报文的转发路径。路由策略为控制平面。 策略路由&#xff1a;是根据报文特征&#xff0c;认为的控制报文从某个即可转发出去&#xff0c;不修改路由表。即策略路由为在转发平面。 路由策略 策略路由…...

Spring Boot3 实现定时任务 每10分钟执行一次,同时要解决分布式的问题 区分不同场景

在Spring Boot 3中实现分布式定时任务&#xff0c;确保多实例环境下任务仅执行一次&#xff0c;可以采用以下方案&#xff1a; 方案一&#xff1a;Redis分布式锁&#xff08;推荐&#xff09; import org.springframework.data.redis.core.StringRedisTemplate; import org.sp…...

山东大学项目实训-创新实训-法律文书专家系统-项目报告(四)

项目简介 法律文书专家系统是一个 Web 应用&#xff0c;提供法律文书摘要提取、法律预测报告生成和法律考试问题答疑三大核心功能。用户需要登录或注册后&#xff0c;进入主页面选择所需功能&#xff0c;进行相应的操作。 用户群体 律师&#xff1a;需要快速提取法律文书摘要…...

sqli-labs靶场通关保姆级教学(Get传输篇)Less-1Less-10

sqli-labs靶场通关保姆级教学&#xff08;Get传输篇&#xff09;Less-1~Less-10&#xff08;纯手注&#xff09; sqli - labs 靶场是一个专门用于网络安全学习和测试 SQL 注入漏洞的开源靶场。包含报错盲注、布尔盲注、基于联合查询的 SQL 注入等多种类型的 SQL 注入漏洞&…...

Day17 聚类算法(K-Means、DBSCAN、层次聚类)

一、聚类算法 1. K-Means 聚类 原理&#xff1a;K-Means 是一种基于划分的聚类算法&#xff0c;目标是将 n n n 个样本划分到 k k k 个簇中&#xff0c;使得簇内样本的相似度尽可能高&#xff0c;簇间样本的相似度尽可能低。算法通过迭代的方式&#xff0c;不断更新簇的质心…...

构建 Web 浏览 AI Agent:Pydantic + MCP 实现指南

在当今快节奏的数字世界中,高效地从网站提取和总结信息可以成为改变游戏规则的利器。大型语言模型(LLM)提供了令人难以置信的能力,但它们本身并不知道如何浏览网络或获取实时内容。 本文演示如何创建一个由Python驱动的AI Agent,它能够阅读和总结网站内容,使其成为研究人员…...

解决 pnpm dev 运行报错的坎坷历程

解决 pnpm dev 运行报错的坎坷历程 在项目开发过程中&#xff0c; 在clone完别人的代码后启动项目时&#xff1a;nodejs 和 pnpm版本都没问题 &#xff0c;但是 无法运行 pnpm dev 命令启动项目时&#xff0c;往往会遇到各种各样的报错问题。最近在处理 yudao-ui-admin-vue3 项…...

从贴牌到品牌:出海官网如何让中国制造“贵”起来?

在全球经济一体化的当下&#xff0c;中美关税战如同一记重锤&#xff0c;给国际贸易格局带来了巨大震荡。自贸易摩擦爆发以来&#xff0c;双方多次调整关税政策&#xff0c;涉及的商品种类不断增多&#xff0c;税率持续攀升&#xff0c;众多中国企业的出口业务遭受重创&#xf…...

ultralytics框架进行RT-DETR目标检测训练

自DETR提出以来&#xff0c;其采用匈牙利匹配方式真正的实现了端到端检测效果&#xff0c;避免了NMS等后处理过程&#xff0c;同时&#xff0c;相较CNN的局部特征提取&#xff0c;其凭借着Transformer强大的全局特征提取能力&#xff0c;在目标检测领域可谓大杀四方&#xff0c…...

SQLite基本函数

目录 1 核心函数和聚合函数 1.1 核心函数 1.2 聚合函数 2 字符串函数 3 日期和时间函数 4 数学函数 5 JSON函数 (SQLite 3.9.0) 6 窗口函数 (SQLite 3.25.0) 7 加密和安全函数 8 其他实用函数 9 C#代码示例&#xff1a;使用SQLite函数 9.1 准备工作 9.2 代码实现…...

使用Java和LangChain4j实现人工智能:从分类到生成式AI

人工智能&#xff08;AI&#xff09;从科幻小说中的梦想逐步演变为现实&#xff0c;驱动了从语音助手到自动驾驶汽车的各种应用。AI 的发展主要基于两种方法&#xff1a;基于编码的传统方法和基于机器学习的现代方法。机器学习通过神经网络和大量训练数据实现分类、生成等任务&…...

数据分析指标体系

目录 1. 构建业务公式&#xff0c;用量化逻辑串联业务 1.1 明确公式结果 1.2 拆解业务过程 1.3 构建计算关系&#xff08;yaxb&#xff09; 经典的成交额业务公式 小疑问&#xff1a; 如何让自己的指标看起来更专业&#xff1f; 量化业务过程的量化&#xff0c;到底是什…...

分布式、高并发-Day04

以下是 Day 4 详细学习内容&#xff08;CAS 与原子操作实战&#xff0c;30 分钟完整计划&#xff09;&#xff0c;包含原理解析、分步代码实战和性能对比&#xff1a; &#x1f4d6; 今日学习目标 掌握 CAS&#xff08;Compare-And-Swap&#xff09;无锁算法的核心原理学会使…...

计算机中的逻辑运算

目录 一、总览 二、详情 1. 基本逻辑运算&#xff08;与、或、非&#xff09;&#xff1a; 2. 其他常用的逻辑运算&#xff08;异或、同或、与非、或非&#xff09;&#xff1a; 在计算机中&#xff0c;逻辑运算是构成数字电路和计算机程序基础的关键操作。它们处理的是真值…...

Dify - Stable Diffusion

Stable Diffusion 是一种基于文本提示生成图像的工具&#xff0c;Dify 已经实现了访问 Stable Diffusion WebUI API 的接口&#xff0c;因此你可以直接在 Dify 中使用它。以下是在 Dify 中集成 Stable Diffusion 的步骤。 1. 初始化本地环境 推荐使用装有较强 GPU 的机器来安…...

weapp-vite - 微信小程序工具链的另一种选择

weapp-vite - 微信小程序工具链的另一种选择 前言 weapp-vite 是由 笔者 icebreaker 开发的一个基于 vite 的现代化微信小程序开发工具链。我给它设定的目标初心是: 为小程序开发者带来笑容。 自从在 2024 年的 8 月正式发布之后&#xff0c;到现在也过了将近 9 个月的时间。…...

图形化编程重塑 IoT 边缘开发:技术革新与生态竞合新范式

本文以图形化编程技术为核心&#xff0c;深度剖析其在 IoT 边缘开发中的创新应用与行业变革。通过对传统开发困局的系统解构&#xff0c;结合 iVX 项目等典型案例&#xff0c;揭示图形化编程如何通过可视化逻辑设计、自动代码生成及 AI 驱动架构&#xff0c;实现开发效率与应用…...

node-sass安装失败解决方案

1、python环境问题 Error: Cant find Python executable "python", you can set the PYTHON env variable. 提示找不到python2.7版本&#xff0c; 方法一&#xff1a;可安装一个python2.7或引用其他已安装的python2.7 通过设置环境变量可以解决&#xff1b; 方法二&…...

PDF内容搜索--支持跨文件夹多文件、组合词搜索

平时我们接触到的PDF文档特别多&#xff0c;需要对PDF文档做一些处理&#xff0c;那么今天给大家带来的这两个软件非常的棒&#xff0c;可以帮你提升处理文档的效率。 PDF内容搜索 快速检索 我用夸克网盘分享了「PDF搜索PDF 转长图.zip」&#xff0c;点击链接即可保存。打开「…...

我用cursor 搭建了临时邮箱服务-Temp Mail 365

用业余时间搭建了一个临时邮箱&#xff0c;对于后端程序员出身的我&#xff0c;对前端了解的不太多&#xff0c;有了cursor的帮助&#xff0c;补齐了自己的短板&#xff0c;搭建了这个服务&#xff0c;下面对临时邮箱架构设计与安全性做一个分析。 https://temp-mail-365.com 临…...

RN学习笔记 ✅

太无聊了最近&#xff0c;找点事做&#xff0c;学一下RN丰富一下技术栈&#x1fae1;。但是开发APP除了RN&#xff0c;还有一种选择就是WebView&#xff0c;但是基于WebView的APP的性能被普遍认为不如RN&#xff0c;因为WebView本质上是一个容器&#xff0c;用于在应用中嵌入网…...

使用原生 CSS 实现轮播

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、核心新特性1. ::scroll-button()2. ::scroll-marker()二、基础实现步骤1. 创建滚动容器2. 添加滚动按钮3. 集成滚动标记三、高级功能1. 滚动驱动动画2. 状态查询3. 响应式布局四、展示前言 最新!原生CSS也可以实现轮播…...

C语言进阶—函数(static,递归,回调,指针,内联,变参,结构体尺寸)

目录 一 static函数 1. static变量 1.静态局部变量 2.静态全局变量 2. static函数 二 递归函数 三 指针函数&函数指针 1. 指针函数 2. 函数指针 四 回调函数 五 内联函数 1. 核心特性表 2. 优缺点分析表 3. 用场景建议 3.1 推荐使用场景 3.2 应避免场景 六…...

碰一碰发视频源码搭建的定制化开发实践

在数字化营销与信息交互的浪潮中&#xff0c;碰一碰发视频技术以其便捷性和高效性&#xff0c;成为吸引用户的重要手段。然而&#xff0c;通用的碰一碰发视频系统往往难以满足企业多样化的业务需求。通过对源码进行定制化开发&#xff0c;可以打造出契合特定场景的专属系统。本…...

代码mark:脚本获取包含全角字符的字符串的长度

脚本获取包含全角字符的字符串的长度 function myLen(s) { var r 0; for (var i 0; i < s.length; i) { var c s.charCodeAt(i); // Shift_JIS: 0x0 &#xff5e; 0x80, 0xa0 , 0xa1 &#xff5e; 0xdf , 0xfd &#xff5e; 0xff // Unicode : 0x0 &…...

FPGA----基于ZYNQ 7020实现petalinux并运行一个程序

引言&#xff1a;上一节我们讲到了使用Alinx 7020b自带的sd卡中的petalinux进行epics的编译&#xff0c;但此种方案个性化程度不足。如&#xff1a;我们项目需要FPGA侧的配合&#xff0c;那么我们需要重新编译petalinx。 注意&#xff1a;本文的知识点来自下面两篇文章&#x…...

微服务架构详解

微服务架构的思想本质 我们为什么需要微服务架构&#xff0c;它一定是为了解决我们某些问题才出现了。这篇文章我们讨论下微服务架构模式所解决的问题&#xff0c;带来的挑战&#xff0c;以及他的核心思想本质。 1 早期的服务架构 ​ 上图是一个典型的服务分层架构&#xff1a;…...

error:0308010C:digital envelope routines::unsupported

npm run dev 报错&#xff1a; \node_modules\webpack\hot\dev-server.jsnode:internal/crypto/hash:71 this[kHandle] new _Hash(algorithm, xofLen); Error: error:0308010C:digital envelope routines::unsupported opensslErrorStack: [ error:03000086:digital env…...

Blender 初学者指南 以及模型格式怎么下载

glbxz.com glbxz.com 可以直接下载Blender格式模型 第 1 步&#xff1a;打开 这就是 blender 打开时的样子。 您面对的是左侧和右侧的工具栏&#xff0c;顶部是文件作&#xff0c;底部是时间轴&#xff0c;中间是 3D 视图。 Blender 的默认起始网格是一个立方体&#xff0c…...

开个帖子记录一下自己学spring源码的过程

一、写在开头 简单记录下来时路&#xff0c;以后也能回头看看鼓励下自己。我以前不喜欢拍照&#xff0c;觉得没什么意思&#xff0c;有一天百度云盘给我推不知道什么时候从相册推到百度云相册的照片&#xff0c;那是我口罩时期在家上体育课的照片&#xff0c;我现在回头望过去…...

【coze】工作流(B站视频总结改写)

【coze】工作流&#xff08;B站视频总结改写&#xff09; 1.创建智能体2.工作流2.1 获取视频文案2.2 串联试运行2.3 二次创作&#xff08;大模型&#xff09;2.4 MD格式2.5 输出2.6 发布并调用 关于工作流&#xff1a; 简单业务&#xff0c; 如果智能体的逻辑比较简单&#xf…...

文化符号与隐形的社会话语权力:解码布尔迪厄理论下的意识形态操控机制

文化符号与隐形的社会话语权力&#xff1a;解码布尔迪厄理论下的意识形态操控机制 引言&#xff1a;符号背后的权力博弈 在当代社会&#xff0c;文化符号早已超越其表层的审美或实用功能&#xff0c;成为维系社会等级、塑造意识形态的隐形权力工具。从故宫博物院的金色琉璃瓦…...

一个关于fsaverage bem文件的说明

MNE文档&#xff1a;基于模板 MRI 的 EEG 前向算子 Head model and forward computation 在了解了脑图谱发展的过程之后&#xff0c;对脑的模版有了更深的认识&#xff0c;所以&#xff0c;对于之前使用的正向的溯源文件&#xff0c;进行一下解析&#xff0c;查看包含的信息&a…...

如何解决Kafka集群中Broker磁盘IO瓶颈?

针对Kafka集群Broker磁盘IO瓶颈问题&#xff0c;这里从实际运维场景出发给出解决方案&#xff1a; 1. 分区负载均衡优化 分区迁移策略 # 查看Topic分区分布&#xff08;识别热点Broker&#xff09; kafka-topics --bootstrap-server broker1:9092 --describe --topic high_t…...

42 python http之urllib库

作为办公室牛马,日常工作中总少不了和网络数据打交道。比如从公司内部系统抓取数据做报表。Python urllib 库用于操作网页 URL,并对网页的内容进行抓取处理 一、Urllib 基础入门 urllib 是 Python 内置的一个强大的处理 URL 和网络请求的库,它包含了多个模块,每个模块都有…...

如何把阿里云a账号下面的oss迁移到阿里云b账号下面(同区域)

1.登录a账号进入bucket选择同区域复制 2.登录b账号进入bucket选择bucket授权策略&#xff0c;选择接受复制对象&#xff0c;手动输入&#xff0c;然后是a账号的id和角色名字即可。 3.然后在去a账号保存下同步任务&#xff0c;开始同步了就。...

cuda多维线程的实例

1、注意&#xff1a;在多维中的变化时与平常的不一样&#xff0c;如下图所示&#xff0c;横向变换x&#xff0c;纵向变换y 2、cuda内置变量&#xff1a; 1、thread&#xff08;线程&#xff09;&#xff1a; 一个线程可作为一个运算单元&#xff0c;多个thread可组成一个block(…...

哈希表的设计

1. 哈希表的基本原理 哈希表是一种通过 哈希函数 将元素的键&#xff08;Key&#xff09;映射到存储位置的数据结构。 哈希函数 的作用&#xff1a;通过键值计算存储位置&#xff0c;公式一般为 index hash(key) % capacity。 哈希冲突&#xff1a;不同的键可能被映射到同一…...

前端取经路——入门取经:初出师门的九个CSS修行

大家好&#xff0c;我是老十三&#xff0c;一名前端开发工程师。CSS就像前端修行路上的第一道关卡&#xff0c;看似简单&#xff0c;实则暗藏玄机。在今天的文章中&#xff0c;我将带你一起应对九大CSS难题&#xff0c;从Flexbox布局到响应式设计&#xff0c;从选择器优先级到B…...

网络安全等级保护有关工作事项[2025]

公安部发布公网安〔2025〕1846号文件&#xff0c;关于对网络安全等级保护有关共工作事项的进一步说明 一、备案相关问题 1、如何执行系统备案动态更新工作? 全面梳理与重新填报&#xff1a; 答复&#xff1a;运营者需**全面梳理已备案系统**的情况&#xff0c;对于已完成定…...

柯西不等式应用题

第一种方法是作两个相似三角形ABC和CDE,求出AE长度为3。那么BD最大长度为3。 方法二&#xff1a;柯西不等式&#xff08;a&#xff0b;b&#xff09;&#xff08;c&#xff0b;d&#xff09;≥&#xff08;ac&#xff0b;bd&#xff09; &#xff08;1√&#xff08;5-2x&…...

聚焦多种检测场景,华大基因推出全流程本地化检测综合解决方案

“从毫米到微米&#xff0c;神秘的微观世界被发现&#xff1b;从微米到纳米&#xff0c;生命的本源被不断认知。”在时代背景及战略机遇的多重影响下&#xff0c;精准医学已成为新兴的发展趋势&#xff0c;对医学模式的发展具有重要的意义。一直以来&#xff0c;华大基因都致力…...

职场口语之名词从句

目录 一、主语从句 二、宾语从句 三、表语从句 四、同位语从句 一、主语从句 1. Who will win the game is uncertain. 谁将赢得这场比赛还不确定。 2. Why he was late isnt clear. 他为什么迟到还不清楚。 3. What we should do next is important. 我们接下来应该做什么…...

DVWA靶场保姆级通关教程--03CSRF跨站请求伪造

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 一、low级别的源码分析 二、medium级别源码分析 安全性分析 增加了一层 Referer 验证&#xff1a; 关键点是&#xff1a;在真实的网络环境中&a…...

LangChain:大语言模型应用的“瑞士军刀”入门指南

LanChain入门指南 什么是LangChain&#xff1f;LangChain的核心价值1. 模块化设计 - AI界的"乐高积木"2. 典型应用场景 快速入门实战环境准备&#xff08;5分钟&#xff09;第一个示例&#xff1a;公司命名生成器&#xff08;10分钟&#xff09;进阶功能&#xff1a;…...

Mac电脑,idea突然文件都展示成了文本格式,导致ts,tsx文件都不能正常加载或提示异常,解决方案详细说明如下

有一天使用clean my mac软件清理电脑 突然发现idea出现了文件都以文本格式展示&#xff0c;如图所示 然后就卸载&#xff0c;计划重新安装&#xff0c;安装了好几个版本&#xff0c;并且setting->file types怎么设置都展示不对&#xff0c;考虑是否idea没卸载干净&#xff…...

如何将本地 Jar 包安装到 Maven 仓库(以 Aspose 为例)

在实际开发中&#xff0c;我们经常会遇到一些第三方库&#xff08;如商业库 Aspose&#xff09;无法通过 Maven 仓库直接引入的情况。这时&#xff0c;我们可以手动将 jar 包安装到本地 Maven 仓库&#xff0c;然后像普通依赖一样使用它。 本文以 Aspose.Slides 和 Aspose.Wor…...

[Linux]多线程(一)充分理解线程库

标题&#xff1a;[Linux]多线程 水墨不写bug 文章目录 一、线程的概念1、一句话总结区分进程和线程2、如何理解&#xff1f;3、那么进程和线程的对比&#xff1f;4、Linux为什么要这样设计进程和线程&#xff0c;难道不乱吗&#xff1f;5、从CPU的角度看待执行流&#xff1f;-…...