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

深信服2024笔试

一 :服务器

小明是一名公司的IT运维工程师,负责管理公司的IT系统。公司总共有两个配置相同的服务器A和B,各运行了若干个服务。现在小明发现两台服务器上运行的服务占用的内存总和不相等(假设每个服务占用内存是-个恒定正整数),打算将两台服务器上的服务进行交换运行,但只能交换一次。
交换运行指:将服务器A上面的一个服务关闭,然后在服务器B上启动.同样服务器B关闭一个服务,然后在服务器A上启动。关闭的服务不能是刚刚启动的服务。
请写一个程序,帮助小明找出每个服务器上要交换的服务,交换后两台服务器上运行的服务占用的内存总和相等。
提示:我们可以首先遍历两个服务器上的所有服务,然后存储每个服务在两个服务器的内存差值。然后我们可以在哈希表中查找是否存在与某个服务相对应的内存差值,如果存在,那么这两个服务就是我们需要交换的服务。

输入描述:
有两行数据,每一行有多个正整数,中间以空格隔开,代表一台服务器A和B上运行的各个服务内存大小,每个服务的内存大小都小于1024

输出描述:

结果只输出两个数字,用空格隔开,代表每台服务器上要交换的那个服务的内存大小。第一个数字是服务器A上的,第二个是服务器B上的。如果找不到合适的服务或者不需要交换,输出fail。

用例1:

输入:

3 7 2

1 7

输出:

3 1

说明:将第一行服务器占用内存3的服务和第二行服务器占用内存1的服务交换,两行的数字总和相等

解答:

这道题目要求找出两台服务器上的服务,使得交换后两台服务器上服务的内存总和相等。下面是解题的详细步骤和代码解释:

  1. 输入处理
    • 从标准输入中读取两行数据,每行包含多个正整数,表示两台服务器A和B上各个服务占用的内存大小。
  2. 数据解析
    • 将每行数据按空格分割成字符串数组,然后将字符串数组转换为整型数组 serverAserverB
  3. 计算总内存
    • 分别计算服务器A和服务器B上所有服务内存的总和 sumAsumB
  4. 计算内存差值
    • 计算两台服务器总内存的差值 diff = sumA - sumB。由于我们希望交换后内存总和相等,因此 diff 必须是偶数才有可能找到合适的交换。
  5. 查找匹配服务
    • 使用哈希集合 memorySetA 存储服务器A上的所有服务内存值,以便快速查找。
    • 遍历服务器B上的服务,对于每个服务内存值 i,检查是否存在服务器A上的某个服务内存值等于 i + target,其中 target = diff / 2
  6. 输出结果
    • 如果找到符合条件的服务,则输出这两个服务的内存大小,即 i + targeti
    • 如果无法找到合适的服务,输出 “fail”。

下面是完整的Java代码实现:

java复制代码import java.util.*;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);// 读取服务器A和服务器B的服务内存大小String[] serverAInput = in.nextLine().split(" ");String[] serverBInput = in.nextLine().split(" ");// 将字符串数组转换为整型数组int[] serverA = new int[serverAInput.length];int[] serverB = new int[serverBInput.length];int sumA = 0, sumB = 0;for (int i = 0; i < serverAInput.length; i++) {serverA[i] = Integer.parseInt(serverAInput[i]);sumA += serverA[i];}for (int i = 0; i < serverBInput.length; i++) {serverB[i] = Integer.parseInt(serverBInput[i]);sumB += serverB[i];}// 计算两台服务器内存总和的差值int diff = sumA - sumB;// 如果差值不是偶数,则无法找到合适的交换方案if (diff % 2 != 0) {System.out.println("fail");return;}// 目标差值int target = diff / 2;// 使用哈希集合来存储服务器A的服务内存值Set<Integer> memorySetA = new HashSet<>();for (int mem : serverA) {memorySetA.add(mem);}// 在服务器B的服务中查找匹配的服务for (int mem : serverB) {if (memorySetA.contains(mem + target)) {// 找到了符合条件的服务,输出结果并返回System.out.println((mem + target) + " " + mem);return;}}// 如果没有找到合适的服务,输出failSystem.out.println("fail");}
}

