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

汇聚点滴启迪思维(三)

switch存在的问题

缺少default语句

switch语句可以包含一个可选的default语句,用于处理没有与任何case标签匹配的情况。如果没有default语句,并且没有与表达式匹配的case标签,程序将不会执行任何操作。

除了case

switch包含的大括号中间可以变量声明、赋值等操作,但是这些操作无法执行,因为switch只执行case匹配的语句

穿透

当某个case块的末尾没有break语句时,程序会继续执行下一个case块的代码,直到遇到break语句或者switch语句的末尾。这种穿透特性在某些情况下是非常有用的,它允许你共享代码块而不需要重复编写相同的代码。然而,它也容易导致逻辑错误,特别是当你不小心忘记添加break语句时。

下面是一个使用switch穿透特性的例子:

int main() {int num = 2;switch (num) {case 1:printf("Case 1\n");// 没有break,会穿透到case 2case 2:printf("Case 2\n");// 没有break,会穿透到case 3case 3:printf("Case 3\n");break; // 在这里停止穿透default:printf("Default case\n");break;}return 0;
}

在这个例子中,当num为2时,输出将是:

Case 2
Case 3

这是因为case 2的末尾没有break语句,所以程序继续执行case 3的代码。然而,这种穿透特性也可能导致意外的行为,特别是当你不希望它发生时。因此,在使用switch语句时,你应该清楚地知道何时使用穿透特性,何时需要添加break语句来防止穿透。

关于break跳到了那里

大家来看下面的例子

switch(line){case THING1: doit1();break;case THING2:if(x == STUFF){do_first();if(y == OTHER)break;}//程序员想让程序跳到这里default: .......//各种业务
}//实际跳到这里use_modes();

原本想从if语句中跳出,但是break实际跳出了最近的switch语句,程序跳出了switch语句,执行了use_modes(),这样给程序埋下了隐患。

关于书写格式

在C语言中,如果两个字符串常量在代码中相邻出现,并且它们之间仅由空白字符(如空格、制表符或换行符)分隔,或者根本没有分隔符,那么它们会被编译器自动合并成一个字符串。这是C语言的一个特性,允许程序员在编写代码时以更灵活的方式处理字符串。

以下是一个简单的示例,展示了C语言中相邻字符串常量被自动合并的特性:


#include <stdio.h>int main() {printf("这是第一个字符串""这是第二个字符串\n");return 0;
}

然而这种自动合并意味着在字符串初始化时漏掉一个逗号,编译器不会发出任何错误信息,悄悄的把两个字符串合并在一起

int main() {char strArray[][40] = {"Hello""World","C Programming","is fun but hard" };int numRows = sizeof(strArray) / sizeof(strArray[0]);for (int i = 0; i < numRows; i++) {printf("%s\n", strArray[i]);}return 0;
}

这样二维数组从四行变为了三行。字符串的数目比预期少了一个。当程序想修改第二行数组字符串时却修改了别的字符串。

缺省带来的问题

在C语言中,如果你定义了一个函数而没有指定其作用域(即使用static关键字),那么该函数默认具有全局可见性。这意味着该函数可以在整个程序中被访问和调用。虽然这种默认的全局可见性在某些情况下可能很方便,但它也可能带来一些问题:

1‌、命名冲突‌:当多个文件或模块中定义了相同名称的函数时,就会发生命名冲突。这可能导致链接错误或不可预测的行为,因为编译器不知道应该使用哪个函数的定义。

2、代码维护困难‌:全局可见的函数使得代码更难以维护和理解。因为任何文件都可以调用这些函数,所以很难跟踪函数的调用关系和依赖关系。

3‌、潜在的错误‌:全局可见的函数更容易被误用或滥用。其他开发者可能会在不了解函数用途或副作用的情况下调用它们,从而导致程序错误或不稳定。

为了避免这些问题,你可以采取以下措施:

1‌、使用static关键字‌:在函数定义前加上static关键字,可以将函数的可见性限制在定义它的文件内。这有助于避免命名冲突和减少代码之间的依赖关系。

