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

机器学习-搜索技术:从技术发展到应用实战的全面指南

在本文中,我们全面探讨了人工智能中搜索技术的发展,从基础算法如DFS和BFS,到高级搜索技术如CSP和优化问题的解决方案,进而探索了机器学习与搜索的融合,最后展望了未来的趋势和挑战,提供了对AI搜索技术深刻的理解和展望。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

file

一、引言

file
搜索,作为人工智能(AI)的核心组成部分,始终贯穿着这个领域的发展历程。从早期的简单规则引擎到如今的复杂深度学习模型,搜索技术在人工智能的历史长河中扮演了至关重要的角色。在许多AI应用中,搜索不仅是一种算法工具,更是一种问题解决的思维方式。

想象一下,你正在使用智能助手搜索附近的餐厅。这个过程中,智能助手如何从成千上万的选项中找到最符合你需求的那几家餐厅?背后就是搜索技术的功劳。它不仅涉及对数据的快速检索,还包括对你的喜好、地理位置、甚至是当时的餐饮潮流进行复杂的分析和判断。这个例子生动地说明了搜索技术在日常生活中的普遍应用和重要性。

进一步来看,搜索技术在AI领域的应用远不止于此。例如,在棋类游戏如国际象棋或围棋中,AI通过搜索算法评估成千上万种可能的棋局组合,来决定最佳的下一步棋。这里的搜索不仅是对当前棋盘状态的简单检索,而是涉及到深度的策略规划和预测。AlphaGo的胜利就是一个经典案例,它通过结合深度学习和蒙特卡洛树搜索技术,战胜了世界顶尖的围棋选手。

除了这些显而易见的应用,搜索技术在AI领域中还有更深层次的影响。它是自然语言处理(NLP)、计算机视觉、机器人技术等子领域的基础。在自然语言处理中,搜索技术帮助算法理解和生成语言,实现从简单的关键词检索到复杂的语境理解和对话生成。而在计算机视觉领域,搜索技术则用于从海量图像数据中识别和分类特定的对象或场景。

这些例子只是冰山一角,它们展示了搜索技术在人工智能领域多维度、深层次的应用。搜索技术不仅在技术层面影响着AI的发展,更在应用层面深刻地改变着我们的生活方式。通过这篇文章,我们将深入探讨这些内容,揭示搜索技术在人工智能中的丰富内涵和广阔前景。


二、人工智能中的搜索技术概述

搜索技术在人工智能(AI)中扮演着举足轻重的角色。它不仅是解决问题的基本方法,更是连接数据、算法与实际应用的桥梁。要全面理解搜索技术在AI中的应用,我们需要从它的基本概念出发,探讨其在不同领域中的实际运用。

搜索技术的历史背景

file
搜索技术在AI中的应用可以追溯到20世纪50年代。最初,搜索被用于解决逻辑和数学问题,如象棋等游戏。这些早期的AI系统,如IBM的Deep Blue,通过搜索算法评估可能的棋局走法,并选择最佳策略。Deep Blue在1997年击败国际象棋世界冠军加里·卡斯帕罗夫,这标志着搜索技术在解决复杂问题上的巨大潜力。

搜索技术在AI中的作用

file
在AI中,搜索技术主要用于两大类问题:优化问题决策问题

  1. 优化问题:在这类问题中,搜索技术用于寻找最优解或近似最优解。例如,在物流和供应链管理中,如何高效地规划货物配送路线?这里的挑战是在成千上万种可能的路线中找到成本最低、时间最短的那一条。遗传算法和模拟退火算法等搜索技术,在这些问题上展现了出色的性能。

  2. 决策问题:对于决策问题,搜索技术帮助AI系统在众多可能的决策中选择最佳方案。以自动驾驶汽车为例,AI系统必须实时做出准确的驾驶决策。这包括判断何时变道、何时减速、何时避让障碍物等。在这些场景下,搜索技术能够评估不同决策的后果,帮助系统做出最安全、最有效的选择。

在这两大类问题中,搜索技术的核心在于如何高效地遍历、评估并选择最优或满意的解决方案。随着计算能力的增强和算法的进步,搜索技术已从最初的简单穷举法,发展为包括启发式搜索、概率搜索等更加高效和智能的方法。

