记一次 Mockito.mockStatic 泄漏导致的单元测试偶发报错排查过程
相信用 Java 写过单元测试的读者们对 Mockito 不会陌生。至于 Mockito 是什么,为什么要用 Mockito,本文不再赘述。本文记录了一次在 Apache ShardingSphere 项目中,由
Mockito.mockStatic
使用不当导致的单元测试偶发报错排查过程。
文章目录
- 前言
- 排查过程
- 问题复现
- 调试代码
- 发现端倪 & 解决
- 挖坑
前言
Mockito 自 3.4.0 起新增了一个方法 Mockito.mockStatic
,支持对静态方法 mock。
本人也曾在 Stack Overflow 上回答过一个问题,展示了我在 Apache ShardingSphere 的单元测试代码中使用 Mockito.mockStatic
mock 单例的案例,对 Mockito.mockStatic
方法不是特别熟悉的同学可以了解一下:
如何使用 Mockito mock 单例 Mocking a singleton with mockito
mockStatic
使用有哪些注意实现?我们查看一下 Mockito 官方文档的说明:48. Mocking static methods (since 3.4.0)
When using the inline mock maker, it is possible to mock static method invocations within the current thread and a user-defined scope. This way, Mockito assures that concurrently and sequentially running tests do not interfere. To make sure a static mock remains temporary, it is recommended to define the scope within a try-with-resources construct.
大致的意思是:mockStatic
方法作用范围是当前线程和用户定义的作用域。为确保 mockStatic
只是临时生效,建议使用 try-with-resources 代码块包裹 mockStatic
。
解读 Mockito 文档提供的示例:
assertEquals("foo", Foo.method()); // 静态方法 Foo.method() 原本行为
try (MockedStatic mocked = mockStatic(Foo.class)) { // 对 Foo 类进行 mockStatic mocked.when(Foo::method).thenReturn("bar"); // 通过 mock 改变静态方法 Foo.method() 行为assertEquals("bar", Foo.method()); // 进行测试断言mocked.verify(Foo::method);
}
assertEquals("foo", Foo.method()); // 离开 mockStatic 作用域,Foo.method() 恢复原本行为
现在我们思考下,如果
mockStatic
方法没有被包裹在 try-with-resources 代码块中,也没有手动关闭MockedStatic
对象,会发生什么事情?
根据文档的描述,如果没有关闭 mockStatic
的话,是不是被 mock 的静态类在这条线程上的行为会一直被改变?
Apache ShardingSphere 的单元测试曾出现过因 Mockito.mockStatic
使用后没有释放,导致单元测试偶发失败的问题。
排查过程
Apache ShardingSphere 会通过 GitHub Actions 对每个 PR 或合并到 master 的 commit 运行 CI——标准的 Maven clean install 流程,install 过程中就包括运行单元测试。
有段时间,ShardingSphere 的 CI 偶尔会失败一下,问了一下其他也在参与 ShardingSphere 开发的同学,本地 install 或执行单元测试也有可能会失败。
https://github.com/apache/shardingsphere/actions/workflows/ci.yml?query=branch%3Amaster+created%3A<2022-07-13+is%3Afailure
由于时间久远,GitHub Actions 的日志已经被清理了。
一个项目的单元测试如果不能保证稳定通过,那肯定是 测试代码有问题 或者 生产代码存在隐患。
问题复现
来看 ShardingSphere infra-common 模块下的一个单元测试,ShardingSphereMetaDataTest 中有一个用例如下:
@Test
public void assertGetMySQLDefaultSchema() throws SQLException {MySQLDatabaseType databaseType = new MySQLDatabaseType();ShardingSphereDatabase actual = ShardingSphereDatabase.create("foo_db", databaseType, Collections.singletonMap("", databaseType), mock(DataSourceProvidedDatabaseConfiguration.class), new ConfigurationProperties(new Properties()), mock(InstanceContext.class));assertNotNull(actual.getSchema("foo_db"));
}
单独运行这个测试用例,是通过的。
但是,如果运行 infra-common 模块下的所有测试,这个用例就会失败。
其中,ShardingSphereDatabase.create
最终调用的静态方法大致如下,代码中只有正常返回一个 ShardingSphereDatabase
实例或抛出异常两种可能,不存在返回 null
的情况。
private static ShardingSphereDatabase create(final String name, final DatabaseType protocolType, final DatabaseConfiguration databaseConfig, final Collection<ShardingSphereRule> rules, final Map<String, ShardingSphereSchema> schemas) {// 省略中间过程代码return new ShardingSphereDatabase(name, protocolType, resourceMetaData, ruleMetaData, schemas);
}
但是,这么简单的一段单元测试确实就报了空指针,而且还是 actual
(静态方法 ShardingSphereDatabase.create
的返回结果)为 null
。
java.lang.NullPointerException: Cannot invoke "org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase.getSchema(String)" because "actual" is nullat org.apache.shardingsphere.infra.metadata.ShardingSphereMetaDataTest.assertGetMySQLDefaultSchema(ShardingSphereMetaDataTest.java:109)
从代码上看,一个没有可能返回 null
的静态方法,却在单元测试返回了 null
,不理解!
由于本地环境暂时能够持续必现问题,可以打断点 Debug 一下。
失败是偶发而不是必现的原因是:一个模块下的单元测试的运行顺序不是恒定的。 有些可能污染其他测试用例的测试代码,恰好其运行顺序比较靠后,测试运行表现为正常通过。
曾经我也解决过另一个受单元测试执行顺序影响的偶发问题,具体排查可以见我之前的文章:记一次 ThreadLocal 泄漏导致的 shardingsphere-jdbc-core 单元测试偶发失败的排查与修复
调试代码
打上断点,运行模块全量测试,跑到了断言失败前的代码。
来一个快速表达式计算,确实是 ShardingSphereDatabase.create
方法返回了 null
。
那进入方法内部看看:
发现端倪 & 解决
奇怪的现象出现了!可以看下面这个动图:
进入 ShardingSphereDatabaes.create
方法后,点击 Step Into
,正常情况下应该继续进入 create
方法第一行代码的 DatabaseRulesBuilder.build
方法,但是,调试器却直接跳到了 create
方法的 return
,并且点击 Step Into
也没有继续进入 create
方法!
这种奇怪的现象,凭经验来看,有可能是实际运行的字节码与源码对不上。代码中全局搜了一下 mockStatic
方法的使用,果然发现了一些单元测试代码使用了 mockStatic
方法,但既没有使用 try-with-resources,又没有手动释放。
于是,我对 mockStatic
使用不当的代码进行了修复,并且在 ShardingSphere 的代码规范里面补充了使用 mockStatic
、mockConstruction
的要求。
具体可见:
- 修复 ShardingSphere 单元测试 mockStatic 泄漏:Fix mockStatic leak in unit tests #19077
- 更新 ShardingSphere 关于 Mockito 使用的代码规范:Update Code of Conduct about Mockito #19083
挖坑
在前面的步骤已经发现并解决了单元测试的问题,但这是凭个人经验和运气解决的。
假如我是曾经没有使用过
mockStatic
等方法、没有相关经验的开发者,光凭 IDEA 的 Debug 现象是无法直接得出mockStatic
泄漏的结论的,如何能够排查出这类泄漏问题?
找时间继续深入探究这个问题。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4925950.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!
35+大龄程序员们都在做什么?
本文转载自 码农故事汇,作者 车素清 对于互联网人,尤其是程序员来说,35岁是个尴尬而危险的年纪,业内时常传出清退大龄程序员的消息。那么,那些35岁以上的程序员都去哪里了呢? 01 老宋,45岁&a…...

公众号电商小程序运营方案
公众号电商是通过优质内容链接用户与产品,是一种以内容为媒介,以产品销售、流量变现为目的的线上销售模式。通过优质的内容聚合粉丝,粉丝在阅读过程中购买商品,完成消费。 以内容为导向的公众号电商更容易打造自身品牌IP…...

#python学习DAY2#第一个程序
1、启动IDLE,进行编辑 2、输入print(Hello World!),按回车 3、打开新文件编辑器,File>New File 4、输入源码 5、保存,选择File>Save As 6、运行程序,Run>Run Module 7、在交互窗口按提示输入 学习书籍&#x…...