2、模块化设计‌:将程序划分为多个模块,每个模块只暴露必要的接口给其他模块。这可以通过头文件和源文件分离来实现,以及使用static函数来隐藏模块内部的实现细节。

3‌、命名规范‌:采用一致的命名规范来减少命名冲突的可能性。例如,可以使用前缀或后缀来标识函数所属的模块或库。

符号重载

不同的关键字在不同的环境中具有不同的意义,下表描述了部分关键字的重载情况

符号意义
static

在函数内部,表示变量的值在各个调用间一直保持延续性

在函数这一级,表示该函数只对本文件可见

extern

用于函数定义,表示全局可见

用于变量,表示在其他地方定义

void

作为函数的返回类型,表示不返回任何值

在指针声明中,表示通用指针的类型

位于参数列表中,表示没有参数

*

乘法运算符

用于指针,间接引用符

声明中,表示指针

&

AND操作符

取地址操作符

=赋值
==比较运算符

<=

<<=

小于等于运算符

左移复合赋值运算符

<

小于运算符

#include指令的左定界符

( )

在函数定义中,包围形式参数

调用一个函数

改变表达式的运算次序

将值转换为其他类型(强制类型转换)

定义带参数的宏

包围sizeof操作符的操作数

还有些奇怪的例子让大家恼火

if(x>>4)

这是啥意思,是x远远大于4

p = N * sizeof * q;

能不能马上判断出,这个乘号是一个还是两个

apple = sizeof(int) * p;

这代表设么意思,是int的长度乘p,或者把p强制转换为int,然后进行sizeof操作。

运算优先级带来的问题

运算符优先级是指不同运算符在表达式中按照一定的顺序进行运算的规则。这个规则决定了在没有括号明确指定顺序时,运算的执行顺序。具有高优先级的运算符会先于低优先级的运算符执行。然而,运算符优先级在使用中也存在一些问题,容易让程序员产生误解或错误

1、sizeof运算符的特殊性‌:

当sizeof的操作数是一个类型名时,两边必须加上括号。这容易让人误以为sizeof是一个函数。

例如:sizeof(int) 是正确的,而 sizeof int 是错误的。

‌2、点运算符(.)和星号运算符(*)的优先级‌:

点运算符(.)的优先级高于星号运算符(*)。

例如:表达式 *p.f 的实际结果是 *(p.f),而不是 (*p).f

‌3、方括号运算符([])和星号运算符(*)的优先级‌:

方括号运算符([ ])的优先级高于星号运算符(*)。

例如:表达式 int* ap[] 的实际结果是 int*(ap[]),而不是 int(*ap)[]

‌4、函数运算符()和星号运算符(*)的优先级‌:

函数运算符()的优先级高于星号运算符(*)。

例如:表达式 int* fp() 的实际结果是 int*(fp()),而不是 int(*fp)()

‌5、比较运算符和位运算符的优先级‌:

比较运算符(如 == 和 !=)的优先级高于位运算符。

例如:表达式 val & mask != 0 的实际结果是 val & (mask != 0),而不是 (val & mask) != 0

比较运算符和赋值运算符的优先级‌:

6、比较运算符的优先级也高于赋值运算符。

例如:表达式 c = getchar() != EOF 的实际结果是 c = (getchar() != EOF),而不是 (c = getchar()) != EOF

7、算术运算符和移位运算符的优先级‌:

算术运算符的优先级高于移位运算符。

例如:表达式 msb << 4 + lsb 的实际结果是 msb << (4 + lsb),而不是 (msb << 4) + lsb

‌8、逗号运算符的优先级‌:

逗号运算符在所有运算符中优先级最低。

例如:表达式 i = 1, 2; 的实际结果是 (i = 1), 2;,即 i 被赋值为 1,然后整个表达式的结果是 2(但通常不会使用这种写法,因为它可能导致代码难以理解和维护)。

为了避免这些问题,程序员需要熟悉C语言中各种运算符的优先级规则,并在编写代码时谨慎使用括号来明确表达式的运算顺序。同时,保持代码的清晰和可读性也是非常重要的,这有助于减少因运算符优先级问题而导致的错误。