这段代码通过遍历和哈希集合的方式实现了在两台服务器的服务内存中查找符合要求的交换方案,保证了算法的效率和正确性。

二:间谍解码算法

小明是一名间谍,他需要将情报数据(由多组数字组成,每一组有多个小于10的正整数)编码后传回总部。编码算法是这样的:针对一组数字,做逆序倒排,然后顺序打乱分成多行,每一行放一个数。再给每个数增加一个数字,说明下一个数字在第几行。请写出解码算法,将编码后的多行数据解码成原始的数字。

举例:
比如一组原始数据1 2 3 4 5,逆序成5 4 3 2 1。再拆成多行,加上下一个数的行数信息,如果是最后一个数,行数信息为0,得到:

4 2
3 4
1 0
2 3
5 1。

解码算法就是将上面的5行数据解码成1 2 3 4 5.

输入描述:

第一行为一个正整数T(T<=10),表示要解码的组数。接下来是每组要解码的数据。
对于每一组待解码数据:
第1行为一个正整数n(n<=1000000),表示有几个原始数字。接下来n行,每行有两个非负整数a和b,以空格隔开,表示一个数的信息。其中,a(a<=1000)表示数,b表示下一个数的行数(当前组的第一行实际内容为第一行),如果b为0,则表示没有下一个数。

输出描述:

对于每组测试数据输出一行,包含多个整数,相邻两个整数之间以一个空格隔开(最后一个整数之后不要有空格),整行表示解码后的一组数字。

测试用例:

输入:

3
5
6 3
9 4
7 0
3 5
2 1
6
2 2
6 3
7 4
2 5
8 6
2 0
4
8 0
5 1
6 2
4 3

输出:

7 6 2 3 9
2 8 2 7 6 2
8 5 6 4

说明:上面的测试用例表示有3组数据,然后第一组是:

5 #表示有5个数
6 3
9 4
7 0
3 5
2 1

后面每一行数据的第一个数字是按照原来顺序逆序排序,然后打乱的结果,6 3表示6的下一个数字在第3行,也就是7,表示原来的数据7应该在6的前面 以此类推 得出最开始的数据是7 6 2 3 9

解答

这道题目涉及到将经过特定编码算法处理后的数据进行解码。下面是详细的解题步骤和代码解释:

  1. 输入处理

    • 首先读取一个正整数 T,表示测试数据组数。
    • 对于每组数据,首先读取一个整数 n,表示有多少个原始数字需要解码。
    • 接下来的 n 行,每行包含两个非负整数 a 和 b,其中 a 表示一个数的值,b 表示下一个数在当前编码数据中的行数(从1开始,0表示没有下一个数)。
  2. 数据结构准备

    • 使用两个数组 numbersnextIndex,分别用来存储每个数的值和其下一个数的索引。如果没有下一个数,则 nextIndex 对应位置为 -1。
  3. 解码过程

    • 找到起始点:遍历 nextIndex 数组找到没有被指向的起始位置,即没有其他数指向它的位置,作为解码的起始点。

    • 从起始点开始,按照

      nextIndex
      

      数组的信息进行解码:

      • 将当前位置对应的数值添加到结果链表的开头。
      • 根据 nextIndex 的值更新当前位置,直到遇到 -1 表示结束。
  4. 输出结果

    • 对每组数据解码后的结果按照要求输出,每组数据输出一行。

下面是完整的Java代码实现:

java复制代码import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int T = sc.nextInt(); // 读取测试数据组数while (T-- > 0) {int n = sc.nextInt(); // 每组数据中的数字个数int[] numbers = new int[n];int[] nextIndex = new int[n];Arrays.fill(nextIndex, -1); // 初始化nextIndex数组为-1// 读取每个数的信息for (int i = 0; i < n; i++) {int num = sc.nextInt();int next = sc.nextInt();numbers[i] = num;if (next != 0) {nextIndex[i] = next - 1; // 注意行数是从1开始,数组索引从0开始,需要减1}}// 解码过程List<Integer> decoded = new ArrayList<>();boolean[] visited = new boolean[n]; // 记录每个数是否已经被访问过int current = findStartIndex(nextIndex); // 找到起始点while (current != -1) {decoded.add(numbers[current]);visited[current] = true;current = nextIndex[current]; // 更新当前位置}// 输出解码结果for (int num : decoded) {System.out.print(num + " ");}System.out.println();}sc.close();}// 找到起始点的方法private static int findStartIndex(int[] nextIndex) {for (int i = 0; i < nextIndex.length; i++) {if (nextIndex[i] == -1) {return i; // 返回第一个没有被指向的位置}}return -1; // 如果所有位置都被指向,返回-1}
}