通过以上内容可以看出,搜索技术在AI领域中不仅仅是一种工具,更是一种解决问题的思维方式。它将继续在AI的发展中扮演关键角色,无论是在处理日常任务还是解决复杂的科学和工程问题。


三、基础搜索算法

file
在人工智能的发展史上,基础搜索算法构成了整个领域的基石。这些算法虽然简单,但在许多情况下,它们是解决问题的第一步。了解这些基础算法,不仅对于学习AI是必要的,也对于理解更高级的搜索技术至关重要。

经典搜索算法

  1. 深度优先搜索(DFS):深度优先搜索是一种利用递归或栈的技术来实现的算法。它尝试沿着树的深度遍历树的节点,尽可能深地搜索树的分支。举个例子,假设你正在一个迷宫游戏中寻找出口,DFS会选择一个方向深入探索,直到走不通再回退。这种方法在树或图的搜索中非常有效,特别是在目标节点预期在深层时。

  2. 广度优先搜索(BFS):广度优先搜索使用队列来实现,它从树的根节点开始,先遍历所有同一层的节点,再逐渐向下层遍历。以同样的迷宫例子,BFS会先探索起点周围的所有可能路径,然后再进入下一层级的路径。在找到最短路径的问题上,如在社交网络中寻找两个人之间的最短连接路径,BFS表现得非常出色。

启发式搜索

启发式搜索是一种在搜索过程中使用启发式方法来指导搜索方向的技术,它比简单的DFS或BFS更加高效。

  1. A*算法:A算法是启发式搜索中最著名的一个例子。它通过结合实际从起点到当前节点的距离(已知信息)和预估从当前节点到终点的距离(启发式信息)来计算每个节点的优先级,从而决定搜索的顺序。例如,在地图导航应用中,A算法可以用来找到从一个地点到另一个地点的最短路径。它不仅考虑了已经行驶的距离,还预估了到达目的地的剩余距离,从而有效地减少了搜索范围。

通过这些基础搜索算法,我们可以看到AI如何模仿和扩展人类在解决问题时的思维过程。从简单的DFS和BFS到更高级的启发式搜索,每种方法都有其特定的应用场景和优势。这些基础算法不仅在教学中起到了承上启下的作用,也在实际应用中提供了解决问题的基本方法。


四、高级搜索技术

file
在掌握了基础搜索算法之后,我们转向更复杂、更高效的高级搜索技术。这些技术通常涉及更复杂的数据结构、算法优化以及特定问题领域的策略。

约束满足问题(CSP)与搜索

约束满足问题(Constraint Satisfaction Problems, CSP)是AI中一类特殊的问题,其中涉及寻找满足一系列约束的解决方案。

  1. CSP的应用实例:一个典型的例子是数独游戏。在数独中,目标是填充网格,使每行、每列和每个小区域内的数字都不重复。这正是一个CSP,其中的约束是数字的唯一性。解决数独这类问题通常涉及到遍历可能的数字分配,并检查是否满足所有约束。

  2. CSP的搜索算法:CSP问题通常使用回溯算法解决。在搜索过程中,当当前的部分分配违反了约束时,算法会回退到上一个决策点,选择另一种可能的分配。这是一种试错的过程,直到找到满足所有约束的解决方案。

优化问题与搜索

优化问题是另一类重要的问题类型,在这类问题中,目标是找到最优化某个目标函数的解决方案。

  1. 遗传算法:遗传算法是一种受生物进化启发的搜索技术,它通过模拟自然选择和遗传机制来迭代地改进解决方案。这种方法在多目标优化和搜索空间非常大的问题中特别有效。

    • 关键代码示例

      # 一个简单的遗传算法示例
      import randomdef fitness(individual):# 评估个体的适应度# ...def select(population):# 选择过程# ...def crossover(parent1, parent2):# 交叉过程# ...def mutate(individual):# 变异过程# ...# 初始化种群
      population = [random_individual() for _ in range(population_size)]for generation in range(max_generations):# 评估当前种群fitnesses = [fitness(ind) for ind in population]# 选择selected = select(population, fitnesses)# 交叉与变异population = [mutate(crossover(p1, p2)) for p1, p2 in zip(selected[::2], selected[1::2])]
      

      在这个简化的示例中,fitness 函数评估每个个体的适应度,select 函数基于适应度选择个体,crossovermutate 函数分别进行交叉和变异操作。

  2. 模拟退火:模拟退火是另一种优化算法,受物理中固体退火过程的启发。它通过随机探索和逐渐减小探索范围的方式,寻找全局最优解。这种方法在求解如旅行商问题(TSP)等组合优化问题上表现出色。