相关文章:

汇聚点滴启迪思维(三)

switch存在的问题 缺少default语句 ‌switch语句可以包含一个可选的default语句&#xff0c;用于处理没有与任何case标签匹配的情况。如果没有default语句&#xff0c;并且没有与表达式匹配的case标签&#xff0c;程序将不会执行任何操作。 除了case switch包含的大括号中间…...

C#代码实现把中文录音文件(.mp3 .wav)转为文本文字内容

我们有一个中文录音文件.mp3格式或者是.wav格式&#xff0c;如果我们想要提取录音文件中的文字内容&#xff0c;我们可以采用以下方法&#xff0c;不需要使用Azure Speech API 密钥注册通过离线的方式实现。 1.首先我们先在NuGet中下载两个包 NAudio 2.2.1、Whisper.net 1.7.3…...

第18篇 :深入剖析systemverilog中 randomize 再谈失败案例(六)

今天,我们再谈一随机失败案例,希望再次同大家续探讨这块内容。 一 案例分析 我们先看一例子,代码如下: 上述代码中,共有5处使用 randomize 随机。它们的随机对象都是类 helloworld_test 中的 rand shortint unsigned counter ; 其中,counter 被赋予初始数值 66 。 …...

(耗时4天制作)详细介绍macOS系统 本博文含有全英版 (全文翻译稿)

(耗时4天制作)详细介绍macOS系统 本博文含有全英版-CSDN博客 全篇英文 Introduction to the macOS System I. Overview of macOS macOS is a proprietary operating system developed by Apple Inc., primarily used for Macintosh (Mac) computers. It is the first comme…...

React与Vue的区别(相同点和不同点)

前言 JavaScript是世界上最流行的语言之一&#xff0c;React和Vue是JS最流行的两个框架。但各有优缺点&#xff0c;本文将详细对比两大框架 一、框架背景 React React是由Facebook开发的用于构建用户界面的JavaScript库&#xff0c;Facebook对市场上JavaScript MVC框架都不太…...

flutter --no-color pub get 超时解决方法

新建Flutter项目后&#xff0c;运行报错&#xff0c;需要执行pub get 点击Run ‘flutter pub get’ … … … 卡着&#xff0c;不动了&#xff0c;提示超时 是因为墙的问题 解决方案&#xff1a; 添加以下环境变量 变量名: PUB_HOSTED_URL 变量值: https://pub.flutter-io.cn …...

MacPorts 中安装高/低版本软件方式,以 RabbitMQ 为例

查询信息 这里以 RabbitMQ 为例&#xff0c;通过搜索得到默认安装版本信息&#xff1a; port search rabbitmq-server结果 ~/Downloads> port search rabbitmq-server rabbitmq-server 3.11.15 (net)The RabbitMQ AMQP Server ~/Downloads>获取二进制文件 但当前官网…...

启动报错java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus

报错信息图片 日志&#xff1a; Exception in thread "Quartz Scheduler [scheduler]" java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus先说我自己遇到的问题&#xff0c;我们项目在web设置了自定义的log输出路径&#xff0c;多了一个 / 去…...

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——11上位机与小车交互

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——11上位机与小车交互 ​ 根据上一节的配置&#xff0c;目前已经建立了通讯环境&#xff0c;接下来给大家带来上位机与小车交互 这一章节里面也有图片大家去地瓜开发者社区看对应文章吧链接...

harbor离线安装 配置https 全程记录

1. 下载harbor最新版本 下载网址: 找最新的版本: https://github.com/goharbor/harbor/releases/download/v2.11.2/harbor-offline-installer-v2.11.2.tgz 这里我直接使用迅雷下载, 然后上传 1.1解压 sudo tar -xf harbor-offline-installer-v2.11.2.tgz -C /opt/ 2. 配置Harb…...

使用生存分析进行游戏时间测量