这段代码通过遍历和数组操作实现了对编码后数据的解码,保证了解码过程的正确性和效率。

三:主机ip判断是否连通

在计算机中,主机与主机之间通过ip地址与网络来连接彼此,任意一台主机会通过ping命令去测试是否与另一台主机连通,而当给定了大批量的网络地址对后,网络管理员也需要快速地判断任意一对ip之间是否存在连通性。
例如: ip为203.0.113.0的主机和ip为198.51.100.0的机器存在连通性,而ip为198.51.100.0的机器又与10.0.0.0这台机器存在连通性,那么由于网络连通的传递性,203.0.113.0就马10.0.0.0存在连通可能性。而ip为172.16.0.0的主机与45.79.0.0的主机存在连通性,192.0.2.0的主机与104.236.0.0的主机存在连通性,其中一对ip中没有任意一个ip能与另一对ip的其中一个ip连通,因此172.16.0.0和192.0.2.0就不存在连通性。
现在给定n任意IP地址,判断它们之间是否能够连通,以及最短的连通跳数(跳数:连通所经过的主机数,如果A-B直连,则定义其为1,A-B经过C连接,则为2,以此类推,主机相同时其跳数为0)

输入描述:

第一行包含两个整数n和m,表示已知的IP地址数量和连通关系数量接下来n行,每行包含一个字符串和一个整数,表示一个IP地址和它的编号(编号范围[1,n]且不会重复)。
接下来m行,每行包含两个整数a和b,表示IP地址对应的编号a和b之间有连通关系。
接下来一行包含一个整数q,表示需要判断连通性的IP地址数量。
接下来q行,每行包含两个字符串,表示需要判断连通性的两个IP地址。

输出描述:对于每个需要判断连通性的IP地址对,如果它们连通,则输出跳数,否则输出-1。

测试用例:
输入:
7 7
192.168.0.1 1
192.168.0.2 2
192.168.0.3 3
192.168.0.4 4
192.168.0.5 5
192.168.0.6 6
192.168.0.7 7
1 2
2 3
1 3
3 6
6 7
2 7
4 5
5
192.168.0.1 192.168.0.1
192.168.0.1 192.168.0.2
192.168.0.1 192.168.0.6
192.168.0.1 192.168.0.7
192.168.0.3 192.168.0.4输出:
0
1
2
2
-1

解答

这道题目涉及到判断多个IP地址之间的连通性,并计算最短的连通跳数。以下是详细的解题步骤和代码解释:

  1. 输入处理
    • 首先读取两个整数 n 和 m,分别表示已知的IP地址数量和连通关系数量。
    • 接下来的 n 行,每行包含一个字符串和一个整数,表示一个IP地址和它的编号。
    • 接下来的 m 行,每行包含两个整数 a 和 b,表示具有连通关系的两个IP地址对应的编号。
    • 最后一行包含一个整数 q,表示需要判断连通性的IP地址对数量。
    • 接下来的 q 行,每行包含两个字符串,表示需要判断连通性的两个IP地址。
  2. 数据结构准备
    • 使用 ipToId 哈希表来映射每个IP地址到其对应的编号。
    • 使用 graph 列表来表示图的邻接表,其中 graph[i] 存储与编号为 i 的IP地址有直接连通关系的所有其他编号。
  3. 图的构建
    • 根据输入构建邻接表 graph,表示每个IP地址之间的直接连通关系。
  4. 解码过程
    • 对于每对需要判断连通性的IP地址,通过 ipToId 查找它们对应的编号。
    • 如果其中任意一个IP地址没有找到对应的编号,直接输出 -1 表示无法确定连通性。
    • 否则,使用 BFS(广度优先搜索)来计算从起始IP地址到目标IP地址的最短路径长度(即连通跳数)。
  5. 输出结果
    • 对每组需要判断连通性的IP地址对,输出计算得到的最短连通跳数或者 -1 表示不可达。