高级搜索技术的应用不仅限于理论问题,它们在实际应用中同样发挥着重要作用。从解决复杂的数学难题到优化大型工业系统的运行,高级搜索技术提供了一系列强大的工具,帮助人工智能系统更有效地解决问题。


五、机器学习与搜索

file
机器学习与搜索技术的结合是人工智能领域的一个重要发展方向。通过融合机器学习的预测能力和搜索技术的决策能力,我们可以创建出更加强大和智能的系统。下面,我们探讨几个这种融合的关键例子。

强化学习中的搜索策略

强化学习是一种学习方法,其中的智能体通过与环境的交互来学习最优行为策略。在这个过程中,搜索策略用于决定在给定状态下的最佳行动。

  1. 蒙特卡洛树搜索(MCTS):MCTS是一种在强化学习中常用的搜索策略,尤其是在复杂的决策过程中,如棋类游戏。AlphaGo的成功就部分归功于它结合了深度学习和MCTS。深度学习用于评估棋局和预测下一步行动,而MCTS则用于探索和优化可能的行动路径。

    • 关键代码示例

      # 蒙特卡洛树搜索简化示例
      class Node:def __init__(self, state, parent=None):self.state = stateself.parent = parentself.children = []self.wins = 0self.visits = 0def select(node):# 选择最佳子节点# ...def expand(node):# 扩展新的子节点# ...def simulate(node):# 模拟随机游戏并返回结果# ...def backpropagate(node, result):# 根据模拟结果更新节点信息# ...root = Node(initial_state)
      for _ in range(number_of_iterations):leaf = select(root)expand(leaf)result = simulate(leaf)backpropagate(leaf, result)
      

      在这个示例中,每一次迭代都包括选择最佳子节点、扩展新的子节点、模拟游戏过程并根据模拟结果更新节点信息的步骤。

深度学习与搜索

file
深度学习可以显著增强传统搜索技术。通过训练深度神经网络来理解复杂的数据模式,我们可以更有效地指导搜索过程。

  1. 神经网络引导的搜索:在复杂问题如自然语言处理或图像识别中,神经网络可以用来预测搜索方向,从而减少无效的搜索尝试。例如,在机器翻译中,神经网络可以预测最可能的词语或短语,从而指导搜索过程,快速找到高质量的翻译。

    • 关键代码示例

      # 使用神经网络进行预测的简化示例
      import torch
      import torch.nn as nnclass SimpleNN(nn.Module):def __init__(self):super(SimpleNN, self).__init__()self.layer = nn.Linear(input_size, output_size)def forward(self, x):return self.layer(x)model = SimpleNN()
      # 假设已经训练了模型
      # ...def guided_search(input_data):predictions = model(input_data)# 基于预测结果指导搜索过程# ...
      

      这里的SimpleNN是一个简单的神经网络,它可以基于输入数据生成预测,这些预测随后可以用于指导搜索过程。

机器学习与搜索技术的结合不仅提

高了AI系统处理复杂问题的能力,也开辟了新的应用领域和研究方向。在未来,这种融合将继续推动人工智能技术的发展和创新。


六、未来趋势和挑战

人工智能(AI)搜索技术的未来充满了无限可能性,但同时也面临着一系列挑战。在这一部分中,我们将探讨搜索技术未来的发展趋势和它所面临的主要挑战。

未来趋势

  1. 集成化和多模态搜索:未来的搜索技术将更加集成化,能够同时处理多种类型的数据和复杂的问题。例如,在医疗诊断领域,未来的搜索系统可能需要同时分析患者的影像数据、基因信息、病史和生活习惯,以提供更准确的诊断建议。

  2. 自适应和个性化搜索:随着机器学习技术的进步,搜索系统将变得更加自适应和个性化。以电子商务为例,搜索算法可以根据用户的购物历史、搜索习惯和实时行为数据来个性化推荐产品。

  3. 搜索技术与量子计算的结合:量子计算的发展可能会为搜索技术带来革命性的变化。量子计算机的超高速度和强大处理能力,能够有效解决现有计算机难以处理的复杂搜索问题。