标题&#xff1a;Playtime Measurement with Survival Analysis 作者&#xff1a;Markus Viljanen, Antti Airola, Jukka Heikkonen, Tapio Pahikkala 译者&#xff1a;游戏数据科学 1 游戏中的游戏时间 1.1 为什么游戏时间很重要 游戏分析在理解玩家行为方面变得越来越重…...

Fiddler勾选https后google浏览器网页访问不可用

一、说明 最近电脑重新安装系统后&#xff0c;之前的所有工具都需要重新安装和配置&#xff0c;有个项目需要抓包https包查看一下请求的内容&#xff0c;通过Fiddler工具&#xff0c;但是开启后&#xff0c;发现https的无法抓取&#xff0c;同时google浏览器也不无法访问互联网…...

【信息系统项目管理师】高分论文:论信息系统项目的成本管理(社区网格化管理平台系统)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文一、规划成本管理二、估算成本三、制定预算四、控制成本论文 2022年6月,我作为项目经理负责了XX市社区网格化管理平台系统集成项目建设,该项目投资金额512.5万元,建设周期12个月。该项目由XX市综治办发…...

vscode配置markdown代码片段snippet不生效问题

markdown.json {"cpp code": {"prefix": "cpp","body": ["cpp","$1","",],"description": "cpp code"} }Ctrl Shift P 后输入settings ,然后选择open settings (json)&#xff…...

小脑萎缩与维生素补充:科学饮食,助力健康

小脑萎缩是一种神经影像学表现&#xff0c;常见于某些遗传症和神经系统变性类疾病&#xff0c;患者常表现出共济失调、语言功能障碍、眼球运动障碍以及肌肉功能障碍等症状。尽管小脑萎缩目前尚无完全治愈的方法&#xff0c;但通过合理的饮食调整和必要的维生素补充&#xff0c;…...

基于SSM+Vue的个性化旅游推荐系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着社会经济的快速发展和人民生活水平的不断提高&#xff0c;旅游业逐渐成为我国国民经济的重要支柱产业。然而&#xff0c;在旅游市场日益繁荣的背景下&#xff0c;游客对于旅游产品和服务的需求逐渐呈现出多样化和个性化的趋…...

灰狼优化算法(GWO)与狼群算法(WPA)的全面比较

灰狼优化算法&#xff08;GWO&#xff09;与狼群算法&#xff08;WPA&#xff09;都是基于狼群行为的智能优化算法&#xff0c;但它们在多个方面存在显著的区别。以下是对这两种算法的全方面比较&#xff1a; 一、算法起源与灵感 1. 灰狼优化算法&#xff08;GWO&#xff09;&…...

探索未知,乐享惊喜 —— 盲盒APP开发,开启您的个性化惊喜之旅!

在这个瞬息万变的数字时代&#xff0c;我们总在寻找那些能触动心灵、带来无限可能的小确幸。为了满足您对未知的好奇与对惊喜的渴望&#xff0c;我们匠心打造了一款全新的盲盒APP&#xff0c;旨在为您的生活增添一抹不同寻常的色彩&#xff0c;让每一次打开都是一次全新的探索与…...

音视频学习(二十五):ts

TS&#xff08;MPEG-TS&#xff0c;MPEG Transport Stream&#xff09; 是一种广泛应用于流媒体传输和存储的容器格式。它最早由 MPEG&#xff08;Moving Picture Experts Group&#xff09;组织制定&#xff0c;用于视频和音频的压缩编码。在 HLS&#xff08;HTTP Live Stream…...

MVVM、MVC、MVP 的区别

MVVM&#xff08;Model-View-ViewModel&#xff09;、MVC&#xff08;Model-View-Controller&#xff09;和MVP&#xff08;Model-View-Presenter&#xff09;是三种常见的软件架构模式&#xff0c;它们在客户端应用开发中被广泛使用。每种模式都有其特定的设计理念和应用场景&…...

低延迟!实时处理!中软高科AI边缘服务器,解决边缘计算多样化需求!