【CNC——第6篇】PMAC上位机编程基础篇(上位机和下位机如何通信)
拓展链接: PAMC官网:DELTA TAU。 官网手册:手册大全 PMAC官网: PCOMM32PRO用户手册 PMAC 的内部变量 内部变量分为四种,I 变量为电机等常用基本控制变量,P 变量为全局用户常量,Q 变量为坐标…...

NOI openjudge 计算2的N次方
12:计算2的N次方 描述 任意给定一个正整数N(N<100),计算2的n次方的值。 输入 输入一个正整数N。 输出 输出2的N次方的值。 简单的解释一下为什么这题要用数组写。 题目要求的是求2的n次方,2^100有多大呢有10^30那么大,在C语言中最…...

C语言逻辑运算符和||,一篇文章带你读懂逻辑表达式!
目录 逻辑运算符有哪些? 逻辑运算符的短路特性 逻辑运算符在表达式求值中的问题 逻辑运算符&&、||混合的不同情况 逻辑运算符有哪些? C 语言提供了以下三种逻辑运算符。 一元:!(逻辑非)。 二…...

python excel 空值,python 删除空值且合并excel的操作
适用条件1:excel表比较多2:excel的数据量比较大,不然的话excel筛选&手动合并还是很舒服滴~需求取出【电话】列中不为空所对应的行的值并且将几张表给合并起来来来来,放代码了!!import xlrdimport panda…...

【数学建模入门】数学建模基本知识|如何准备如何备战
文章目录数学建模各模块备战数学建模备战应该准备什么数学建模各模块备战 题目备战:掌握固定格式即可 基于____模型的____研究与分析 摘要备战:总结归纳能力,通过看高水平或优秀论文掌握问题重述:切记直接抄袭,对描述…...

python excel 空值_Python/Excel/SPSS/SQL数据处理方法比较之4 - 空值处理
处理完重复值后,我们开始处理空值。首先依然是定位空值,然后可以选择删除整行,但更多的时候我们选择使用某个值来填充。Python过滤空值如果数据量较小,可直接使用isnull()函数逐一判断每个行是否有空值:df.isnull()或者…...

一级计算机字处理步骤,计算机一级B文字处理操作步骤
计算机一级B文字处理题的操作步骤。全国计算机一级B等级考试——文字处理操作步骤1. 基本操作(1)打开Word文件① 在【考试项目】菜单中选择对应的Word文件名,考试系统会自动启动Word程序(前提是系统已经安装Word软件,建议使用Word 2000版本),…...

在有序链表中插入一个元素,使它仍然有序-19编程题
构造一个元素递增的有序单链表,将结点news插入到该单链表中,使其仍然有序。 #include <stdio.h> #include <stdlib.h>//定义结点结构 typedef struct LNode {int data;struct LNode *next; }LNode,*LinkList;//初始化链表 bool InitList(Li…...