面临的主要挑战

  1. 处理大规模数据的挑战:随着数据量的不断增长,如何有效地处理和搜索大规模数据成为一个主要挑战。例如,在社交网络分析中,处理成千上万的用户生成内容,寻找有价值的信息,需要高效且智能的搜索算法。

  2. 隐私保护与安全性问题:在提高搜索效率和个性化的同时,保护用户隐私和数据安全是另一个重要挑战。特别是在医疗和金融领域,如何在不泄露敏感信息的前提下进行有效的搜索,是需要解决的关键问题。

  3. 解决计算复杂性和能耗问题:随着搜索任务变得更加复杂,如何降低计算成本和能耗也成为了一个挑战。在环保和可持续发展的大背景下,开发能效更高的搜索算法和硬件成为了迫切需要。

未来的搜索技术将继续推动人工智能的边界,但同时也需要解决伴随而来的挑战。通过不断的技术创新和跨学科合作,我们有望克服这些障碍,开启AI搜索技术的新篇章。


七、总结

本文深入探讨了人工智能中的搜索技术,从基础算法到高级搜索技术,再到机器学习与搜索的结合,最后讨论了未来的趋势和挑战。现在,我们来总结全文的主要观点和洞见。

  1. 基础搜索算法的核心地位:深度优先搜索、广度优先搜索等基础算法是理解复杂搜索技术的起点,它们为解决更复杂问题奠定了基础。

  2. 高级搜索技术的多样性和复杂性:约束满足问题、优化问题的搜索算法,如遗传算法和模拟退火,展示了搜索技术在解决特定问题类型时的高效性和灵活性。

  3. 机器学习与搜索的协同进化:强化学习中的蒙特卡洛树搜索和深度学习驱动的搜索算法,显示了机器学习如何提升搜索技术,使其更加智能和适应性强。

  4. 未来趋势的广阔前景:集成化和多模态搜索、自适应和个性化搜索、以及量子计算的潜在影响,预示了搜索技术未来的发展方向。

  5. 面临的挑战和应对策略:处理大规模数据、隐私保护与安全性、计算复杂性和能耗问题是未来发展中需要重点关注和解决的挑战。

总体而言,搜索技术在人工智能领域的发展和应用展现了多样性和复杂性,同时也揭示了与其他技术领域的深度融合。随着技术的不断进步,我们有理由相信,搜索技术将继续在人工智能的发展中扮演至关重要的角色,推动着从日常应用到前沿科学研究的各个领域向前发展。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

相关文章:

机器学习-搜索技术:从技术发展到应用实战的全面指南

在本文中,我们全面探讨了人工智能中搜索技术的发展,从基础算法如DFS和BFS,到高级搜索技术如CSP和优化问题的解决方案,进而探索了机器学习与搜索的融合,最后展望了未来的趋势和挑战,提供了对AI搜索技术深刻的…...

Axelar、J.P.Morgan Onyx、Apollo 完成概念验证,向跨区块链自动化投资领域探索

J.P.Morgan Onyx、Apollo、Axelar、Oasis Pro 以及 Provenance Block Chain 展开合作,共同进行互操作性概念验证(Proof-of-Concept,PoC)。 新加坡 — Axelar Inc.、Oasis Pro 、Provenance Blockchain 与 J.P.Morgan Onyx 以及 Apollo 通过新…...

wpf devexpress添加TreeListControl到项目

此教程示范如何添加TreeListControl到项目和绑定控件自引用数据源: 添加数据模型 绑定tree,并添加如下字段到数据源对象: Key字段包含唯一值索引节点 Parent字段包含父索引节点 添加数据模型(Employee和Staff类)到…...

WPF创建自定义控件编译通过但是找不到资源

报错: 原因: 路径写错了: 不是这样: Source"pack://application:,,,/Controls/Styles/xTabControl.xaml" 而是这样: Source"pack://application:,,,/项目名;component/Controls/Styles/xTabControl.xaml …...

PHP 中传值与传引用的区别,什么时候传值什么时候传引用?