根据相关统计&#xff0c;随着物联网的发展和5G技术的普及&#xff0c;到2025年&#xff0c;全球物联网设备连接数将达到1000亿&#xff0c;海量的计算数据使得传输到云端再处理的云计算方式显得更捉襟见肘。拥有低延迟、实时处理、可扩展性和更高安全性的边缘计算应运而生&…...

CSS|14 z-index

z-index z-index表示谁压盖着谁&#xff0c;数值大的会压盖住数值小的。只有定位的元素才有z-index值&#xff0c;只有设置了固定定位、相对定位、绝对定位了的元素&#xff0c;才会拥有z-indexz-index的值是没有单位的&#xff0c;值是一个正整数&#xff0c;默认的z-index值…...

Elasticsearch:使用 Open Crawler 和 semantic text 进行语义搜索

作者&#xff1a;来自 Elastic Jeff Vestal 了解如何使用开放爬虫与 semantic text 字段结合来轻松抓取网站并使其可进行语义搜索。 Elastic Open Crawler 演练 我们在这里要做什么&#xff1f; Elastic Open Crawler 是 Elastic 托管爬虫的后继者。 Semantic text 是 Elasti…...

【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题

目录 为什么要结合项目与算法&#xff1f; 1. 蓝桥杯与《苍穹外卖》项目的结合 实例&#xff1a;基于蓝桥杯算法思想的订单配送路径规划 问题描述&#xff1a; 代码实现&#xff1a;使用动态规划解决旅行商问题 代码解析&#xff1a; 为什么这个题目与蓝桥杯相关&#x…...

powershell基础(1)

powershell基础(1) 1. 安装PowerShell 首先&#xff0c;确保你的计算机上已经安装了PowerShell。对于Windows 10及更高版本&#xff0c;PowerShell通常是默认安装的。你也可以从微软官网下载并安装最新版本的PowerShell Core。 2. 打开PowerShell 在Windows搜索栏中输入“P…...

国标GB28181协议平台Liveweb:搭建建筑工地无线视频联网监控系统方案

随着科技高速发展&#xff0c;视频信号经过数字压缩&#xff0c;通过互联网宽带或者移动4G网络传递&#xff0c;可实现远程视频监控功能。将这一功能运用于施工现场安全管理&#xff0c;势必会大大提高管理效率&#xff0c;提升监管层次。而这些&#xff0c;通过Liveweb监控系统…...

踩准智能汽车+机器人两大风口,速腾聚创AI+机器人应用双线爆发

日前&#xff0c;RoboSense速腾聚创交出了一份亮眼的Q3财报。受到多重利好消息影响&#xff0c;其股价也应势连续大涨。截止12月9日发稿前&#xff0c;速腾聚创股价近一个月内累计涨幅已超88%。 财务数据方面&#xff0c;速腾聚创在今年前三季度实现总收入约11.3亿元&#xff0…...

本地maven项目打包部署到maven远程私库

目的&#xff1a;在自己的maven项目中&#xff0c;要把当前maven项目部署到maven私库&#xff0c;供其他人引入依赖使用。 首先要确保你当前能访问到你的私库&#xff0c;能拉私库的maven依赖即可。 maven部署命令&#xff1a; mvn deploy:deploy-file -Dmaven.test.skiptrue -…...

青少年编程与数学 02-004 Go语言Web编程 14课题、数据操作

青少年编程与数学 02-004 Go语言Web编程 14课题、数据操作 一、数据操作二、CRUD说明&#xff1a; 三、数据验证为什么需要数据验证&#xff1f;Go Web应用中的数据验证示例步骤 1: 定义订单结构体步骤 2: 实现验证逻辑步骤 3: 在HTTP处理函数中使用验证 四、数据格式化什么是数…...

Java 中 ConcurrentHashMap 和 HashMap 能存 null 吗?深挖原理和使用场景

前言 当你使用 HashMap 或 ConcurrentHashMap 时&#xff0c;可能会冒出一个经典问题&#xff1a;它们能存储 null 键或 null 值吗&#xff1f; 初学者可能觉得无所谓&#xff0c;试一下不就知道了&#xff0c;但在真实项目中&#xff0c;这个问题可能导致严重的 bug。今天我们…...