以下是完整的Java代码实现:

java复制代码import java.util.*;public class Main {private static Map<String, Integer> ipToId = new HashMap<>();private static List<List<Integer>> graph;public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt(); // IP地址数量int m = sc.nextInt(); // 连通关系数量graph = new ArrayList<>();for (int i = 0; i <= n; i++) {graph.add(new ArrayList<>());}// 读取每个IP地址及其编号for (int i = 0; i < n; i++) {String ip = sc.next();int id = sc.nextInt();ipToId.put(ip, id);}// 构建图的邻接表for (int i = 0; i < m; i++) {int a = sc.nextInt();int b = sc.nextInt();graph.get(a).add(b);graph.get(b).add(a);}int q = sc.nextInt(); // 需要判断连通性的IP地址对数量for (int i = 0; i < q; i++) {String ip1 = sc.next();String ip2 = sc.next();// 获取IP地址对应的编号int ip1Id = ipToId.getOrDefault(ip1, -1);int ip2Id = ipToId.getOrDefault(ip2, -1);if (ip1Id == -1 || ip2Id == -1) {System.out.println(-1); // 如果任意一个IP地址找不到对应的编号,输出-1} else {// 使用 BFS 寻找最短路径长度(连通跳数)int shortestPath = bfs(ip1Id, ip2Id);System.out.println(shortestPath);}}sc.close();}private static int bfs(int start, int end) {if (start == end) return 0; // 如果起点和终点相同,跳数为0Queue<Integer> queue = new LinkedList<>();boolean[] visited = new boolean[graph.size()];int[] distance = new int[graph.size()];queue.offer(start);visited[start] = true;distance[start] = 0;while (!queue.isEmpty()) {int current = queue.poll();for (int neighbor : graph.get(current)) {if (!visited[neighbor]) {visited[neighbor] = true;distance[neighbor] = distance[current] + 1;if (neighbor == end) {return distance[neighbor];}queue.offer(neighbor);}}}return -1; // 如果没找到路径,返回-1表示不可达}
}

这段代码通过构建图的邻接表和使用 BFS 来实现了对多个IP地址之间连通性的判断,并计算了最短的连通跳数。

相关文章:

深信服2024笔试

一 &#xff1a;服务器 小明是一名公司的IT运维工程师&#xff0c;负责管理公司的IT系统。公司总共有两个配置相同的服务器A和B&#xff0c;各运行了若干个服务。现在小明发现两台服务器上运行的服务占用的内存总和不相等(假设每个服务占用内存是-个恒定正整数)&#xff0c;打…...

IOS Swift 从入门到精通:闭包 第一部分

文章目录 创建基本闭包在闭包中接受参数从闭包返回值闭包作为参数尾随闭包语法 创建基本闭包 Swift 允许我们像使用字符串和整数等其他类型一样使用函数。这意味着您可以创建一个函数并将其分配给一个变量&#xff0c;使用该变量调用该函数&#xff0c;甚至可以将该函数作为参…...

解两道四年级奥数题(等差数列)玩玩

1、1&#xff5e;200这200个连续自然数的全部数字之和是________。 2、2&#xff0c;4&#xff0c;6&#xff0c;……&#xff0c;2008这些偶数的所有各位数字之和是________。 这两道题算易错吧&#xff0c;这里求数字之和&#xff0c;比如124这个数的全部数字之和是1247。 …...

深入理解Python中的并发与异步的结合使用

​ 在上一篇文章中&#xff0c;我们讨论了异步编程中的性能优化技巧&#xff0c;并简单介绍了trio和curio库。今天&#xff0c;我们将深入探讨如何将并发编程与异步编程结合使用&#xff0c;并详细讲解如何利用trio和curio库优化异步编程中的性能。 文章目录 并发与异步编程的区…...

如何将 ChatGPT 集成到你的应用中

在当今快速发展的技术环境中&#xff0c;将人工智能聊天解决方案集成到你的应用程序中可以显著提升用户体验和参与度。OpenAI 的 ChatGPT 以其对话能力和高级语言理解而闻名&#xff0c;对于希望在其应用程序中实现智能聊天功能的开发人员来说是一个绝佳的选择。那我们今天就来…...