传值:当使用传值的方式时,函数或方法会创建原始变量的一个副本,并将该副本传递给函数或方法。在函数或方法内部,对副本的任何修改都不会影响到原始变量。当函数或方法执行完毕后,副本被销毁,不再使用。 传引…...

es安装方式

es安装方式 1.下载镜像的方式 分词器 kibana和es和容器互通的方式 docker network create es-net开始拉去镜像的方式 docker pull kibana:7.12.1运行镜像的方式 docker run -d \--name es \-e "ES_JAVA_OPTS-Xms512m -Xmx512m" \-e "discovery.typesingle-…...

苍穹外卖项目笔记(2)

1 Nginx 反向代理和负载均衡 1.1 概念 【Tips】可以看到前端请求地址和后端接口地址并不匹配,这里涉及到 nginx 反向代理 ,就是将前端发送的动态请求由 nginx 转发到后端服务器 使用 nginx 作反向代理的好处: 提高访问速度(在请…...

hive更改表结构的时候报错

现象 FAILED: ParseException line 1:48 cannot recognize input near ADD COLUMN compete_company_id in alter table statement 23/11/14 17:59:27 ERROR org.apache.hadoop.hive.ql.Driver: FAILED: ParseException line 1:48 cannot recognize input near ADD COLUMN compe…...

redis运维(六)redis-cli命令

一 redis-cli 注意: redis-cli核redis-server版本必须适配 --> 见 redis-cli --version提示: 不过一般安装服务端 redis-server 时内置了客户端 redis-cli说明: redis-cli 是 redis 的一种命令行的客户端工具备注: redis-se…...

JDK1.8 新特性(二)【Stream 流】

前言 上节我们学了 lambda 表达式,很快我就在 Flink 的学习中用到了,我学的是 Java 版本的 Flink,一开始会以为代码会很复杂,但事实上 Flink 中很多地方都用到了 函数接口,这也让我们在编写 Flink 程序的时候可以使用 …...

阿里云CentOS主机开启ipv6

目录 一、云主机开启和使用 ipv6 1、网络和交换机开启 ipv6 2、创建 / 编辑云主机,开启ipv6 3、安全组放行ipv6端口 二、使用 ipv6 地址进行 ssh 连接 三、ipv6 地址绑定域名 一、云主机开启和使用 ipv6 1、网络和交换机开启 ipv6 进入网络、交换机详情页面…...

【Git】第五篇:基本操作(添加文件)

.git目录结构 我们在前文中提过了.git目录,也明确说了我们不能手动去.git目录下创建修改等任何操作。 添加文件 我们现在已经了解到,git是一个版本控制器,可以对我们的文件进行管理。而我们需要使用git管理文件的时候,我们必须将…...

vue通过span-method合并列之后,合并列显示在中间位置,根据鼠标滑动跟随展示

当vue通过span-method合并列之后&#xff0c;出现的合并列显示在中间位置&#xff0c;但是如果页面没有分页&#xff0c;如何进行展示呢&#xff0c;难道要滑到最下面去看吗&#xff0c;下面我们来根据鼠标滑动跟随展示 没有处理的合并页面 <template> <el-table:dat…...

gRPC 四模式之 一元RPC模式

一元RPC模式 一元 RPC 模式也被称为简单 RPC 模式。在该模式中&#xff0c;当客户端调用服务器端的远程方法时&#xff0c;客户端发送请求至服务器端并获得一个响应&#xff0c;与响应一起发送的还有状态细节以及 trailer 元数据&#xff08;这部分不是默认发送的&#xff0c;…...

Java GUI实现贪吃蛇游戏

贪吃蛇是一款经典的游戏&#xff0c;玩法相对简单但富有挑战性。以下是贪吃蛇游戏的基本玩法说明&#xff1a; 目标&#xff1a;控制一条蛇&#xff0c;在游戏区域内吃到尽可能多的食物&#xff0c;使蛇身变长&#xff0c;同时避免撞到自己的身体或游戏区域的边界。 控制&…...

Vue3 使用教程

目录 一、创建vue3工程1. 使用vue-cli创建2.使用 vite 创建 二、setup使用三、ref函数四、reactive函数五、计算属性与监视属性5.1 computed函数5.2 watch函数5.3 watchEffect函数 六、自定义hook函数七、toRef函数八、shallowReactive 与 shallowRef九、readonly 与 shallowRe…...

卡方检验-python代码

故事背景 问题 卡方检验的结果怎么计算&#xff1f; 方法 python代码 import numpy as np from scipy.stats import chi2_contingency# 观察频数矩阵 observed np.array([[47, 21, 17],[63, 29, 15],[11, 2, 4]])# 进行卡方检验 chi2, p, dof, expected chi2_contingency(o…...

电磁场与电磁波part4--时变电磁场

1、采用洛伦兹条件使得矢量位 与标量位 分离在两个独立的方程中&#xff0c;且矢量位 仅与电流密度 有关&#xff0c;而标量位 仅与电荷密度 有关。 2、电磁能量守恒定理&#xff08;坡印廷定理&#xff09; 即减少的电磁能量电磁场所做的功流出的电磁能量 3、设u(r,t)是…...

电压跟随器

电压跟随器即输入多大电压就输出多大的电压&#xff0c;那其起什么作用呢&#xff0c;直接用导线不行吗&#xff1f; 下图为Multisim软件仿真结果&#xff0c;很明显输入电压6.5V输出电压使用万用表测得同为6.5V&#xff0c;验证了电压跟随器的作用。 在同相放大电路的基础上&a…...

元宇宙3D云展厅应用到汽车销售的方案及特点

为了紧紧抓住年轻消费者的需求&#xff0c;汽车销售行业也正在经历一场深刻的变革。在这个变革的前沿&#xff0c;元宇宙3D汽车展厅作为一项全新技术闪亮登场&#xff0c;打破了传统汽车销售模式的限制&#xff0c;为消费者带来了前所未有的购车体验。 元宇宙3D汽车展厅采用了尖…...

SourceTree修改Git密码

SourceTree用的好好的&#xff0c;无奈公司隔段时间强制更改电脑密码。更改完成后SourceTree无法使用&#xff0c;重新输入密码。VS的nuget也是。查资料虽然也能比较快的解决&#xff0c;但是。。。。在此转载记录下。 1. 找到 SourceTree 配置文件所在目录 ‘userhosts’ 目录…...

java中的深度复制和浅复制的BUG

刷题刷到LeetCode回溯DFS的算法题39题的时候,碰见一个Arraylist里面的bug,其中dfs函数里面的第一个if判断里面的语句 paths.add(path); path.clear();其中path是添加了path,但是添加之后path.clear(),导致原来添加到paths的path置为空数组,因为ArrayList的add只是把一个引用指…...

计算机毕业设计 基于SpringBoot的车辆网位置信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…...

集软件库、论坛、社区、工具箱、积分商城、会员体系、在线商城一体的后台系统+HBuilderX 前端软件社区

集软件库、论坛、社区、工具箱、积分商城、会员体系、在线商城等多个功能于一体的全面后台系统加上强大的HBuilderX前端软件社区&#xff0c;为用户提供了全面的应用开发和交流平台 企业猫提供了完善的后台搭建服务&#xff0c;通过该服务&#xff0c;用户可以方便地搭建出所需…...

【解决Qt编译报错:-1: warning: **.so, not found(try using -rpath or -rpath-link)】

[TOC](Qt调用opencv报错&#x1f44e; warning: libopencv_flann.so.406, needed by **//libopencv_features2d.so, not found (try using -rpath or -rpath-link)) 最终提示使用-rpath&#xff0c;于是抱着试试看的方法改写.pro文件&#xff1a; QMAKE_LIBDIR_FLAGS -Wl,-r…...

关于数据mysql ->maxwell->kafka的数据传输

个人名片&#xff1a; &#x1f405;作者简介&#xff1a;一名大三在校生&#xff0c;热爱生活&#xff0c;爱好敲码&#xff01; \ &#x1f485;个人主页 &#x1f947;&#xff1a;holy-wangle ➡系列内容&#xff1a; &#x1f5bc;️ tkinter前端窗口界面创建与优化 &…...

【linux】查看CPU的使用率

命令1&#xff1a;top top 总体系统信息 uptime&#xff1a;系统的运行时间和平均负载。tasks&#xff1a;当前运行的进程和线程数目。CPU&#xff1a;总体 CPU 使用率和各个核心的使用情况。内存&#xff08;Memory&#xff09;&#xff1a;总体内存使用情况、可用内存和缓存…...

【系统稳定性】1.6 黑屏(三)

五,QNX启动异常 qnx启动异常无疑同样是灾难级的存在。qnx是目前座舱方案中主流的存在,如果qnx存在异常会导致host或la或其他娱乐世界offline。那么导致qnx的原因有很多,相应地,我们也有很多的排查手段。 5.1 以太网连接 座舱方案中目前还是多域的设计,那么多域之间的连…...

《使用EasyExcel在Excel中增加序号列的方法》

《使用EasyExcel在Excel中增加序号列的方法》 1、简介2、正文3、核心代码4、使用方法5、效果 1、简介 在处理Excel文件时&#xff0c;有时候需要为表格增加序号列。本文介绍了如何使用Java代码实现在Excel中增加序号列的功能&#xff0c;并提供了一个示例代码。 2、正文 在处理…...

【Linux】安全审计-audit

文章目录 一、audit简介二、开启auditd服务三、相关文件四、审计规则五、审计日志查询及分析附录1&#xff1a;auditctl -h附录2&#xff1a;systemcall 类型 参考文章&#xff1a; 1、安全-linux audit审计使用入门 2、audit详细使用配置 3、Linux-有哪些常见的System Call&a…...

Linux 之查看标准错误码工具

目录 1. Linux 之查看标准错误码工具 1. Linux 之查看标准错误码工具 $ sudo apt install moreutils$ errno -l EPERM 1 不允许的操作 ENOENT 2 没有那个文件或目录 ESRCH 3 没有那个进程 EINTR 4 被中断的系统调用 EIO 5 输入/输出错误 ENXIO 6 没有那个设备或地址 E2BIG 7 参…...

Git企业开发级讲解(五)

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、bug 分⽀二、删除临时分支三、小结 一、bug 分⽀ 假如我们现在正在 dev2 分⽀上进⾏开发…...

目录自动清洗

文章目录 前言一、需求分析二、操作步骤详解&#xff08;标准章节&#xff09;1. 提取文章目录2. 更改保存目录.txt3. 二级标题前面加4个空格4. 在章字和节字后面添加一个空格5. 在页码前面加上>符号6. 代码完全体 三、进阶一&#xff08;有章无节小数二级标题&#xff09;1…...

c++实现Any类,让一个类型指向其他任意类型

在c中&#xff0c;对于以上任务&#xff0c;容易想到的是一个基类类型指向其所有派生类。因此设计一个Any类&#xff0c;其里面有一个成员基类Base类&#xff0c;其派生类可以是数据date&#xff0c;但是你不知道date到底是什么东西&#xff0c;所以需要使用模版。所以其结构为…...

os.path.join函数用法

os.path.join()是Python中用于拼接文件路径的函数&#xff0c;它可以将多个字符串拼接成一个路径&#xff0c;并且会根据操作系统的规则自动使用合适的路径分隔符。 注&#xff1a;Linux用的是/分隔符&#xff0c;而Windows才用的是\。 该函数属于os.path模块&#xff0c;因此在…...

vscode Prettier配置

常用配置项&#xff1a; .prettierrc.json 是 Prettier 格式化工具的配置文件 {"printWidth": 200, // 指定行的最大长度"tabWidth": 2, // 指定缩进的空格数"useTabs": false, // 是否使用制表符进行缩进&#xff0c;默认为 false"singl…...

MLC-LLM 支持RWKV-5推理以及对RWKV-5的一些思考

自从2023年3月左右&#xff0c;chatgpt火热起来之后&#xff0c;我把关注的一些知乎帖子都记录到了这个markdown里面&#xff0c;&#xff1a;https://github.com/BBuf/how-to-optim-algorithm-in-cuda/tree/master/large-language-model-note &#xff0c;从2023年3月左右到现…...

WPF中行为与触发器的概念及用法

完全来源于十月的寒流&#xff0c;感谢大佬讲解 一、行为 (Behaviors) behaviors的简单测试 <Window x:Class"Test_05.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winf…...

2023-2024华为ICT大赛-计算赛道-广东省省赛初赛-高职组-部分赛题分析【2023.11.18】

2023-2024华为ICT大赛 计算赛道 广东省 省赛 初赛 高职组 部分赛题 分析【2023.11.18】 文章目录 单选题tpcds模式中存在表customer&#xff0c;不能成功删除tpcds模式是&#xff08; &#xff09;以下哪个函数将圆转换成矩形&#xff08; &#xff09;下列哪个选项表示依赖该D…...

『 MySQL数据库 』数据库之表的约束

文章目录 前言 &#x1f4bb;空属性约束(非空约束) &#x1f516;default约束(默认值约束,缺省) &#x1f516;列描述comment &#x1f516;数字类型长度zerofill &#x1f516;主键primary key &#x1f516;&#x1f4cd; 追加主键 &#x1f4cd;&#x1f4cd; 删除主键 &…...

flink 8081 web页面无法被局域网内其他机器访问

实现 http://localhost:8081/#/overview 可以被局域网其他机器访问...

零基础安装分布式数据服务注册系统

一、先安装VM虚拟机&#xff0c;安装最新的ubuntu22系统&#xff0c; 先安装mysql&#xff0c; sudo apt install mysql-server sudo mysql_secure_installation 根据自己需求选择 密码安全级别时&#xff0c;选择n 删除匿名用户&#xff1f;&#xff08;按y|Y表示是&…...

2023最新最全【OpenMV】 入门教程

1. 什么是OpenMV OpenMV 是一个开源&#xff0c;低成本&#xff0c;功能强大的 机器视觉模块。 OpenMV上的机器视觉算法包括 寻找色块、人脸检测、眼球跟踪、边缘检测、标志跟踪 等。 以STM32F427CPU为核心&#xff0c;集成了OV7725摄像头芯片&#xff0c;在小巧的硬件模块上&a…...

【Java并发编程三】线程的基本使用一

基本使用一 将类继承Runnable&#xff0c;创建Thread&#xff0c;然后调用Thread的start方法启动&#xff1a; package myTest;public class myTest implements Runnable {public static void main(String[] args) throws InterruptedException {myTest test new myTest();Th…...

企业邮箱认证指南:安全与高效的邮箱认证方法

企业邮箱是专门为企业提供的电子邮件服务&#xff0c;安全性和专业性更高。在开始使用企业邮箱之前&#xff0c;很多人会有一些问题&#xff0c;比如企业邮箱需要认证吗、如何开通企业邮箱&#xff0c;以及哪款企业邮箱好。 1、企业邮箱在使用前需要认证吗&#xff1f; 答案是肯…...

Django(八、如何开启事务、介绍长见的字段类型和参数)

文章目录 ORM事务操作开启事务 常见的字段类型和参数ORM还支持用户自定义字段类型ORM常用字段参数外键相关参数 ORM事务操作 引入事务 1.事务的四大特性原子性、一致性、隔离性、持久性 2.相关SQL关键字start transaction;rollback;commit;savapoint; 3.相关重要概念脏读、幻…...

机器学习第5天:多项式回归与学习曲线

文章目录 多项式回归介绍 方法与代码 方法描述 分离多项式 学习曲线的作用 场景 学习曲线介绍 欠拟合曲线 示例 结论 过拟合曲线 示例 ​结论 多项式回归介绍 当数据不是线性时我们该如何处理呢&#xff0c;考虑如下数据 import matplotlib.pyplot as plt impo…...

MSYS2介绍及工具安装

0 Preface/Foreword 1 MSYS2 官网&#xff1a;MSYS2...

Swift开发中:非逃逸闭包、逃逸闭包、自动闭包的区别

1. 非逃逸闭包&#xff08;Non-Escaping Closure&#xff09; 定义&#xff1a;默认情况下&#xff0c;在 Swift 中闭包是非逃逸的。这意味着闭包在函数结束之前被调用并完成&#xff0c;它不会“逃逸”出函数的范围。内存管理&#xff1a;由于闭包在函数返回前被调用&#xf…...

栈结构应用-进制转换-辗转相除法

// 定义类class Stack{// #items [] 前边加#变为私有 外部不能随意修改 内部使用也要加#items []pop(){return this.items.pop()}push(data){this.items.push(data)}peek(){return this.items[this.items.length-1]}isEmpty(){return this.items.length 0}size(){return th…...