【JavaWeb后端学习笔记】Spring Task实现定时任务处理

Spring Task是Spring框架提供的任务调度工具&#xff0c;可以按照约定的时间自动执行某个代码逻辑。 主要的应用场景有&#xff1a;纪念日提醒&#xff0c;处理订单未支付&#xff0c;还款提醒等。 1、corn表达式 使用Spring Task首先需要了解corn表达式&#xff0c;通过cor…...

【CSS in Depth 2 精译_087】14.4:CSS 中的浮动特效以及在文字环绕中的应用 + 14.5:本章小结

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第四部分 视觉增强技术 ✔️【第 14 章 蒙版、形状与剪切】 ✔️ 14.1 滤镜 14.1.1 滤镜的类型14.1.2 背景滤镜 14.2 蒙版 14.2.1 带渐变效果的蒙版特效14.2.2 基于亮度来定义蒙版14.2.3 其他蒙版属…...

探索 Python编程 调试案例:计算小程序中修复偶数的bug

在 学习Python 编程的过程里&#xff0c;会遇到各种各样的bug。而修复bug调试代码就像是一场充满挑战的侦探游戏。每一个隐藏的 bug 都是谜题&#xff0c;等待开发者去揭开真相&#xff0c;让程序可以顺利运行。今天&#xff0c;让我们通过一个实际案例&#xff0c;深入探索 Py…...

探索 CI/CD 工具的力量

CI/CD 工具是什么&#xff1f; CI/CD 工具是开发者的“生产力加速器”。它通过自动化代码构建、测试、部署等流程&#xff0c;消除了繁琐的手动操作&#xff0c;确保开发和运维的无缝衔接。借助这些工具&#xff0c;开发者不仅能够更快地发布产品&#xff0c;还能更早发现问题…...

MySQL和Oracle的区别

MySQL和Oracle的区别 MySQL是轻量型数据库&#xff0c;并且免费&#xff0c;没有服务恢复数据。 Oracle是重量型数据库&#xff0c;收费&#xff0c;Oracle公司对Oracle数据库有任何服务。 1.对事务的提交 MySQL默认是自动提交&#xff0c;而Oracle默认不自动提交&#xff0…...

亚马逊云科技 re:Invent 2024重磅发布!Amazon Bedrock Data Automation 预览版震撼登场

AWS re:Invent 2024 已圆满落幕&#xff01; 在本次大会中&#xff0c;隆重推出了一项全新功能&#xff1a; Amazon Bedrock Data Automation&#xff08;预览版&#xff09;震撼登场&#xff01; New Amazon Bedrock capabilities enhance data processing and retrieval | …...

SQL语句练习

阅读《SQL必知必会》&#xff08;第五版&#xff09;然后结合往常表做的练习记录 这里使用的数据库时sqlite3,使用的工具时navicat 表资源链接https://wenku.baidu.com/view/349fb3639b6648d7c1c74652.html 表录入后如上图所示。后面如果有多张表之间的操作&#xff0c;在引入…...

保姆级教程Docker部署RabbitMQ镜像

目录 1、创建挂载目录 2、运行RabbitMQ容器 3、Compose运行RabbitMQ容器 4、开启界面插件 5、查看RabbitMQ运行状态 6、常见问题处理 1、创建挂载目录 # 创建宿主机rabbitMQ挂载目录 sudo mkdir -p /data/docker/rabbitmq/log# 修改log目录权限 sudo chmod 777 /data/do…...