idea git push 码云: Remote: [31mYou do not have permission to push to the repository via HTTPS
Remote: [31mYou do not have permission to push to the repository via HTTPS[0m Authentication failed for https://gitee.com/wei_ke_son/health_parent.git/ 原因是没有在开发组里面。接受到了要求没有点确认。...

高德地图经纬度距离数据库排序,Spring Data JPA,Kotlin 实现版本
1.数据库函数定义 //继承默认的数据库Dialect,注册自定义sql函数 class CustomMysql8Dialect : MySQL8Dialect() {init {val factor "?1"val latitude1 "?2"val longitude1 "?3"val latitude2 "?4"val longitude2 …...

VsCode下Markdown添加行号
{.line-numbers} cpp {.line-numbers}...

华为实习day4
今天开始真正的研究工作,内容当然是我大前端。工作大致是下面这些, 1.学习使用华为办公软件和学习平台(espace,3ms等) 2.学习JavaScript和Jquery(阅读JavaScript权威指南和锋利的Jquery两本书)&…...

[力扣] 剑指 Offer 第三天 - 替换空格
[力扣] 剑指 Offer 第三天 - 替换空格题目来源题目描述示例题目分析算法代码实现执行结果复杂度分析总结耐心和持久胜过激烈和狂热。 题目来源 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/ti-huan-kong-ge-lcof 著作…...

华为实习生面试
上周收到华为实习生面试邀请,感觉还是很激动的,通过了笔试考试,在中间这段时间仔细看了一些华为面试的要求,重新温习了一些算法。今天去参加面试,一面时候,面试官问了一些比较简单的问题,但是并…...

0基础小白,如何入门数学建模?
“单纯的看书、听课只会让人昏昏欲睡,实战中的紧张感才会让人效率倍增,因此,实战是最好的学习。” 很多同学第一次接触数学建模,感觉无从下手,那么零基础的小白该怎样入门数学建模呢? 先说答案:…...

人工智能芯片龙头之一gti概念股_人工智能概念股有哪些 人工智能芯片谁是龙头?...
人工智能,英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。那么,人工智能概念股有哪些呢?我们来简单的了解一下吧。人工智能概念股有哪些?从近日盘中数据来看…...

2020届华为实习笔试面试经验分享——已收到offer
岗位:通用软件开发岗(C) 前言: 本科就对华为比较仰慕,一心就进入华为,实习无疑是一个比较好的途径。就算不能去实习,也可以提前体验下笔试面试的过程,为校招做好准备。希望顺利签约&…...

华为实习生2022机考、技术面及主管面试
第一题: 第一种情况,a坐标比b坐标小,a的坐标更新为b1 第二种情况,a坐标比b坐标大,直接加1 对于B来说也是一样,按照这个原则来更新坐标,最后返回即可。 第二题:动态规划求地图障碍物的题&#…...

训练集和测试集
训练集(Training Set):帮助我们训练模型,简单的说就是通过训练集的数据让我们确定拟合曲线的参数。,训练集用来估计模型。 验证集(Validation Set):用来做模型选择(mode…...

iOS 百度地图与高德地图经纬度转换(坐标转换)
百度地图 —— 百度坐标系:bd09 高德地图 —— 火星坐标系:GCJ-02坐标系 使用第三方https://github.com/JackZhouCn/JZLocationConverter *高德坐标转成百度的*/*** brief 中国国测局地理坐标(GCJ-02)<火…...

获取百度地图、高德地图经纬度坐标
参考:如何使用Free Map 插件在百度地图 高德地图 获取坐标点 围栏 路线 地理围栏 - 掘金 记录一下使用Free Map 插件获取地图的坐标的使用。 一、下载了安装Free Map 插件。有条件的同学可以直接在谷歌插件商场搜索并安装(https://chrome.google.com/w…...

人工智能芯片龙头之一gti概念股_芯片概念股有哪些?芯片概念股龙头一览
芯片概念股有哪些?近日,全球科技巨头华为、苹果陆续发布人工智能芯片,抢占下一代科技至高点。受消息刺激,近日沪深两市掀起了一阵人工智能芯片替代的主题投资热潮。分析认为,随着利好效应的持续发酵,场内资…...

EXCEL里判断空值(有可能是函数返回的““),可用的3个函数counta() ,countblank() ,countif(),及语法注意点
额外加一个 有时候,无论是公式返回得"",或者是这个公式返回的"",再被数字粘贴了,和空单元格还是不同,直接用ctrl定位处理不了 1 如果不想用VBA 2 比如仅用ctrlg, 定位空值可以处理 先ctrl F 把…...

华为实习day5
通过深入的看JavaScript,对前端的了解进一步加深了,也有许多地方看不懂,不如Ajax数据通信,可能是因为要放假了,静不下心来看书了。下个星期继续努力了,希望下个星期师父能让我接触项目吧。毕竟纯粹看书也没…...

c语言程序设计二级考试哪些题型,计算机二级考试题型
计算机二级考试是全国计算机等级考试四个等级中的一个等级,小编整理的,供参考!所谓国二,就是全国计算机二级考试,它考核参试者的两大能力,其内容包括:1. 计算机语言与基础程序设计能力ÿ…...

计算机一级要注意什么保存,计算机一级考试重点及注意事项
计算机,是大学大一年纪的新生必考的科目,接下来小编为你带来计算机一级考试重点及注意事项,希望对你有帮助。计算机一级分为两个部分考试。一是:理论题,二是:上机题。理论题,顾名思义࿰…...

基于java高德地图经纬度转详细地址和GPS坐标转换为高德地图坐标
/*** author lafer* 高德地图工具类*/ public class GaoDeMapUtils {private static final String GAO_DE_KEY "你申请的高德key";/*** 将GPS坐标转换为高德地图坐标* param longitude 经度* param latitude 纬度*/public static Map<String, Object> getLoca…...

计算机二级过级情况是1,计算机一级和二级的区别
对计算机一级和二级区别有什么区别感兴趣的小伙伴,快来和小编一起看看吧。下面是由出国留学网小编为大家整理的“计算机一级和二级的区别”,仅供参考,欢迎大家阅读。计算机一级和二级的区别考核技能不同1、计算机一级主要考核微型计算机基础知…...

华为实习总结xkh
目录1. 前言2. 学习路径2.1 了解所属小组的业务:2.2 整个项目跑起来:2.3. 使用调试工具访问项目数据:2.4. 找到一个功能,查看源码操作:2.5. 例子:如何实现一项功能:2.6. 服务间如何进行方法调用…...

训练集和测试集划分方法
训练集:用于训练模型的样本集合, 主要用来训练模型参数. 测试集:对于训练完成的模型, 通过测试集惊醒评估 划分方法有3种 1 留出法 将数据集按照比例分(8:2,7:3,…)成互不相交的两部分,其中一个是训练集࿰…...

2020华为实习面经
华为成渝地区实习生面经 (实习面试分为两轮,第一轮为技术面,第二面为主管面,技术面险过,主管面挂) 技术面记录(自己概念比较薄弱的地方): 1、spring底层原理 AOP和IOC&am…...

【Plus】八、通用枚举
文章目录1、定义通用枚举1.1、方式一: 使用 EnumValue 注解枚举属性1.2、方式二: 枚举属性,实现 IEnum 接口2、实体相应属性使用枚举类型~~3、修改配置文件配置扫描通用枚举~~3.1、方式一:仅配置指定包内的枚举类使用 MybatisEnum…...

机器学习(八):样本分布不均衡问题的处理
这是一篇机器学习的介绍,本文不会涉及公式推导,主要是一些算法思想的随笔记录。 适用人群:机器学习初学者,转AI的开发人员。 编程语言:Python 自己在项目中拿到数据,大部分情况下都是自己切分训练集、测试…...

[1]数学建模基础入门知识
1.数学建模是什么? 原型与模型,模型的分类: 数学建模获奖主要靠队友之间的协作关系!!! 队友:查资料、编程、写论文、用Visio绘图;做比赛肯定需要熬夜 数学建模国赛、美赛…...

pytorch实现自己制作训练集和测试集
pytorch可用于图像识别,但我们现在绝大部分用的是MINIST和cifar10图片,想要用自己的训练和测试图像路径,需要制作读取训练集和测试集的代码。本文讲述pytorch实现读取训练集和测试集通用代码。 首先讲一下读取图片路径的框架: to…...

华为拿到实习offer
一面技术面: 首先是自我介绍,接着介绍项目,会问具体是怎么实现的,遇到的问题,自己完成了哪部分?如果可以展示就提前准备好,可以是文档,也可以是作品; 接下来就是交流&a…...
【C语言】科学计数法——复习总结
1、计数法示例 数字(一般计数法)科学计数法 指数计数法 1230001.23e50.0000565.6e-5322.563.2256e2 第三列指数计数法(或称为e计数法),这是科学计数法在计算机中的写法,e后面的数…...

计算机二级excel考点大全,【计算机二级之Excel】考点汇总
计算机二级考试 Excel考点汇总1.表格基本操作单元格的行高、列宽、边框和底致的调,添加/刚除行(列),隐藏行(列),移动行(列),单元格的对齐方式,设置单元格数字格式,字体字号调整&…...

2021-03-31-华为实习-机试题
文章目录题目一1. 描述2. 代码CSDN第一题:2021-03-31华为牛客:三题题目一 1. 描述 题目:双循环赛制每两只球队都会各比一次,赢了积3分,平手各积1分,输了不积分。现最多有26支队伍,用aÿ…...

计算机二级证书评职称有用,计算机二级证书有用吗
计算机二级证书有用。计算机二级证书,是大学毕业时,去北京,上海等地落户时必须证书之一;报考公务员,部分地区、部分职位的要求的门槛之一等。很多方面都会用到计算机二级证书。计算机二级证书的用处1、 大学毕业时&…...

智能驾驶板块_无人驾驶龙头股票2020有哪些?无人驾驶板块名单一览表
无人驾驶龙头股票2020有哪些?无人驾驶板块名单一览表联创电子 002036中科创达 300496模塑科技 000700随着人工智能技术的发展,无人驾驶的车辆出现,无人驾驶概念出现。无人驾驶车辆主要利用计算机系统为主的智能驾驶仪来实现无人驾驶。无人驾驶…...

训练集,验证集与测试集
训练集train set ,验证集validation set 或者说是交叉验证集cross validation set,测试集test set。 一、只用训练集 倘若将整个数据集当作训练集,来拟合数据。假设函数可能是一次、二次、三次甚至更多次,如下图所示:…...

计算机专业必须考过英语4级吗,计算机专业英语必须过六级吗
快速导读:Q1:计算机专业英语六级到底有多重要领学网为你解答:要看你在哪发展了啊,如果希望研发的,英语很重要现在计算机技术外国强于中国,很多外国的论文都是英语的而且翻译都没,你英语不好就看…...

JS: 百度地图与腾讯/高德地图经纬度转换
前言 在开发中使用了第三方的数据,由于经纬度使用的是第三方的数组,他们使用的是百度的地图坐标。在项目中使用时,能用百度地图去解析自然是最好的,但是呢,该项目是基于微信小程序的,百度地图针对小程序提…...

高德地图:通过地址查经纬度, 然后通过经纬度定点
<script type"text/javascript"src"https://webapi.amap.com/maps?v1.4.8&keyd047a9f0bd15e00b39a3a2fdbb2b926a&pluginAMap.Autocomplete"></script> <script type"text/javascript" src"https://cache.amap.com/...

Chrome打包扩展程序错误,清单文件缺失或不可读
今天备份谷歌插件,选择开发者模式,点击打包扩展程序 输入扩展程序目录 如 C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Extensions\eningockdidmgiojffjmkdblpjocbhgh 要求文件最后路径和id一样,然后报错&#x…...

计算机二级数据库mysql题库_全国计算机二级mysql数据库模拟试题
考生们在备考计算机考试科目时,除了复习教材以外,还要结合试题加深对知识点的理解和巩固,接下来应届毕业生小编为大家精心准备了全国计算机二级mysql数据库模拟试题,希望能够给大家带来帮助!1) 函数 max( ) 表明这是一个什么函数…...

【单细胞高级绘图】06.feature展示
这个图是前两天刚画的。箱型图、散点图、小提琴图组合在一起,档次瞬间上去了。 最近修稿过程中,审稿人提了一个建议,说是在某一张小提琴图上添加点,可以更好反映数据的分布。我理解他的意思,大概就是: 左图…...

EXCEL的各种“空”的区别:blank,““ , 0 ,以及 VBA里的各种空值:empty,null,nothing 等
1 EXCEL里的几种空值:blank,“” , 0 1.1 EXCEL里,一般有两种空值:blank,“” 1.1.1 空值blank 空值:blank ,一般指完全没有内容 / 没有用过 /没有初始化过/ 被删除单元格内容后的状态判断函…...

2019届华为实习生招聘
4.10 在线笔试华为的笔试题跟其他公司的有点不太一样,没有选择题,三道编程题,共600分。第一题100分,我收到的是字符串重排(详见我的博客);第二题200分,是跳跃游戏,lint…...

MySQL 你所不知道的 SQL 使用技巧
查找重复数据 仅当列的组合重复时,行才被视为重复,因此我们 AND 在 HAVING 子句中使用了运算符 SELECT col1, COUNT(col1),col2, COUNT(col2),...FROMtable_name GROUP BY col1, col2, ... HAVING (COUNT(col1) > 1) AND (COUNT(col2) > 1) AND …...

华为实习有感
来华为实习已经一个多月了。虽然华为对于我们计算机或者互联网人来说,并不是最佳的实习和工作的去处。但我相信,只要抱着一种学习和发现的心态,总能在一个陌生的地方学到东西,哪怕只是加强你对以往的认知的些许肯定。再不济&#…...

20190419 华为实习面试 复盘
0419参加华为实习面试,华为的实习面试总的来说是很友好的,不知道是不是运气比较的原因,面试官全程微笑。一直在聊项目,一直在问自己在项目中承担的任务量,所做的工作,所做的改进,难点是什么等等…...

经纬度转化为xy坐标系_高德地图经纬度导入Gis有偏移,纠正方法(附Python代码)丨GCJ-02转WGS84...
<!经评论区老哥提醒,坐标反解代码不能公开,因此坐标转化参数核心部分我进行了删除>同学从高德地图上爬下来的POI(兴趣点)经纬度,导入ArcGIS后发生了偏移的现象,与底图不适配。帮她看了看&…...

景兴纸业和机器人概念_机器人概念股有哪些?机器人概念龙头股一览
12月14日消息,机器人概念早盘报涨,石头科技(952,22.67,2.439%)领涨, 达 意 隆(7.17,0.09,1.271%)、景兴纸业(3.47,0.03,0.872%)、迈得医疗(29.6,0.05…...

计算机二级 12月 地区,计算机二级各地区报名时间
大家晚上好啊!俺是孜孜今天,就让俺们来讲一下2020下半年计算机二级各地区的报名时间吧。今年共有7个省在12月有安排考试分别是:福建,西藏,重庆,天津,上海,湖南,宁夏。其余…...

高德地图经纬度比较并返回范围内要求个数可用
表单: 这里需要设计: 这里是小数位数。 代码: select count(case when num1<113.631619 and num1>113.631419 and num2<34.753639 and num2>34.753439 THEN 1 END) as 重复的个数 FROM test运行结果:...

Python学习-----流程控制2.0(循环结构-->while循环、for循环、range()函数)
目录 循环结构 (1)while循环 (2)for循环 range()函数 循环的嵌套 编辑 上一期我们讲了Python中的选择结构,链接在下面Python学习-----流程控制1.0(选择结构、缩进法则)_守约斯维奇的博客-CSDN博客 这一期&am…...

2022年高职组软件测试赛项赛题及评分标准
任务 考查点 评分标准 评分细则 分值 任务一 环境搭建及系统部署 (5分) 环境搭建及系统部署包括搭建与配置测试环境,安装与部署应用系统等,对过程和结果进行截图,完成环境搭建及系统部署报告 1.测试环境搭建与…...

不坑盒子:强大的word插件,让工作更高效
不坑盒子简介 很多朋友在工作过程中需要对Word文档进行编辑处理,如果想让Word排版更有效率可以试试小编带来的这款不坑盒子软件,这是一个非常好用的插件工具,专门应用在Word文档中,支持Office 2010以上的版本,用户可以…...

非标自动化设备ERP系统能够帮助企业解决哪些管理难题?
非标自动化设备产品的多样化和个性化要求企业能够将客户需求、设备结构管理与配置、智能设计、生产协作管理等过程有机地结合在一起,非标自动化设备行业传统的企业管理模式已经不能适应市场需求的个性化变迁。非标自动化设备行业常见的管理难点:信息孤岛…...

20230207英语学习
Startup Plans to Bring the Dodo Back From the Dead 这家公司拟复活已灭绝几百年的渡渡鸟?! Billion-dollar startup Colossal Biosciences claims it has come a step closer to reviving the dodo, a flightless bird that has been extinct since …...

学习如何使用GPT2进行文本生成(torch+transformers)
学习如何使用GPT2进行文本生成(torchtransformers) GPT2是OPen AI发布的一个预训练语言模型,见论文《Language Models are Unsupervised Multitask Learners》,GPT-2利用单向Transformer的优势,做一些BERT使用的双向T…...

基于UEFI的数据传输工具
摘要:由于UEFI框架下没有提供数据传输的模块,使得测试或者调试开发时需要经常对数据文件进行人工拷贝,导致了实现测试自动化或远程调试的不便。采用Socket数据传输方式设计并实现了UEFI下数据传输的工具,通过使用串口线来连接Host…...

Linux 并发与竞争实验
目录 一、原子操作实验 1、利用点灯工程创建模板 修改makefile编辑 2、atomic.c代码添加 ①、定义 atomic_t 的变量 ②初始化变量 atomic_set函数原型 ③判断是否被使用 atomic_read函数原型 atomic_dec函数原型 ④释放原子变量 atomic_inc函数原型 3、atomicAPP.…...

Golang 提取视频中音频,存为WAV格式 | Golang工具
目录 前言 环境依赖 代码 总结 前言 本文提供将视频中音频提取出来存为wav格式,一如既往的实用主义。 主要也是学习一下golang使用ffmpeg工具的方式。 环境依赖 ffmpeg环境安装,可以参考我的另一篇文章:windows ffmpeg安装部署_阿良的博…...

145、【动态规划】leetcode ——70. 爬楼梯:暴力法+动态规划(C++版本)
题目描述 原题链接:70. 爬楼梯 解题思路 1、暴力法 递归方式 class Solution { public:int res 0;void traversal(int n) {if(n 0) { // 每遍历出一种情况,就将结果加一res;return ;} else if (n < 0) {return ;}climbStairs(n - 1); // 探…...

【手写 VueRouter 源码】第七篇 - 路由变化触发视图更新
一,前言 上篇,介绍了路由匹配的实现,包括以下几个点: 路由匹配的分析;路由匹配的实现:router.match、matcher.match、createRoute; 本篇,继续介绍路由变化触发视图更新; 二&#…...

机器学习之朴素贝叶斯分类器原理详解、公式推导(手推)、面试问题、简单实例(python实现,sklearn调包)
目录1. 朴素贝叶斯原理1.1. 特性1.2. 思路2. 公式推导3. 简单实例3.1. 数据集脱单数据集2.0脱单数据集1.0西瓜数据集3.2. python实现3.3. sklearn实现3.4. 实验结果4. 几个注意点(面试问题)5. 运行(可直接食用)1. 朴素贝叶斯原理 1.1. 特性 朴素贝叶斯…...

什么样的光源不伤眼睛?精选优秀的全光谱护眼台灯
日光对眼睛最好,所有人造灯都不如日光对眼睛友好,日光指的是全光谱照射,而现在许多护眼灯做到全光谱照射,所以护眼灯成为很多家庭的必备产品之一,晚上学习、工作,有了护眼灯的陪伴,既明亮又不伤…...

复杂因子秒级计算,文谛资产是这样做到的...
上海文谛资产管理有限公司(以下简称“文谛资产”)秉持理性、务实、高效、专业的投资精神,凭借科学的量化投资战略、先进的量化交易技术和成熟的风险管理能力深耕量化领域,以创造长期稳定收益为投资目标,为国内外投资者…...

投稿计算机SCI期刊,什么是同行评议? - 易智编译EaseEditing
首先,初审论文的可能不是审稿人,有些稿源丰富的相对高端期刊,还会由作为大同行的编辑对稿件的内容本身,尤其是创新性等方面对稿件进行评估。 这个编辑内部初审,对于牛期刊而言也会拒掉许多投稿,这一过程通…...

如何添加 WhatsApp按钮打开Facebook页?SaleSmartly(ss客服)为您解答
关键词:SaleSmartly(ss客服);Facebook WhatsApp 按钮想要了解如何添加 WhatsApp 按钮到您的 Facebook 页?您来对地方了。在本文中,我们将概述合并 WhatsApp 按钮 Facebook 页面,并提供有关如何执…...

【CodeFroces】【DP】Maximum White Subtree
CodeForces 1324F Maximum White Subtree 题目传送门 题目大意 给定一棵树,每个节点为白色或黑色,现对每个节点 uuu,选出任意大小的包含该节点的连通图,使得图上白色点数目与黑色的数目的差距最大。 分析 不妨记白点权值为1&…...

RTC直播与RTMP直播
RTC直播与RTMP直播 RTMP传统直播成本低廉,已大规模部署稳定运行,延时较高直播场景。 RTC直播主要用于对延迟要求高实时互动直播场景。 传统直播与RTC直播对比 以下整理了一下传统直播与RTC直播的不同之处: MR直播 MR直播实例(混合现实直播…...

Elasticsearch7.8.0版本入门——集群部署(linux环境-centos7)
目录一、三台服务器信息二、Elasticsearch7.8.0单机部署三、Elasticsearch7.8.0集群部署3.1、分别再三台服务器中都安装Elasticsearch7.8.03.2、修改192.168.136.23服务器中elasticsearch配置文件3.2、修改192.168.136.24服务器中elasticsearch配置文件3.3、修改192.168.136.25…...

STM32开发(五)STM32F103 通信 —— CAN通信编程详解
文章目录一、基础知识点二、开发环境1、硬件开发准备2、软件开发准备三、STM32CubeMX相关配置1、STM32CubeMX基本配置2、STM32CubeMX CAN相关配置四、Vscode代码讲解五、结果演示CAN 内部回环测试CAN 正常模式测试使用ADALM2000分析工具解析CAN时序一、基础知识点 了解CAN通讯…...

VOC/YOLO/COCO数据集格式转换及LabelImg/Labelme/精灵标注助手Colabeler标注工具介绍
数据集格式:VOC(xml)、YOLO(txt)、COCO(json) 本文主要对Label格式,以及LabelImg、Labelme、精灵标注助手Colabeler这常用的三种数据标注软件进行介绍。 1 Label格式 LabelImg是目标检测数据标注工具,可以标注标注两种格式: VOC…...

linux下原子操作指令
目录 原子操作CAS 原子操作 Demo CAS C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 原子操作CAS 原子操作 所谓原子操作是指不会被线程调度机制打断的操作,当某次操作一旦开始,就一直运行到结束,中间不会有任何中…...

Kafka入门(二)
1、Kafka集群工作进程 下面了解一下Kafka的工作流程,Kafka集群会将消息存储在Topic中,每条记录会由一个Key、一个Value和一个Timestamp组成。 Kafka中的消息是以Topic进行分类的,生产者生产消息,消费者消费消息,读取和…...

古月居ros2机器人系列修改图片后如何编译问题
A(我):你好删掉这两个文件后它出现了learning——node未找到这种错误;不仅如此,我建立了另一个同样的文件,而这次我是先修改了路径再编译的,尽管这次新生成的build是修改后的,并且也并未出现多余的…...

PTA Advanced 1164 Good in C C++
目录 题目 Input Specification: Output Specification: Sample Input: Sample Output: 易错测试点 易错点&C知识UP 代码 题目 When your interviewer asks you to write "Hello World" using C, can you do as the following figure shows? Input …...

数学建模练习——非线性规划
...

十、数据库操作
数据库操作 一旦创建 数据模型后,Django 自动给予你一套数据库抽象 API,允许你创建(create),检索(retrieve),更新(update)和删除(delete)对象。 为了方便调试我们通过下面的命令进入交互式python命令行: python man…...

Linux -终端中的编辑器vi(2)
4.常用命令4.8缩排和重复执行命令功能>>向右增加缩进<<向左减少缩进.重复上次命令缩排命令 在开发程序时,统一增加代码的缩进比较有用!一次性在选中代码前增加4个空格,就叫做增加缩进一次性在选中代码前删除4个空格,就…...

鼎盛合方案——轮胎充气泵方案
轮胎的质量好坏直接影响到备胎上位的时间长短,而在轮胎的使用中如果充气不恰当则是又给了备胎一个摩拳擦掌准备登场的机会。诶、怎么今天老是说备胎备胎的,对象和她的蓝颜知己这几天确实走的近了一些。发展方向有点不对……她们昨天还一起吃饭也没叫我&a…...

Python常见异常类型
开发人员在编写程序时,难免会遇到错误,有的是编写人员疏忽造成的语法错误,有的是程序内部隐含逻辑问题造成的数据错误,还有的是程序运行时与系统的规则冲突造成的系统错误,等等。总的来说,编写程序时遇到的…...

测试工作杂记
1、安卓 测试过程中系统突然卡住不能动了、系统直接(Crash)崩溃掉了、应用程序无响应(ANR),即出现闪退或者异常的情况下 adb logcat -c && adb logcat > d:\logcat.txt 抓包工具android studio (接口、参…...

数据库笔记(三)
havingwhere后面只能写普通字段条件,不能写聚合函数条件having关键字专门用来写聚合函数条件的,并且需要和group by结合使用,写在分组的后面查询每个部门的平均工资,要求平均工资大于2000;select dept_id, avg(sal) a from emp group by dept_id having a>2000;查询每种工作…...

AD硬件电路学习笔记(四)四层板实战(上)之常见模块要求
系列文章目录 AD硬件电路学习笔记(一)常见的管脚名字以及FPGA、Lora AD硬件电路学习笔记(二) GND的种类及PCB布线实战 AD硬件电路学习笔记(三)mos管开关电路学习总结 文章目录系列文章目录常见要点防静电…...

Grafana 系列文章(十):为什么应该使用 Loki
👉️URL: https://grafana.com/blog/2020/09/09/all-the-non-technical-advantages-of-loki-reduce-costs-streamline-operations-build-better-teams/ 📝Description: 我们都知道为什么 Loki 对日志管理有很大帮助。但这里有所有的原因,为什…...

((蓝桥杯 刷题全集)【备战(蓝桥杯)算法竞赛-第7天-贪心专题】( 从头开始重新做题,记录备战竞赛路上的每一道题 )距离蓝桥杯还有60天
🏆🏆🏆🏆🏆🏆🏆 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录&a…...

Anchor Free的孪生目标跟踪
Anchor Free的孪生目标跟踪 跟踪任务可以看成是分类任务与状态估计任务的结合。分类任务的目的是精确定位目标的位置,而状态估计获得目标的姿态(即目标框)。SiamFC一文将当前的跟踪器按照不同状态估计的方法分为三类: 以DCF和Si…...

【6s965-fall2022】神经架构搜索 Neural Architecture Search
在很长一段时间里,研究人员都是手动设计神经网络的架构。神经网络架构的设计空间非常大,它包括#layers、#channel width、#branches、kernel sizes、input resolutions。因此,手动调整这些参数非常困难。而神经架构搜索,NAS&#…...

如何从脚本小子变成黑客大神?【网络安全】
学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发. 3.有时多google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答. 4.遇到实在搞不懂的,可以先放放,以后再来解决. …...

Suflo-Cyanine5.5 Tyramide,Suflo-Cyanine3 TSA,磺酸基-花青素Cy5 酪酰胺
一、试剂基团反应特点(Reagent group reaction characteristics):TSA主要原理是利用酪胺Tyramide的过氧化物酶反应(酪胺盐在HRP催化H202下形成共价键结合位点),产生大量的酶促产物,该产物能与周围的蛋白残基(包括色氨酸…...

LaoCat带你认识容器与镜像(实践篇一下)
实践篇主要以各容器的挂载和附加命令为主。 本章内容 本文实操全部基于Ubuntu 20.04 宿主机 > linux服务器本身 Docker > 20.10.22 从该章开始,我们就进入了Docker实践篇系列了,主要介绍Docker相关附加命令,与实际日常生产部署注意点…...

Android设备的各种唯一标识符 ID
IMEI 只有Android手机才有, IMEI号是一串15位的号码,比如像这样 359881030314356 TelephonyManager TelephonyMgr (TelephonyManager)getSystemService(TELEPHONY_SERVICE); String szImei TelephonyMgr.getDeviceId();需要权限android.permission.R…...

git串讲笔记
1.注册2.gitee 创建 仓库3. 你的电脑 git软件4. 将上边软件的安装路径需要设置到idea中file settting git path to git executeable: C:\Program Files\Git\bin\git.exe5.vcs create git repository6.点 对号 将idea代码提交本地仓库中7.点 斜右上 方绿色箭头 : 将本…...

ChIP-seq 分析:原始数据质控(2)
1. ChIPseq 简介 染色质免疫沉淀,然后进行深度测序 (ChIPseq) 是一种成熟的技术,可以在全基因组范围内识别转录因子结合位点和表观遗传标记。 ChIPseq1.1. 实验处理 ChIPseq2交联和蛋白质结合的 DNA。通过抗体富集特定蛋白质或 DNA 。添加 末端修复、A 尾…...

对几万行数据的调优操作,调优后系统性能提升明显
文章目录 前言一、问题一:对几万条数据筛选二、问题二:对几万条数据增删查改总结前言 对几万行的数据的处理或者对几万行数据与数据库的交互操作,虽然严格意义上来说,并不是很多,但是如果按照传统普通的流程一次性的遍历处理操作数据,也是会性能很差,有可能到分钟级别;…...

索尼官方答疑,你关心的PS VR2问题都在这里
随着索尼PS VR2即将开售,索尼在近期也逐渐公布更多关于PS VR2的消息,包括首发阵容(2-3月期间)共计37款。与此同时,外界对于索尼PS VR2提出了更多担心,彭博社爆料称:因PS VR2的预订量未及预期&am…...

SSM企业权限管理项目(一)
AdminLTE AdminLTE是一款建立在bootstrap和jquery之上的开源的模板主题工具,它提供了一系列响应的、 可重复使用的组件,并内置了多个模板页面;同时自适应多种屏幕分辨率,兼容PC和移动端后台模板框架github获取AdminLTE源码&#…...

C++设计模式(10)——原型模式
亦称: 克隆、Clone、Prototype 意图 原型模式是一种创建型设计模式, 使你能够复制已有对象, 而又无需使代码依赖它们所属的类。 问题 如果你有一个对象, 并希望生成与其完全相同的一个复制品, 你该如何实现呢&…...

uniCloud 云函数/云对象 node版本改变成12或18解决方案
爆红信息 right-hand side of instanceof is not an object 今天卡到一个本地跑好好的云对象部署云端直接报错了。 原因是这样的!! 1、你去看看你云函数依赖那npm install的插件node版本是不是有要求,博主开github看了尽然是node>12 2、…...

面对元宇宙算力瓶颈,AI算力专家宁畅开出三大秘方
文 | 智能相对论作者 | 沈浪元宇宙这把火,从2022继续烧到了2023。目前来看,资本市场对扎克伯格的元宇宙故事依旧抱以希望。2月1日美股收盘,Meta涨2.79%,报收153.12美元/股,盘后股价一度涨逾19%,市值暴涨将近…...

(考研湖科大教书匠计算机网络)第三章数据链路层-第七节:MAC地址、IP地址和ARP协议
pdf下载:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:MAC地址(1)概述(2)IEEE 802局域网的MAC地址A:地址格式B:地址表示方法C&…...

LeetCode刷题模版:273 - 275、278 - 279、283 - 284、287、289 - 290
目录 简介273. 整数转换英文表示【未理解】274. H 指数275. H 指数 II278. 第一个错误的版本279. 完全平方数283. 移动零284. 顶端迭代器287. 寻找重复数289. 生命游戏290. 单词规律结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕ…...

HDFS基本命令
目录 1.上传文件到HDFS文件系统 2.查看HDFS文件系统中的文件 3.查看上传到HDFS文件系统中指定文件的内容 4.从HDFS文件系统下载指定文件,并存放在指定文件中 5.删除HDFS文件系统中的指定文件 6.创建目录 7.创建多级目录 8.递归删除目录下的所有文件 9.删除…...

Java中if结构语句有几种格式?怎样执行?
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执 行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。流程控制类语句包括顺序、分支、循环三个结构语句。下面就来了…...

百趣代谢组学分享:基于大规模多中心人群的肝癌血清标志物研究
为什么都是多组学发的高分文章,我只想做代谢组学可以发高分吗? 答案当然是 Yes。接下来Lavender就为大家分享由大连物化所许国旺老师课题组发表在HEPATOLOGY上面的一篇文章。 百趣代谢组学文献分享,文章的题目为:A Large-Scale,…...

java面试题(十四)数据库之sql
开启掘金成长之旅!这是我参与「掘金日新计划 2 月更文挑战」的第 N 天,点击查看活动详情 1.1 介绍一下数据库分页 参考答案 MySQL的分页语法: 在MySQL中,SELECT语句默认返回所有匹配的行,它们可能是指定表中的每个…...

Java顺序表模拟实现 + ArrayList介绍
文章目录前言一、模拟实现顺序表成员属性成员方法1,构造方法2,add——新增元素,默认在数组末尾新增2.1, isFull——判断顺序表是否已满2.2, expandCapacity——扩容3,add——在 pos 位置新增元素3.1&#x…...

html+css网页练习四
文章目录一、购物网站页面1、要求2、效果图3、index.html4、style.css二、活动页面1、要求2、效果图3、index.html4、style.css三、电商网站页面1、要求2、效果图3、index.html4、style.css四、搜索引擎页面1、要求2、效果图3、index.html3.1、index1.html3.2、index2.html4、s…...

行云洞见|为何行业权威都预测“云原生IDE 将成为常态”?
原文:《The year of the Cloud Development Environment 》 作者:RedMonk创始人 James Governor 最近CNCF在2023年云原生预测中谈到“云原生IDE 成为常态”,让CloudIDE又成为了云原生的焦点,市场上对CloudIDE的态度以及发展趋势讨…...

Fluke ADPT连接器给福禄克万用表插上翅膀
所需设备: 1、Fluke ADPT连接器; 2、Fluke 15B / 17B / 18B 简介 Fluke ADPT连接器允许个人计算机通过串行口与福禄克万用表进行通信。 计算机PC程序通过图形界面来输入数据和命令,与福禄克万用表进行交互。 Fluke ADPT连接器是一款先…...

VUE 年份范围选择器
VUE 年份范围选择器遇到一个需求,需要写一个年份选择器,是范围的年份选择器,比如:xxx年到xxx年 在使用elment UI的时候发现没有这种功能,于是采用el-date-picker 的年份选择器自己后封装了一个年份范围选择器 由于组件使用的地方很多,所以格式化都在组件中处理,回传格式在回传的…...

【Python】《我的世界》简简单单就可以完成?OMG~(附教学)
文章目录前言一、准备二、运行及操作三.代码解读与自定义总结前言 《我的世界 Minecraft》大家应该都听说过,但你有没有想过自己写一个这样的游戏呢?太难、太复杂了?也许吧,但是不试一试你怎么知道能不能成呢? 国外有…...

Scala 中的foreach和map、flatMap方法比较
Scala中的集合对象都有foreach和map、flatMap方法,都是用来遍历当前集合,但他们都有不同点。这几个方法的共同点在于:都是用于遍历集合对象,并对每一项执行指定的方法。而他们的差异在于:foreach无返回值(准…...

【nacos优化】定时删除access日志
按理说 Nacos 作为服务注册中心,不会应该会产生太多日志的,本身涉及的服务也不多,但几天就会产生 1G 以上的日志,的确有点疯狂。这篇文章就聊聊 Nacos 的日志系统。 经过排查,其中输出最多的日志为 /usr/local/nac…...

哪款蓝牙耳机打电话好用,盘点几款口碑不错的骨传导耳机
骨传导耳机是通过骨头振动传递声音,而不是通过耳道或鼓膜,因此它具有许多优势,比如可以在运动过程中保持对环境的感知,并避免对听力造成伤害。随着科技的进步和用户需求的增加,骨传导耳机也在不断更新。目前市面上的骨…...

JS中的事件监听
详解事件监听事件监听的基本概念事件类型事件处理函数事件传播事件对象移除事件监听器总结JavaScript中的事件监听是Web开发中非常重要的一个概念。它允许我们在特定的事件发生时执行特定的代码,从而实现交互效果和动态行为。本篇博客将详细介绍JavaScript事件监听的…...

SpringBoot 异步与线程池的关系
目录 1、简介 1、Async ① 使用方法: ② 注意事项: 2、parallelStream 并发遍历数组 ① 使用方法: ② 注意事项: 3、自定义线程池 ① 使用方法: ② 注意事项: 1、简介 SpringBoot 中基本上存在三种异步的关系,分别为 1、 使用 Async,标记在方法上 2…...

《版本特性百事通》
《版本特性百事通》 注:数据截至日期2021年 常见jdk种类 常见的JDK版本主要包括以下几种: Oracle JDK:Oracle公司的官方JDK,是商业授权,支持Java SE和Java EE平台。Oracle JDK包含了完整的Java类库和工具ÿ…...

英语——疑问词
疑问词可以分为: 疑问代名词: who /what/which 疑问副词:when/where/why/how 1 疑问代名词 当主词补语 Who is singing in the room? What makes you laugh so? 当受词 Which of these singers do you like. What do you think of my new hat? …...

谷歌的Bard和OpenAI的GPT4的对比
前言 随着上个月21日谷歌面向公众开放人工智能聊天机器人Bard的访问权限,同样是上个月的14日OpenAI为聊天机器人ChatGPT发布的最新语言模型:GPT-4的问世,可以说关于ChatGPT应用的推出进入了百家争鸣的情况,而且竞争变得激烈起来&a…...

云端数据科学平台Deepnote,相当于云上的Jupyter Note
Deepnote是一个先进的云端数据科学平台,可以帮助数据科学家和开发者轻松创建、管理和共享他们的数据科学项目。它提供了一个易于使用的界面,可以轻松编写代码、访问数据和执行任务,而无需管理服务器或编写复杂的部署代码。 1、Deepnote概述…...

钉钉协作Tab前端进化之路
作者:马赟 阿里云钉钉业务平台团队 技术人应当发挥对业务前瞻性的理解,好的架构设计背后一定是对于业务的高度认知与抽象,过程中要对业务关键指标有正确的理解,而不是简单纯功能的堆砌。 钉钉新版协作Tab作为千万级访问量下前端新…...

架构整洁之道-22章-整洁架构
按照更好架构设计出的系统特点: 独立于框架可被测试独立于UI独立于数据库独立于任何外部机构 外层的变化不影响内层的逻辑 外层变化同时修改对应适配器么 层次划分-按需划分并非固定多少层 图22.1中所显示的同心圆只是为了说明架构的结构,真正的架构很可…...

Redis高可用之主从复制 哨兵 集群
Redis高可用之主从复制 哨兵 集群一、Redis主从复制1、主从复制概念2、主从复制的作用3、Redis主从复制原理二、搭建Redis主从复制1、安装Redis,三台机子都需要安装2、编译安装三、修改节点配置文件1、修改Redis配置文件(Master节点、Slave1节点、Slave2…...

轻松拿结果-第二部分 同力 -第五章 用制度保障业绩
第五章 用制度保障业绩 制度的保障,体现的是管理者的监管能力,也是守护胜利果实的有力保障。 只有铁的纪律,才能拿到铁的结果 商场如战场,在公司您们就是带兵打仗的将军。 有一个销售员踢球时伤到了腿,在他休息的两个月里,业绩却没有落下一点,都是整个团队的人在帮他…...

Github + Sphinx+Read the docs 实战入门指南(二)
目录引言Sphinx渲染文档托管到Github部署到Read the docs网站继续阅读引言 接上一篇Github SphinxRead the docs 实战入门指南(一),这一篇主要讲解如何自动将指定文档内容部署到Read the docs中。对于文档,一般有以下基本要求: 只维护一份&…...

模拟实现常见的strlen、strcpy、strcmp库函数,深入理解它们的原理
⛩️博主主页:威化小餅干📝系列专栏:【C语言】藏宝图🎏 绳锯⽊断,⽔滴⽯穿!一个编程爱好者的学习记录! 文章目录🚀模拟实现strlen高仿版my_strlen函数🚀模拟实现strcpy高仿版my_st…...

mysql主从复制原理及一主一从搭建过程—2023.04
文章目录一、MySQL主从复制介绍1、主从复制概念2、为什么要做主从复制3、主从复制原理4、主从复制形式5、主从复制主要用途二、MySQL一主一从搭建1、准备工作2、MySQL主从复制部署流程1. 关闭防火墙,两台主机都操作2. 修改配置文件,两台主机都操作3. 修改…...

MongoDB 6.0 (五)索引操作
一、 什么是索引 1. 索引概念 索引对文档部分内容进行排序的数据结构 合适的索引可以极大的提升数据库的搜索性能 2. 单键索引 db.accounts.find({name:”alice”}) 对姓名经过索引之后,对姓名进行排序。下面的就是索引,通过索引指向上面原文档位置。 3. 复合键索引(多…...

页面替换算法
1.FIFO页面替换算法(先进先出) 需要向内存页中加载不存在的数据时,如果内存页已经没有空余,那么就需要按目前所有页中的数据谁先被加载进来的,谁就被替换掉的原则,来将最先被加载进来的数据替换为新的数据。 1.1例题 有一个虚拟存储器,主存有4个实页,页号为0-3;程序有…...

Metasploit入门到高级【第五章】
来自公粽号:Kali与编程预计更新第一章:Metasploit 简介 Metasploit 是什么Metasploit 的历史和发展Metasploit 的组成部分 第二章:Kali Linux 入门 Kali Linux 简介Kali Linux 安装和配置常用命令和工具介绍 第三章:Metasploi…...

由于链接地址长度过长引起的”HTTP Error 400. The request URL is invalid”错误解决办法:修改注册表
网站中,设计了一个批量搜索的功能,用户可以输入多个关键词进行批量查询搜索,但不出意外的话还是出意外了,有些用户可能会输入 N 多个关键词,我为了性能等考虑,会限制个数,比如每次批量查询仅限 …...

个人说说vue组件
模仿B站评论样式 vue.js支持表情输入 个人说说vue组件 好看的评论组件 - undrawui组件库 Talk.vue <template><div style"width: 632px;box-sizing: border-box;margin: 0 auto;"><talk-item/></div> </template><script> i…...

C#,初学琼林(03)——计算数组最小、最大值(Min, Max)的源程序
搜索数组的最小/最大元素 假设我们有一个 n 元素数组,我们想在其中找到一个最小(或最大)元素。a 是一个索引从 0 到 n-1 的数组 。它的元素将被标记为:a[0], a[1],a[2],a[3],...,a[…...

Linux基础操作 常用命令 Centos
Linux 1.Linux的引言 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持…...

【2D标注】cvat-canvas重写polyline拖拽交互方式
一、场景概述 在cvat-canvas中,针对polyline的拖拽默认相应区域是polyline头尾连线组成的闭合区域,这也是svg>polyline默认的hover响应区域,具体如图: 这样的响应方式,在一些场景下是极其难选择的,例如…...

出售Steam上线游戏的完整开发资源包
我开发了一款Steam上的小游戏: 《述途路人团乐之国》(英文名称:《As Talk As Walk Wayfarer Team - Land of Music》) https://store.steampowered.com/app/2332050/_/ 发行日期:2023年3月13日。 发行平台:…...

【从零开始学习 UVM】9.1、UVM Config DB —— UVM Resource database 资源库详解
文章目录 resource 是一个参数化的容器,可以保存任意数据。资源可用于配置组件、为序列提供数据或在TestBench不同部分之间启用信息共享。它们使用作用域信息(scope)存储,因此其可见性可以限制在TestBench的某些部分中。您可以将任何数据类型放入资源数据库中,并使另一个组…...

八爪鱼采集器使用笔记
Author: Lycan Date: 2023/3/26 22:01 八爪鱼官网: 数阔八爪鱼采集器 - 免费网络爬虫软件_网页大数据抓取工具 下载地址: 免费下载-Windows大数据采集软件下载 - 八爪鱼采集器 采集步骤简述: 1、输入待采集的网址; 2、根据需…...

LLaMA:Open and Efficient Foundation Language Models
LLaMA:Open and Efficient Foundation Language ModelsIntroductionApproachPre-training DataArchitectureIntroduction 在大规模数据下训练的大模型,已经展示了很好的表现,当模型足够大的时,模型会出现一个涌现的能力ÿ…...

Java-如何使用Java将图片和文字拼接在一起(并非是给图片加水印)
之前有遇到一个问题 问题背景:项目中,有一个功能,管理端可以将客户创建的小程序码下载到本地,方便客户将对应门店的小程序码打印出来并张贴到门店,做门店的引流和会员入会。 具体问题:当小程序码的数量较少…...

[综]Review of bike-sharing system studies using bibliometrics method
Review of bike-sharing system studies using bibliometrics method 文献计量学方法在自行车共享系统研究中的应用 article{2022reviewbikesharing, title {Review of bike-sharing system studies using bibliometrics method}, journal {Journal of Traffic and Transport…...

c语言实现通讯录(动态)
目录动态通讯录和静态通讯录的差别contact.h(通讯录函数的声明)test.c(测试通讯录)contact.c(通讯录函数的实现)初始化通讯录销毁通讯录检查通讯录当前容量并决定是否扩容添加通讯录成员打印通讯录删除通讯录指定成员查找通讯录成员修改通讯录成员排序通讯录删除通讯录全部联系…...

Linux 网络编程学习笔记——十一、定时器
目录 网络程序需要处理的第三类事件是定时事件,比如定期检测一个客户连接的活动状态。服务器程序通常管理着众多定时事件,因此有效地组织这些定时事件,使之能在预期的时间点被触发且不影响服务器的主要逻辑,对于服务器的性能有着…...

又一家车企上线城区NCA,堪比“老司机”?看实测结果如何
今年豪华智能电动车最大的看点是什么,当然是城区NOA(每家车企名称各有差别)。 截至目前,各大车企纷纷释放了其城区NOA上线的时间表,极少数率先在深圳、广州等个别城市上线了城区NOA功能,但2023年绝对是一个…...

一本通 3.4.1 图的遍历
图的遍历 1341:【例题】一笔画问题 【题目描述】 如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路。 根据一笔画的两个定理,如果寻找欧拉回路,对任意一个点执…...

Ubuntu设置清华源
本文为自己安装记录回顾用 下面的是ubuntu20.04Ubuntu 更换镜像源 Ubuntu默认的服务器是在国外,连接很慢。 更换成国内的镜像源,使用清华镜像源,连接就会快一点 下面介绍更换清华镜像源的方法 1.打开Ubuntu的控制台(快捷键ctrlAlt…...

深入了解防火墙与IDS
目录 1. 防火墙如何处理双通道协议? 2. 防火墙如何处理nat? 3. 防火墙支持哪些NAT技术,主要应用场景是什么? 4. 当内网PC通过公网域名解析访问内网服务器时,会存在什么问题,如何解决? 5. 防…...

Visual Testing
软件质量保障:所寫即所思|一个阿里质量人对测试的所感所悟。 视觉测试也称为视觉 UI 测试。用于验证开发的软件用户界面 (UI) 是否符合预期。视觉测试不仅要验证开发的网页设计正确地遵循 UI 元素的空间、大小、形状和位置,还要验证网页元素在各种设备和…...

设计模式之发布-订阅模式
参考资料 曾探《JavaScript设计模式与开发实践》;JavaScript设计模式之发布-订阅模式 定义 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都将得到通知。。在JavaScript开发中,我们一般用事件…...

0505习题-定积分
文章目录1 定积分总结2 练习结语1 定积分总结 定积分思维导图如下1-1所示,文件在末尾仓库中自取。 2 练习 例1 设在区间[a,b][a,b][a,b]上,f(x)>0,f′(x)<0,f′′(x)>0,记S1∫abf(x)dx,S2f(b)(b−a),S312[f(b)f(a)](b−a)f(x)\gt0…...

SSM之Mybatis Plus day01
MyBatisPlus 今日目标 基于MyBatisPlus完成标准Dao的增删改查功能 掌握MyBatisPlus中的分页及条件查询构建 掌握主键ID的生成策略 了解MyBatisPlus的代码生成器 1,MyBatisPlus入门案例与简介 这一节我们来学习下MyBatisPlus的入门案例与简介,这个和其他…...

第03章 用户与权限管理
第03章 用户与权限管理 🏠个人主页:shark-Gao 🧑个人简介:大家好,我是shark-Gao,一个想要与大家共同进步的男人😉😉 🎉目前状况:23届毕业生,目…...

AutoSar系列之:AutoSar发展
文章目录一、Autosar成员二、Autosar历史发展三、使用Autosar前的状态1.原始状态2.进阶状态四、使用Autosar后的状态1.软硬件隔离2.Autosar优势一、Autosar成员 二、Autosar历史发展 三、使用Autosar前的状态 1.原始状态 就是大家经常使用的手写代码,目前也有一部…...

Java设计模式面试专题
1.请列举出在 JDK 中几个常用的设计模式? 单例模式(Singleton pattern)用于 Runtime,Calendar 和其他的一些类中。工厂模式(Factory pattern)被用于各种不可变的类如 Boolean,像 Boolean.value…...

Kafka3.0.0版本——生产者同步发送消息 (API代码示例)
目录一、生产者同步发送消息(API代码示例)1.1、pom文件导入依赖1.2、API代码1.3、在 kafka集群服务器上开启 Kafka 消费者一、生产者同步发送消息(API代码示例) 1.1、pom文件导入依赖 依赖包 <dependency><groupId>o…...

Util.EncryptionUtils - 加密、解密,编码,解码相关
文章目录Util.EncryptionUtils 加密、解密,编码,解码相关说明使用MD5加密以16进制输出MD5加密Base64输出MD5加密原生输出HMACMD5加密SHA1加密SHA224加密SHA256加密SHA384加密SHA512加密HMACSHA1加密HMACSHA224加密HMACSHA256加密HMACSHA384加密HMACSHA51…...

【c++】快速排序
算法思想:分而治之(已选择排序为基础)1、选取第一个数为基准2、将比基准小的数交换到前面,比基准大的数交换到后面3、对左右区间重复第二步,直到各区间只有一个数我们从数组中选择一个元素,我们把这个元素称…...

【C++】do-while 循环练习案例 - 水仙花数
目录 1、缘起 2、案例描述 3、代码 4、总结 1、缘起 以前在学习 C 语言 的时候,做过水仙花数的练习题。在当时就很疑惑,这个 水仙花 和 水仙花数 有啥关系,为什么这个数叫做水仙花数?当时,也只是疑惑了一…...

conda install nb_conda失败原因
1conda install nb_conda失败原因 1.1 镜像源有问题 You will need to adjust your conda configuration to proceed. 出现以下的原因就是你当前设定的镜像源已经不支持该包了,所以需要重新设定,删除已经设定好滴默认镜像源,执行下面的命令后…...

条件变量
基本概念: 条件变量本身不是锁!但它也可以造成线程阻塞。通常与互斥锁配合使用。给多线程提供一个会合的场所。 条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。 主要应用函数: pthread_c…...

实现数据库增删改查+界面效果-----jsp
任务 1.通过连接数据库完成用户登录模块。 2.登录成功后查询出一张数据库表中的内容;登录不成功返回登录页面。 3.页面面端要有空值和非法字符验证。 4.登录成功后对一张表中数据进行增加、删除、修改和查询操作。 代码 数据库相关代码 创建数据库 名字为jdbcH…...

深入理解NLP中的文本匹配任务
❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…...

C语言试题生成与考试系统的设计与实现
当前,网络教学方兴未艾。网上考试已在其中扮演了重要的角色,传统试卷考试方式有待提高。网络教学已从其规范性、科学性及考试工作组织、管理的统一性,影响到教学质量的好坏。基于此,本系统开发实现了基于B/S模式的c试题生成与考试…...

【springBoot篇1】概念、创建和运行
一、什么是springBoot?为什么要学springBoot 在之前学习spring的时候,我们了解到:spring框架的诞生可以简化Java程序的开发。 springBoot翻译一下,就是spring框架的脚手架。 springBoot的优点:(5点) 优点1…...

手写vuex4源码(三)vuex基本功能的实现
一、state 1、非响应式(错误) 直接将options的state赋值给state,这样数据是非响应式的 constructor(options) {this.state options.state}2、响应式(正确) vuex3内部会创造一个vue实例,但是vuex4直接采…...

【创作赢红包】Kube edge之Kubernetes基础知识了解
Kubernetes(简称k8s)是一个开源的容器编排和管理平台,可以自动化地部署、扩展和管理应用程序容器。它是目前最常用的容器编排工具之一,可以帮助开发者快速地构建、部署和管理容器化应用程序。 在了解k8s之前,有一些基…...

流式数据湖存储技术,Apache Paimon是什么?
流式数据湖存储技术,Apache Paimon是什么?00 导读01 什么是 Apache Paimon02 开放的数据格式03 大规模实时更新04 数据表局部更新05 流批一体数据读写来源:https://paimon.apache.org/ 00 导读 2023年3月12日,Flink Table Store …...

【C++】哈希的应用:位图、哈希切分与布隆过滤器
目录 一、位图 1、位图的概念 2、大厂面试题 2.1位图应用(腾讯) 2.2位图应用 3、位图的优缺点 二、哈希切分 三、布隆过滤器 1、布隆过滤器的概念 2、布隆过滤器的应用场景 3、布隆过滤器的删除 4、布隆过滤器的优缺点 5、布隆过滤器面试题…...

贝宁ECTN/BESC认证相关规定
贝宁ECTN/BESC认证相关规定: 根据贝宁国法令凡是发货到贝宁科托努(COTONOU)港的货物都必须申请电子货物跟踪单,如果没有申请将视为触犯贝宁国的条例,并在目的港自动受到惩罚。 ECTN是英语ELECTRONIC CARGO TRACKING NOTE的简称…...

【AI学习笔记】如何使用Jupter查看某个库在Anaconda中的安装位置
模板: import 库名 print(库名.__file__)示例:...