在 Swift 中,UILabel添加点击事件的方法

在 Swift 中&#xff0c;可以使用 UITapGestureRecognizer 给 UILabel 添加点击事件。以下是一个详细的步骤和示例代码&#xff1a; 1. 创建 UILabel 并添加到视图 在 Storyboard 或代码中创建一个 UILabel 并将其添加到视图中。 2. 启用 UILabel 的用户交互 默认情况下&am…...

indexedDB---掌握浏览器内建数据库的基本用法

1.认识indexedDB IndexedDB 是一个浏览器内建的数据库&#xff0c;它可以存放对象格式的数据&#xff0c;类似本地存储localstore&#xff0c;但是相比localStore 10MB的存储量&#xff0c;indexedDB可存储的数据量远超过这个数值&#xff0c;具体是多少呢&#xff1f; 默认情…...

【css】如何修改input选中历史选项后,自动填充的蓝色背景色

自动填充前&#xff1a; 自动填充后&#xff1a; 解决办法 方法一&#xff1a;设置背景透明&#xff08;通过拉长过渡时间&#xff0c;和延迟过渡开始时间&#xff0c;掩盖input自动填充背景颜色&#xff09; PS&#xff1a;注意&#xff0c;这个过渡效果会在你的delay tim…...

红队内网攻防渗透:内网渗透之内网对抗:网络通讯篇防火墙组策略入站和出站规则单层双层C2正反向上线解决方案

红队内网攻防渗透 1. 内网网络通讯1.1 防火墙策略-入站规则&出站规则&自定义1.1.1 防火墙默认入站&出站策略1.1.2 防火墙自定义入站&出站策略1.1.3 内网域防火墙同步策略1.2 防火墙限制1.2.1 防火墙限制端口1.2.2 防火墙限制协议1.2.2.1 防火墙协议入站限制1.2…...

linux 查看进程启动方式

目录 如果是systemd管理的服务怎么快速找到对应的服务器呢 什么是CGroup 查找进程对应的systemd服务 方法一&#xff1a;查看 /proc//cgroup 文件 方法二&#xff1a;使用 ps 命令结合 --cgroup 选项 方法三&#xff1a;systemd-cgls 关于 system.slice 与 user.slice …...

基于Java实训中心管理系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…...

第2章 Android应用的界面编程

&#x1f308;个人主页&#xff1a;小新_- &#x1f388;个人座右铭&#xff1a;“成功者不是从不失败的人&#xff0c;而是从不放弃的人&#xff01;”&#x1f388; &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f3c6;所属专栏&#xff1…...

springboot学习-图灵课堂-最详细学习

springboot-repeat springBoot学习代码说明为什么java -jar springJar包后项目就可以启动 配置文件介绍 springBoot学习 依赖引入 <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.target>8</mav…...

Total CAD Converter与Total Excel Converter软件分享