P6打卡—Pytorch实现人脸识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 1.检查GPU import torch import torch.nn as nn import matplotlib.pyplot as plt import torchvisiondevicetorch.device("cuda" if torch.cuda.is_…...

clickhouse-介绍、安装、数据类型、sql

1、介绍 ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库&#xff08;DBMS&#xff09;&#xff0c;使用C语言编写&#xff0c;主要用于在线分析处理查询&#xff08;OLAP&#xff09;&#xff0c;能够使用SQL查询实时生成分析数据报告。 OLAP&#xff08;On-Line A…...

基于单片机的智能婴儿床监护系统多功能婴儿床摇篮系统

功能介绍 以STM32单片机为控制核心蓝牙传输控制可以进行哭闹检测、尿床检测、音乐播放、语音提醒、哭闹时可以进行摇床有不同的模式自动模式和睡眠模式 实物可做&#xff0c;其他功能也可以 电路图 PCB 源代码 u8 Temperature_High; //室内温度高阈值 u8 Temperature_…...

微服务??

1、微服务架构的定义是什么&#xff1f; 微服务架构是一种将应用程序拆分为多个小型、独立服务的架构风格&#xff0c;每个服务专注于完成特定功能&#xff0c;通过轻量级通信协议&#xff08;如HTTP/REST、gRPC&#xff09;进行协作。 2、微服务和单体架构有哪些主要区别&am…...

14-zookeeper环境搭建

0、环境 java&#xff1a;1.8zookeeper&#xff1a;3.5.6 1、下载 zookeeper下载点击这里。 2、安装 下载完成后解压&#xff0c;放到你想放的目录里。先看一下zookeeper的目录结构&#xff0c;如下图&#xff1a; 进入conf目录&#xff0c;复制zoo_sample.cfg&#xff0…...

计算机网络 八股青春版

什么是HTTP&#xff1f;HTTP和HTTPS的区别 HTTP HTTP是超文本运输协议&#xff0c;是一种无状态&#xff08;每次请求都是独立的&#xff09;的应用层协议。用于在客户端和服务器之间传输超文本数据&#xff08;如HTML文件&#xff09;。默认端口是80数据以明文形式传输&#…...

快速解决oracle 11g中exp无法导出空表的问题

在一些生产系统中&#xff0c;有些时候我们为了进行oracle数据库部分数据的备份和迁移&#xff0c;会使用exp进行数据的导出。但在实际导出的时候&#xff0c;我们发现导出的时候&#xff0c;发现很多空表未进行导出。今天我们给出一个快速解决该问题的办法。 一、问题复现 我…...

Unity 6 Preview(预览版)新增功能

原文链接&#xff1a;Unity - 手册&#xff1a;Unity 6 预览版中的新增功能 目录 原文链接&#xff1a;Unity - 手册&#xff1a;Unity 6 预览版中的新增功能 编辑器和工作流程 UI 工具包 实体 图形 URP HDRP &#xff08;HDRP&#xff09; 多人游戏 游戏对象的 Netc…...

Halcon单相机+机器人=眼在手上#标定心得

首先&#xff0c;这个标定板肯定是放在我们要作业的工作台上的 目的 **1&#xff0c;得到标定物&#xff08;工作台&#xff09;与机器人底座之间的pose转换关系。2&#xff0c;得到相机与机器人末端tool的的转换关系。 两个不确定的定量 1&#xff0c;标定板与机器人底座b…...

Django 模板分割及多语言支持案例【需求文档】-->【实现方案】

Django 模板分割及多语言支持案例 这个案例旨在提供一个清晰的示范&#xff0c;展示如何将复杂的页面分解为多个可复用的模板组件&#xff0c;使代码更加模块化和易于管理。希望这篇案例文章对你有所帮助。 概述 在 Django 项目开发中&#xff0c;使用模板分割和多语言支持能…...

【hackmyvm】Diophante 靶场

1. 基本信息^toc 这里写目录标题 1. 基本信息^toc2. 信息收集2.1. 端口扫描2.2. 目录扫描2.3. knock 3. WordPress利用3.1. wpscan扫描3.2. smtp上传后门 4. 提权4.1. 提权leonard用户4.2. LD劫持提权root 靶机链接 https://hackmyvm.eu/machines/machine.php?vmDiophante 作者…...

基于MATLAB的图像增强

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;传知代码 欢迎大家点赞收藏评论&#x1f60a; 目录 一、背景及意义介绍背景图像采集过程中的局限性 意义 二、概述三、代码结构及说明&#xff08;一&#xff09;整体结构&#xff08;二&#xf…...