1.软件介绍 Total CAD Converter Total CAD Converter 是一款功能强大的工具&#xff0c;能够将 CAD 文件转换为多种格式&#xff0c;如 PDF、TIFF、JPEG、BMP、WMF、PNG、DXF、BMP、CGM、HPGL、SVG、PS 和 SWF 等。其支持的源格式丰富多样&#xff0c;包括 dxf、dwg、dwf、d…...

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 启动多任务排序(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 启动多任务排序(200分) 🌍 评测功能需要订阅专栏后私信联系…...

【会议征稿,JPCS出版】第三届电力系统与能源技术国际学术会议(ICPSET 2024,7月5-7)

第三届电力系统与能源技术国际学术会议&#xff08;ICPSET 2024&#xff09;将于2024年7月5-7日在杭州举办。由浙江水利水电学院电机产业学院主办&#xff0c;AEIC学术交流中心承办&#xff0c;湖州市南浔创新研究院、南浔区科技局&#xff08;科协&#xff09;协办 。会议主要…...

【机器学习300问】118、循环神经网络(RNN)的基本结构是怎样的?

将讲解循环神经网络RNN之前&#xff0c;我先抛出几个疑问&#xff1a;为什么发明循环神经网络&#xff1f;它的出现背景是怎样的&#xff1f;这些问题可以帮助我们更好的去理解RNN。下面我来逐一解答。 一、循环神经网络诞生的背景 循环神经网络&#xff08;RNN&#xff09;的…...

loveqq-framework 和 thymeleaf 整合遇到的 th:field 的坑,原来只有 spring 下才有效

相信大家在使用 thymeleaf 的时候&#xff0c;绝大部分都是和 springboot 一块儿使用的&#xff0c;所以 th:field 属性用的很舒服。 但实际上&#xff0c;th:field 只有在 spring 环境下下有用&#xff0c;单独的 thymeleaf 是不支持的&#xff01; 为什么我知道呢&#xff…...

hugging face:大模型时代的github介绍

1. Hugging Face是什么&#xff1a; Hugging Face大模型时代的“github”&#xff0c;很多人有个这样的认知&#xff0c;但是我觉得不完全准确&#xff0c;他们相似的地方在于资源丰富&#xff0c;github有各种各样的软件代码和示例&#xff0c;但是它不是系统的&#xff0c;没…...

如何快速绘制logistic回归预测模型的ROC曲线?

临床预测模型&#xff0c;也是临床统计分析的一个大类&#xff0c;除了前期构建模型&#xff0c;还要对模型的预测能力、区分度、校准度、临床获益等方面展开评价&#xff0c;确保模型是有效的&#xff01; 其中评价模型的好坏主要方面还是要看区分度和校准度&#xff0c;而区分…...

实现具有多个实现类的接口并为每个实现类定义一个名字的方法

在Java中&#xff0c;实现具有多个实现类的接口并为每个实现类定义一个名字的方法&#xff0c;可以通过使用工厂模式或服务定位器模式来完成。以下是使用工厂模式的一个示例&#xff1a; 定义接口和实现类 首先&#xff0c;定义一个接口和多个实现类&#xff1a; // 接口 publ…...

Linux解压缩命令

文章目录 前言1. tar - 打包和压缩文件2. gzip - 压缩文件3. gunzip - 解压缩gzip文件4. bzip2 - 压缩文件5. unzip - 解压缩zip文件6. zip - 压缩文件为zip格式7. 7z - 7-Zip压缩工具8. unrar - 解压缩RAR文件 前言 解压缩文件在Linux中是常见的任务&#xff0c;以下是一些常…...

如何在 Ubuntu 14.04 上使用 Iptables 实现基本防火墙模板

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 简介 实施防火墙是保护服务器的重要步骤。其中很大一部分是决定强制执行对网络流量的限制的个别规则和策略。像 iptables 这样的防火墙…...

jasypt对yml文件进行加密解密

目录 0.背景 1.依赖 2.yml文件 3.加密操作 0.背景 在日常开发中&#xff0c;我们一般会把账号密码以及一些用到的各种第三方服务的Access_Key都放入yml文件中&#xff0c;这时就有必要对yml文件进行加密处理了&#xff0c; jasypt是一款简单的对yml加密的工具 1.依赖 &l…...

vue3-openlayers 使用tianditu,wmts和xyz等source加载天地图切片服务

本篇介绍一下使用vue3-openlayers加载天地图切片&#xff0c;三种方法&#xff1a; 使用tianditu&#xff08;ol-source-tianditu内部实现其实用的wmts&#xff09;使用wmts&#xff08;ol-source-wmts&#xff09;使用xyz&#xff08;ol-source-xyz&#xff09; 1 需求 vue…...

npm、yarn、pnpm 最新国内镜像源设置和常见问题解决

1. npm 设置国内镜像源 1.1 镜像源概述 镜像源是软件包管理工具用来下载和安装软件包的服务器地址。由于网络原因&#xff0c;直接使用官方源可能会导致速度慢或连接失败的问题。国内镜像源可以提供更快的访问速度和更稳定的连接。 1.2 镜像源的选择 国内有许多可用的npm镜…...

Qt Object:智能即时聊天室项目

目录 1.项目介绍 2.设计思路 3.Pro文件配置 4.项目演示 5.项目开源 项目介绍 智能即时聊天室系统&#xff08;AIChatProject&#xff09;是一个高效、灵活的即时通讯解决方案。它融合了百度的开源大型语言模型——文心一言&#xff0c;通过API接口实现深度集成。系统专为聊天和…...

php,python aes加密反解

1. python版本 import base64 from Crypto.Cipher import AES from Crypto.Util.Padding import pad, unpadclass AESUtilCBC:def __init__(self, key, iv):self.key key.encode(utf-8)self.iv iv.encode(utf-8)self.pad_length AES.block_sizedef encrypt(self, data):try…...

基于Java学生选课管理系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…...

阅读笔记——《Large Language Model guided Protocol Fuzzing》

【参考文献】Meng R, Mirchev M, Bhme M, et al. Large language model guided protocol fuzzing[C]//Proceedings of the 31st Annual Network and Distributed System Security Symposium (NDSS). 2024.&#xff08;CCF A类会议&#xff09;【注】本文仅为作者个人学习笔记&a…...

C#委托:事件驱动编程的基石

目录 了解委托 委托使用的基本步骤 声明委托(定义一个函数的原型&#xff1a;返回值 参数类型和个数&#xff09; 根据委托定义的函数原型编写需要的方法 创建委托对象&#xff0c;关联“具体方法” 通过委托调用方法&#xff0c;而不是直接使用方法 委托对象所关联的方…...

Git的下载安装及可视化工具小乌龟

一、 Git 的下载 第1步&#xff1a;下载Git&#xff0c;下载地址&#xff1a;Git for Windows 这个就需要去 Git 官网下载对应系统的软件了&#xff0c;下载地址为 git-scm.com或者gitforwindows.org&#xff0c;或者阿里镜像&#xff08;感谢评论区的星悸迷航同学&#…...

【面试实战】# 并发编程之线程池配置实战

1.先了解线程池的几个参数含义 corePoolSize (核心线程池大小): 作用: 指定了线程池维护的核心线程数量&#xff0c;即使这些线程处于空闲状态&#xff0c;它们也不会被回收。用途: 核心线程用于处理长期的任务&#xff0c;保持最低的线程数量&#xff0c;以减少线程的创建和…...

Pytest 读取excel文件参数化应用

本文是基于Pytest框架&#xff0c;读取excel中的文件&#xff0c;传入页面表单中&#xff0c;并做相应的断言实现。 1、编辑媒体需求 首先明确一下需求&#xff0c;我们需要对媒体的表单数据进行编辑&#xff0c;步骤如下&#xff1a; 具体表单如下图所示 1、登录 2、点击我…...

qt 一个可以拖拽的矩形

1.概要 2.代码 2.1 mycotrl.h #ifndef MYCOTRL_H #define MYCOTRL_H#include <QWidget> #include <QMouseEvent>class MyCotrl: public QWidget {Q_OBJECT public://MyCotrl();MyCotrl(QWidget *parent nullptr); protected:void paintEvent(QPaintEvent *even…...

C# 启动exe 程序

(1) publicbool Start () System.Diagnostics.Process process new System.Diagnostics.Process(); process.StartInfo.FileName "iexplore.exe"; //IE浏览器&#xff0c;可以更换 process.StartInfo.Arguments "http://www.baidu.com"; process.…...

Netty中的Reactor模型实现

Netty版本&#xff1a;4.1.17 Reactor模型是Doug Lea在《Scalable IO in Java》提出的&#xff0c;主要是针对NIO的。 其中的主从Reactor模式在Netty中的配置如下&#xff1a; EventLoopGroup bossGroup new NioEventLoopGroup(1); EventLoopGroup workerGroup new NioEv…...

dll丢失应该怎么解决,总结5种解决DLL丢失问题的方法

在数字时代&#xff0c;我们与计算机的每一天都密不可分。然而&#xff0c;就像所有技术产品一样&#xff0c;我们的计算设备也时不时地会出现一些问题&#xff0c;让人头疼不已。就在上周&#xff0c;我遭遇了一个令人崩溃的技术挑战——DLL文件丢失。这个看似微不足道的小问题…...

dial tcp 10.96.0.1:443: connect: no route to host

1、创建Pod一直不成功&#xff0c;执行kubectl describe pod runtime-java-c8b465b98-47m82 查看报错 Warning FailedCreatePodSandBox 2m17s kubelet Failed to create pod sandbox: rpc error: code Unknown desc failed to setup network for…...

VScode创建ROS项目 ROS集成开发环境

ROS使用VScode创建项目步骤 1.创建ROS工作空间2.启动VScode3.VScode编译ROS4.创建ROS功能包C语言开发Python语言开发 本文章介绍了如何在Ubuntu18.04系统下搭建VScode 的ROS项目 搭建项目分为一下几个步骤&#xff1a; 1.创建ROS工作空间 创建一个demo的ROS工作空间&#xff0…...

nodejs从基础到实战学习笔记-nodejs简介

一、Node.js简介 • Node.js是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript运行环境。 • Node采用Google开发的V8引擎运行js代码&#xff0c;使用事件驱动、非阻塞和异步I/O模型等技术来提高性能&#xff0c;可优化应用程序的传输量和规模。 1.1 特性 …...

2024年最新版------二进制安装部署Kubernetes(K8S)集群

Kubernetes二进制集群部署 文章目录 Kubernetes二进制集群部署资源列表基础环境一、环境准备1.1、绑定映射关系1.2、所有主机安装Docker1.3、所有主机设置iptables防火墙 二、生成通信加密证书2.1、master上成功CA证书2.2.1、创建证书存放位置并安装证书生成工具2.2.2、拷贝证书…...

【mysql】关键词搜索实现

关键词搜索实现两种方式 -- 方式1 模糊匹配搜索 -- 场景一&#xff1a;搜索出来地址内包含‘李’和‘中国’的 select * from tn_md_cust_link where address like concat (%李%) or address like concat (%中国%) -- 场景二&#xff1a;搜索地址或者名称包含 ‘181’ 的 …...

Python面试十问2

一、如何使用列表创建⼀个DataFrame # 导入pandas库 import pandas as pd# 创建一个列表&#xff0c;其中包含数据 data [[A, 1], [B, 2], [C, 3]]# 使用pandas的DataFrame()函数将列表转换为DataFrame df pd.DataFrame(data, columns[Letter, Number]) # 列名# 显示创建的…...

C# OpenCvSharp 图像处理函数-颜色通道-cvtColor

使用 OpenCvSharp 中的 cvtColor 函数进行图像颜色转换 在图像处理领域,颜色空间转换是一个非常常见的操作。OpenCvSharp 提供了一个强大的函数 cvtColor 来处理这类转换。本文将详细介绍 cvtColor 函数的使用方法,并通过具体的示例演示如何在实际项目中应用这些知识。 函数…...

总结之LangChain(三)——模型IO缓存

一、聊天模型缓存 LangChain为聊天模型提供了一个可选的缓存层。这有两个好处&#xff1a; 如果您经常多次请求相同的完成结果&#xff0c;它可以通过减少您对LLM提供程序的API调用次数来帮您节省费用。 它可以通过减少您对LLM提供程序的API调用次数来加快您的应用程序速度。…...

判断一个Java服务是不是GateWay

方法 直接在对应服务的url后变加上后缀/actuator/gateway/routes&#xff0c;看是否会返回Gateway的路由信息。 如果返回了GateWay的路由列表&#xff0c;则该服务为Gateway服务。...

三次插值曲线--插值技术

三次插值曲线 1.1.三次样条曲线 三次样条曲线的基本思想是&#xff0c;在给定的一系列点&#xff08;称为控制点或数据点&#xff09;之间&#xff0c;通过一系列三次多项式曲线段来拟合这些点&#xff0c;使得整个曲线既平滑又准确地通过所有控制点。 1.1.1.数学定义 给定…...

python循环结构

1.while 循环 语句&#xff1a; while 循环条件表达式&#xff1a; 代码块 else&#xff1a; 代码块 小练&#xff1a; 设计一百以内的偶数相加 n 0 while n < 100:n 1if n % 2 0 :print(n) 判断是不是闰年&#xff08;四年一润和百年不润&#xff0c;或者四百年一润&am…...

深入理解Netty的Pipeline机制:原理与实践详解

深入理解Netty的Pipeline机制&#xff1a;原理与实践详解 Netty是一个基于Java的高性能异步事件驱动的网络应用框架&#xff0c;广泛应用于高并发网络编程。&#xff08;学习netty请参考&#xff1a;深入浅出Netty&#xff1a;高性能网络应用框架的原理与实践&#xff09;Nett…...