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

大语言模型LLM入门篇

大模型席卷全球,彷佛得模型者得天下。对于IT行业来说,以后可能没有各种软件了,只有各种各样的智体(Agent)调用各种各样的API。在这种大势下,笔者也阅读了很多大模型相关的资料,和很多新手一样,开始脑子里都是一团乱麻,随着相关文章越读越多,再进行内容梳理,终于理清了一条清晰的脉络。笔者希望通过三篇文章总结(入门篇、原理篇和应用篇)将思路写下来,以便跟我一样的新手读者快速了解大模型的方方面面。在这里,笔者先强调一下,本系列文章的深度有限,只是个人对大模型知识脉络的梳理,同时也会借鉴一下同行的博客内容充实本文,文末将会注明参考来源。

在开始阅读文章之前,有几个问题读者可以先思考一下:

  • 什么是大模型?
  • 大模型最终要解决的问题是什么?

大模型LLM与人工智能AI

提到大模型(全名,大语言模型,LLM,Large Language Model),绕不开人工智能(AI,Artificial Intelligence)这个概念。

目前业界对于AI的定义有很多,但有一个令我印象深刻的说法:让机器像人一样阅读、写作和交流。通过最近几年AGI的高速发展,AI不仅仅能写作了,还能进行各种各样的创作了。所以,笔者认为这个说明可以进一步完善:人工智能就是要让机器像人一样阅读、创作和交流

  • 阅读:机器能够像人一样接收各种各样的输入,并能够理解这些输入;
  • 创作:机器能够像人一样进行创作输出,不仅仅只是写作,还包括:绘画、视频创作等等;
  • 交流:在上述理解输入和创作输出的基础上,就自然而然可以实现机器像人一样交流,并且在创作输出能力上,可能比自然人更加优势。

要实现上述描述的人工智能,首先就需要让机器理解人类的输入,人类的输入方式比较多,语言和文字首当其冲。要让机器理解语言和文字,就需要进行语言建模,语言建模的输出就是语言模型LM(Language Model)。

机器通过分析学习大量人类语言和文字,最终获得一个语言模型。通过该模型,机器好像听懂了用户输入一样,对用户的输入进行对应的输出。而用户通过得到的机器输出,也感觉机器理解了自己的意思。但实际这里的听懂和理解都是机器的运算。

那么,这么厉害的模型是怎么来的呢?

大模型LLM的发展与定义

和很多有故事的人的名字一样,大模型一开始并不叫大模型。

大模型的发展经历了4个阶段:

  • 统计语言模型
    SLM,Statistical Language Model,统计语言模型,基于统计学习方法开发,其基本思想是基于马尔可夫假设建立词预测模型。这种模型常见于我们的全文检索和推荐系统中,通过统计词频等信息来做统计预测,这种模型通常受到维数灾难的困扰。

  • 神经语言模型
    NLM,Neutral Language Model,通过神经网络,如循环神经网络(RNN),来描述单词序列的概率。该模型引入了词的分布式表示这一概念,并在聚合上下文特征(即分布式词向量)的条件下构建词预测函数。word2vec提出了构建简化的浅层神经网络来学习分布式单词表示的方法,这些表示在各种NLP任务中被证明非常有效。

  • 预训练语言模型
    PLM,Pre-training Language Model,基于自注意力机制的高度并行化Transformer架构,在大规模无标签语料库上使用专门设计的预训练任务。该模型确立了“预训练和微调”学习范式。在这个范式下,通常需要对PLM进行微调以适配不同的下游任务。

  • 大语言模型
    LLM,Large Language Model。研究人员发现,扩展PLM(扩展模型大小或数据大小)通常会提高下游任务的模型性能,许多研究通过训练越来越大的PLM来探索性能极限。随后发现,当模型参数达到某一极限之后,模型在解决一系列复杂任务中展示了惊人的能力,这种能力被称为【涌现能力】。
    关于涌现能力,业界目前还有很多问题待研究解决。比如:模型参数具体达到多少涌现能力会出现?大模型为什么会突然出现涌现能力等。

通过大模型的发展阶段描述,本节最后总结一下大模型LLM的定义。
大模型是一种采用Transformer架构,模型参数达到百亿或千亿级的预训练模型。

大模型LLM的分类

目前业界涌现了非常多的大模型,也看了网上一些关于对大模型分类归纳的文章,都非常不错,本节主要是对网上的分类信息进行总结。

本节将从以下三个方面来对大模型进行分类:

根据算法原理分类

大模型的架构基本都是Transformer,而Transformer详细的结构在google发布的论文《Attention Is All You Need》中进行了描述,Transformer结构中有两个非常重要的部件:Encoder和Decoder,如下图所示:

在这里插入图片描述

根据对Transformer结构的裁剪,可以将目前的大模型分为三类:

  • Encoder-Only:裁剪了Decoder部件,代表模型BERT,到了2020年之后,这类技术基本已经不再发展。
  • Encoder-Decoder:没有裁剪任何部件,代表模型T5。
  • Decoder-Only:裁剪了Encoder部件,代表模型GPT,目前主导LLM领域的发展。

下面是一张结合了大模型出现时间以及所属架构分类的图片,分别详细阐述了各个分类有哪些代表模型,以及模型出现的时间。

在这里插入图片描述

根据输入内容分类

根据输入内容不同,可以分为以下三类:

  • 语言大模型

指在自然语言处理(Natural Language Processing,NLP)领域中的一类大模型,通常用于处理文本数据和理解自然语言。
这类大模型的主要特点是它们在大规模语料库上进行了训练,以学习自然语言的各种语法、语义和语境规则。
例如:GPT 系列(OpenAI)、Bard(Google)、文心一言(百度)。

  • 视觉大模型

指在计算机视觉(Computer Vision,CV)领域中使用的大模型,通常用于图像处理和分析。
这类模型通过在大规模图像数据上进行训练,可以实现各种视觉任务,如图像分类、目标检测、图像分割、姿态估计、人脸识别等。
例如:VIT 系列(Google)、文心UFO、华为盘古 CV、INTERN(商汤)。

  • 多模态大模型

指能够处理多种不同类型数据的大模型,例如文本、图像、音频等多模态数据。
这类模型结合了 NLP 和 CV 的能力,以实现对多模态信息的综合理解和分析,从而能够更全面地理解和处理复杂的数据。
例如:DingoDB 多模向量数据库(九章云极 DataCanvas)、DALL-E(OpenAI)、悟空画画(华为)、midjourney。

根据应用领域分类

按照应用领域,大模型主要可以分为 L0、L1、L2 三个层级:

  • 通用大模型 L0:
    是指可以在多个领域和任务上通用的大模型。
    它们利用大算力、使用海量的开放数据与具有巨量参数的深度学习算法,在大规模无标注数据上进行训练,以寻找特征并发现规律,进而形成可“举一反三”的强大泛化能力,可在不进行微调或少量微调的情况下完成多场景任务,相当于 AI 完成了“通识教育”。

  • 行业大模型 L1:
    是指那些针对特定行业或领域的大模型。
    它们通常使用行业相关的数据进行预训练或微调,以提高在该领域的性能和准确度,相当于 AI 成为“行业专家”。

  • 垂直大模型 L2:
    是指那些针对特定任务或场景的大模型。
    它们通常使用任务相关的数据进行预训练或微调,以提高在该任务上的性能和效果。

读完本文,文章开篇的两个问题应该都有答案了。感谢各位读者的关注、收藏和点赞,为后续原理篇和应用篇的编写提供动力!

参考文献

  • 大模型基本概念和分类介绍总结
  • 一张图总结大语言模型的技术分类、现状和开源情况
  • 《Attention is all you need》

相关文章:

大语言模型LLM入门篇

大模型席卷全球,彷佛得模型者得天下。对于IT行业来说,以后可能没有各种软件了,只有各种各样的智体(Agent)调用各种各样的API。在这种大势下,笔者也阅读了很多大模型相关的资料,和很多新手一样&a…...

Alibaba Cloud Linux 安装mysql及注意事项

1.安装mysql #1.运行以下命令,更新YUM源。 sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm#2.(可选)当操作系统为Alibaba Cloud Linux 3时,执行如下命令,安装MySQL所需的库文件…...

设计模式——工厂模式(Factory)

工厂模式(Factory Pattern)是一种常用的设计模式,它提供了一种封装创建对象过程的方法。通过工厂方法或工厂类,你可以将对象的创建与使用分离,使得代码更加灵活和可维护。工厂模式主要分为三种类型:简单工厂…...

NVIDIA Omniverse Cloud API支持数字孪生开发,可解决复杂AI问题 | 最新快讯

在全球范围内,价值超过 50 万亿美元的重工业市场,正在竞相实现数字化。 基于此,为帮助数字孪生技术更好地赋能千行百业,AI 企业 NVIDIA 在架构底层算力的同时,也搭建了 NVIDIA AI Enterprise 和 Omniverse 两大平台。 …...

智慧电力,山海鲸引领

随着科技的不断进步和电力行业的快速发展,智能化管理已成为电力行业的重要趋势。在这一背景下,山海鲸智慧电力管理系统凭借其卓越的性能和创新的功能,为电力行业带来了革命性的改变。 山海鲸智慧电力管理系统是一套集数据采集、分析、展示于…...

【文章转载】ChatGPT 提示词十级技巧: 从新手到专家

学习了微博网友宝玉xp老师《ChatGPT 提示词十级技巧: 从新手到专家》 个人学习要点: 1、关于提示中避免使用否定句,播主说:“没有人能准确解释为什么,但大语言模型在你告诉它去做某事时,表现似乎比你让它不做某事时更…...

类的生命周期

目录 一、概述 二、加载阶段 三、连接阶段 连接阶段之验证 连接阶段之准备 连接阶段之解析 四、初始化阶段 五、总结 一、概述 类的生命周期描述了一个类加载、使用、卸载的整个过程。 也是其他知识的基础: 类的生命周期: 二、加载阶段 加载(Loading…...

AI赋能分层模式,解构未来,智领风潮

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 🚀 转载自热榜文章🔥:探索设计模式的魅力:AI赋能分…...

Linux平台下muduo网络库源码编译安装与测试,包含boost库的安装与测试!!!!

最近在学习muduo网络库,先来记录一下如何在Linux平台下编译安装以及测试muduo网络库源码。 获取源码 muduo库源码github仓库地址: https://github.com/chenshuo/muduo 在linux系统下,输入 git clone https://github.com/chenshuo/muduo.git…...

MATLAB 函数

MATLAB 函数 函数是一起执行任务的一组语句。在MATLAB中,函数是在单独的文件中定义的。文件名和函数名应该相同。 函数在其自己的工作空间(也称为本地工作空间)中对变量进行操作,与在MATLAB命令提示符下访问的工作空间&#xff0…...

spring高级篇(七)

1、异常处理 在DispatcherServlet中,doDispatch(HttpServletRequest request, HttpServletResponse response) 方法用于进行任务处理: 在捕获到异常后没有立刻进行处理,而是先用一个局部变量dispatchException进行记录,然后统一由…...

根据token获取了username后,能否在其他地方使用这个获取的username,或者在其他地方如何获取username?

当然可以在其他地方使用获取到的用户名。一旦你从token中获取到用户名,你可以将其存储在能够在整个应用程序中访问的地方。 在你的代码中,你从token中获取用户名的地方是这里: String username getUsernameFromToken(token);在这行之后&am…...

值模板参数Value Template Parameters

模板通常使用类型作为参数&#xff0c;但它们也可以使用值。使用类型和可选名称声明一个值模板参数&#xff0c;方式与声明函数参数类似。值模板参数仅限于可以指定编译时常量的类型是bool、char、int等&#xff0c;但不允许使用浮点类型、字符串字面值和类。 #include <io…...

Splashtop 荣获 TrustRadius 颁发的“2024年度最受欢迎奖”

2024年5月8日 加利福尼亚州库比蒂诺 Splashtop 在全球远程访问和支持解决方案领域处于领先地位&#xff0c;该公司正式宣布将连续第三年荣获远程桌面和远程支持类别的“TrustRadius 最受欢迎奖”。Splashtop 的 trScore 评分高达8.6分&#xff08;满分10分&#xff09;&#x…...

使用python将`.mat`文件转换成`.xlsx`格式的Excel文件!!

要将.mat文件转换成.xlsx格式的Excel文件 第一步&#xff1a;导入必要的库第二步&#xff1a;定义函数来转换.mat文件第三步&#xff1a;调用函数注意事项 要将.mat文件转换成.xlsx格式的Excel文件&#xff0c;并保持文件名一致&#xff0c;你可以使用scipy.io.loadmat来读取.m…...

python基础 面向练习学习python1

python基础 面向练习学习python1 1. 电话查询问题描述1. 问题分析1. 输入输出分析2. 需求分析&#xff1a;将题目的数据存储并查询2. 所需知识&#xff1a; python 数据存储的类型3. 确定数据存储类型4. 如何书写代码拓展 从键盘中添加或删除联系人5. 回到数据查询 代码拓展 功…...

Ubuntu安装Docker和Docker Compose

文章目录 Docker安装Docker Compose安装示例前端Dockerfile示例 Docker官网&#xff1a; https://docs.docker.com/ Docker镜像仓库&#xff1a; https://hub.docker.com/ Docker安装 安装curl(可选) 如果已经安装了curl&#xff0c;则跳过此步骤 # 更新包缓存 sudo apt u…...

【linux软件基础知识】-死锁问题

死锁问题 当两个或多个线程由于每个线程都在等待另一个线程持有的资源而无法继续时,就会发生死锁 如下图所示, 在线程 1 中,代码持有了 L1 上的锁,然后尝试获取 L2 上的锁。 在线程 2 中,代码持有了 L2 上的锁,然后尝试获取 L1 上的锁。 在这种情况下,线程 1 已获取 L…...

C#面:简要谈对微软.NET 构架下 remoting 和 webservice 两项技术的理解以及实际中的应用

在微软 .NET 框架下&#xff0c;Remoting 和 WebService 是两种常用的技术&#xff0c;用于实现分布式应用程序的通信和交互。 Remoting&#xff08;远程调用&#xff09;&#xff1a; Remoting是一种用于在不同应用程序域之间进行通信的技术。它允许对象在不同的进程或计算机…...

《21天学通C++》(第十九章)STL集合类(set和multiset)

为什么需要set和multiset: 1.自动排序&#xff1a; set和multiset会自动按照元素的值进行排序。 2.快速查找&#xff1a; 由于元素是有序的&#xff0c;set和multiset可以提供对元素的快速查找&#xff0c;通常是基于二叉搜索树实现的&#xff0c;查找操作的时间复杂度为O(log …...

CSDN上是不是有机器人点赞和收藏?

我在CSDN上写作&#xff0c;主要是本来是记录学习工作中的一些知识点&#xff0c;看得人不多本来就能预想到的。 但是今天发现五一写的一篇博客&#xff0c;出现了很奇怪的阅读、点赞、收藏数。只有2个人阅读&#xff0c;但是有8个点赞&#xff0c;还有5个收藏。 我不禁怀疑CS…...

头歌C语言课程实验(递归函数、嵌套函数)

第1关&#xff1a;递归求阶乘数列 任务描述 题目描述&#xff1a;用递归求Sn1!2!3!4!5!…n!之值&#xff0c;其中n是一个数字。 相关知识&#xff08;略&#xff09; 编程要求 请仔细阅读右侧代码&#xff0c;结合相关知识&#xff0c;在Begin-End区域内进行代码补充。 输…...

树莓派的几种登录方式、及登录失败解决方式

使用TF卡安装树莓派的系统后&#xff0c;可以通过编辑TF卡里的文件来设置和启用 “ VNC ” 、“ SSH ” 和 “ 串口 ” 功能。不过&#xff0c;在使用中打开VNC和SSH可能并不直观或方便&#xff0c;因为这些服务通常在树莓派的系统内部配置和启动。但你可以通过以下步骤来设置和…...

数据库中视图的知识点

视图&#xff08;子查询&#xff09;&#xff1a;是从一个或多个表导出的虚拟的表&#xff0c;其内容由查询定义。具有普通表的结构&#xff0c;但是不实现数据存储。对视图的修改&#xff1a;单表视图一般用于查询和修改&#xff0c;会改变基本表的数据&#xff0c;多表视图一…...

aardio封装库) 微软开源的js引擎(ChakraCore)

前言 做爬虫肯定少不了JavaScript引擎的使用&#xff0c;比如在Python中现在一般用pyexecjs2来执行JavaScript代码&#xff0c;另外还有一些其他执行JavaScript的库&#xff1a; https://github.com/eight04/node_vm2: rpc调用nodejs&#xff0c;需要安装nodehttps://github.…...

LeetCode-hot100题解—Day6

原题链接&#xff1a;力扣热题-HOT100 我把刷题的顺序调整了一下&#xff0c;所以可以根据题号进行参考&#xff0c;题号和力扣上时对应的&#xff0c;那么接下来就开始刷题之旅吧~ 1-8题见LeetCode-hot100题解—Day1 9-16题见LeetCode-hot100题解—Day2 17-24题见LeetCode-hot…...

【Linux】gcc/g++的使用

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; Linux &#x1f389;其它专栏&#xff1a; C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好&#xff0c;本片文章将会讲解Linux中gcc/g使用的相关内容。 如果看到最后您觉得这篇文章写得不错…...

2024-5-3学习笔记 虚拟继承原理

目录 原理 总结 前面提到过&#xff0c;解决菱形继承产生的数据二义性问题和数据冗余&#xff0c;就需要用到虚拟继承&#xff0c;关于它是如何解决的&#xff0c;我们来一起研究。 class Person { public :string _name ; // 姓名 }; class Student : virtual public Perso…...

C语言什么是“野指针”?

一、问题 “野指针”是⼀个⽐较陌⽣的术语&#xff0c;那么它到底是什么呢&#xff1f; 二、解答 当程序⾥声明了⼀个指针⽽又没有给这个指针赋值&#xff0c;使其指向⼀个地址时&#xff0c;这样的指针就称为“野指针”。 “野指针”会随意地指向⼀个地址。当对这个指针进⾏操…...

LeetCode--所有质数、质数对

1.0 Q: 输出 100 以内所有质数 1.1 /* 第一层循环控制检查到哪个数* 第二层通过遍历除以每个比他小的数的方式,检查每个数是不是质数* 由于要遍历检查,设置一个标记,只要任意一次循环可以整除,我们就设置该标记为不是质数 */boolean isPrime true;for (int i 2; i < 100…...

JavaScript异步编程——05-回调函数

我们在前面的文章《JavaScript 基础&#xff1a;异步编程/单线程和异步》中讲过&#xff0c;Javascript 是⼀⻔单线程语⾔。早期我们解决异步场景时&#xff0c;⼤部分情况都是通过回调函数来进⾏。 &#xff08;如果你还不了解单线程和异步的概念&#xff0c;可以先去回顾上一…...

JAVA基础之jsp标准标签

jsp动作标签实现实例化一个实体类 <jsp:useBean id"标识符" class"java类名" scope"作用范围"> 传统的java方式实例化一个实体类 Users user new Users(); <%%> id: 对象名 * class:类 创建对象时,完全限定名(包名…...

VM16激活码以及连接centos7过慢的问题

一、激活码 任选一个&#xff0c;直到能用为止 ZF3R0-FHED2-M80TY-8QYGC-NPKYF YF390-0HF8P-M81RQ-2DXQE-M2UT6 ZF71R-DMX85-08DQY-8YMNC-PPHV8 FA1M0-89YE3-081TQ-AFNX9-NKUC0 二-连接centos7过慢的问题 先备份/etc/ssh/sshd_config,备份命令为 cp /etc/ssh/sshd_config /etc/…...

MySQL 迁移到 Oracle 需要注意的问题

MySQL /Oracle 常见问题 1. VARCHAR/VARCHAR2/NVARCHAR 差异&#xff1a; MySQL 的 VARCHAR 是以字符为单位计算的&#xff0c;Oracle 的 VARCHAR 是 以字节为单位计算的&#xff0c;所以对中文的存储 Oracle 是 MySQL 的 2 倍 (GBK)和 3 倍(UTF8) 2. NULL 差异 A. MySQL…...

【数字经济】上市公司供应链数字化数据(2000-2022)

数据来源&#xff1a; 时间跨度&#xff1a;2000-2022年 数据范围&#xff1a;各上市企业 数据指标&#xff1a; 样例数据&#xff1a; 参考文献&#xff1a;[1]刘海建,胡化广,张树山,等.供应链数字化的绿色创新效应[J].财经研究,2023,49(03):4-18. 下载链接&#xff1a;https:…...

通过AOP实现项目中业务服务降级功能

最近项目中需要增强系统的可靠性&#xff0c;比如某远程服务宕机或者网络抖动引起服务不可用&#xff0c;需要从本地或者其它地方获取业务数据&#xff0c;保证业务的连续稳定性等等。这里简单记录下业务实现&#xff0c;主要我们项目中调用远程接口失败时&#xff0c;需要从本…...

LeetCode:盛最多水的容器

文章收录于LeetCode专栏 盛最多水的容器 给你n个非负整数a1&#xff0c;a2&#xff0c;…&#xff0c;an&#xff0c;每个数代表坐标中的一个点(i, ai) 。在坐标内画 n 条垂直线&#xff0c;垂直线i的两个端点分别为(i, ai) 和 (i, 0)。找出其中的两条线&#xff0c;使得它们与…...

阿里云 OSS桶对象存储攻防

目录 Bucket权限配置错误-公开访问 Bucket桶爆破 特定的Bucket策略配置 Bucket Object遍历...

外网禅道配置

exportfs -avrf 修改代码&#xff0c;避免启动太慢&#xff1a;vi /opt/zbox/bin/zbox.php 启动和停止 /opt/zbox/zbox start /opt/zbox/zbox stop...

MM模块学习一(供应商创建,物料类型的定义及功能)

物料管理流程&#xff1a; 源头&#xff1a;采购需求->采购申请 MRP&#xff1a;物料需求计划。运行物料需求计划的结果&#xff0c;根据物料的性质来判断是外购&#xff08;采购申请&#xff09;或者是生产&#xff08;计划订单->生产订单&#xff09;。 采购申请&am…...

玩comfyui踩过的坑之使用ComfyUI_Custom_NODES_ALEKPET翻译组件问题

环境&#xff1a; 秋叶安装包&#xff0c;安装ComfyUI_Custom_NODES_ALEKPET组件或者直接下载网盘中的包&#xff0c;直接解压包到comfyui根目录/custom_nodes/&#xff0c;重启后&#xff0c;按指导文件操作。 注意&#xff1a;网盘指导包中有配置好的流程json文件&#xff0…...

(类)偏特化Partial Specialization

当编写一个模板特化&#xff0c;涉及部分但不是全部模板参数时&#xff0c;它被称为偏特化&#xff08;Partial Specialization&#xff09;。【注意&#xff0c;偏特化是针对类模板而言&#xff0c;函数模板不可偏特化&#xff0c;只能全特化】 偏特化是C模板编程中的一种技术…...

TypeScript 基础学习笔记:interface 与 type 的异同

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 TypeScript 学习笔记&#xff1a;interface 与 type 的异同&#x1f3a3; 引言&#x1f680; 快速入门1️⃣ Interface&#xff08;接口&#xff09;&#x1f4cb; 定义&#x1f91d; 实现&#x1f4a1; 特点 2️⃣ Type Al…...

【管理咨询宝藏95】SRM采购平台建设内部培训方案

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏95】SRM采购平台建设内部培训方案 【格式】PDF版本 【关键词】SRM采购、制造型企业转型、数字化转型 【核心观点】 - 重点是建设一个适应战略采…...

第七届机电、机器人与自动化国际会议(ICMRA 2024)即将召开!

第七届机电、机器人与自动化国际会议&#xff08;ICMRA 2024&#xff09;将于2024年9月20日-22日在中国武汉举行。ICMRA 2024为各国专家学者提供一个学术交流的平台&#xff0c;讨论机电、机器人和自动化领域的最新研究成果和未来的研究方向&#xff0c;旨在能够建立起国家间&a…...

【智能楼宇秘籍】一网关多协议无缝对接BACnet+OPC+MQTT

在繁华的都市中心&#xff0c;一座崭新的大型商业综合体拔地而起&#xff0c;集购物、餐饮、娱乐、办公于一体&#xff0c;是现代城市生活的缩影。然而&#xff0c;这座综合体的幕后英雄——一套高度集成的楼宇自动化系统&#xff0c;正是依靠多功能协议网关&#xff0c;实现了…...

leetCode68. 文本左右对齐

基本思路&#xff1a; leetCode68. 文本左右对齐 代码 class Solution { public:vector<string> fullJustify(vector<string>& words, int maxWidth) {vector<string> res;for(int i 0; i < words.size(); i){ // 枚举有多少个单词int j i 1; //…...

搜狗输入法 PC端 v14.4.0.9307 去广告绿化版.

软件介绍 搜狗拼音输入法作为众多用户计算机配置的必备工具&#xff0c;其功能的全面性已为众所周知&#xff0c;并且以其高效便捷的输入体验受到广大使用者的青睐。然而&#xff0c;该软件在提供便利的同时&#xff0c;其内置的广告元素常常为用户带来一定的干扰。为此&#…...

【汇总】虚拟机网络不通(Xshell无法连接虚拟机)排查方法

搜索关键字关键字关键字&#xff1a;虚拟机虚拟机虚拟机连接失败、虚拟机无法连接、Xshell连接失败、ping baidu.com失败、静态IP设置 Kali、CentOS、远程连接 描述&#xff1a;物理机无法连接虚拟机&#xff1b;虚拟机无法访问百度&#xff0c;虚拟机无法访问baidu.com 虚拟机…...

C++开发基础之函数参数传递的几种类型

一、前言 在C中&#xff0c;接口指针或类对象的函数参数传递是一个常见的做法&#xff0c;特别是在需要支持多态或动态绑定时。这里将介绍如何传递接口指针或类对象作为函数参数。 二、函数参数传递的几种类型 抽象类&#xff08;接口&#xff09;的实例只能通过指针或引用传…...

AndroidStudio集成高德地图后出现黑屏并报错

报错内容为&#xff1a;No implementation found for void com.autonavi.base.ae.gmap.GLMapEngine.nativeMainThreadTrigger(int, long) (tried Java_com_autonavi_base_ae_gmap_GLMapEngine_nativeMainThreadTrigger and Java_com_autonavi_base_ae_gmap_GLMapEngine_nativeM…...

EIP-4844对Polygon的意义

1. 引言 Dencun 升级引入了L2新资源&#xff0c;并降低了与calldata相关的交易手续费。 本文要点为&#xff1a; EIP-4844 引入了 blobspace —— 一种用于高效管理大型二进制对象 (large binary objects&#xff0c;BLOB) 的数据库存储概念。Blobs 将降低rollups的交易成本…...

vue props接收组件数据(类型配置)

"props"接收的常见传参类型有以下几种&#xff1a;String&#xff1a;字符串类型&#xff0c;Number&#xff1a;数字类型&#xff0c;Boolean&#xff1a;布尔类型&#xff0c;Array&#xff1a;数组类型&#xff0c;Object&#xff1a;对象类型&#xff0c;Date&am…...

代码随想录——二叉树的最大深度(Leetcode104)

题目链接 层序遍历 当遍历到二叉树每一层最后一个节点时&#xff0c;depth /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* …...

使用C++11实现Golang的defer功能

本文主要用C11标准来实现Golang的defer功能。 背景 目前笔者的主力语言是Golang&#xff0c;其次是C&#xff0c;再次是JS、Delphi。在Golang工程中大量使用了defer关键字实现函数的延迟调用。如打开文件的出错处理。近来在C工程中遇到类似需求&#xff0c;在函数返回时进行某…...

Flutter 中的 Icon 小部件:全面指南

Flutter 中的 Icon 小部件&#xff1a;全面指南 Flutter 提供了多种方式来展示图标&#xff0c;其中 Icon 是最常用的小部件之一。它不仅用于展示简单的图标&#xff0c;还可以与文本、按钮和其他小部件组合使用&#xff0c;以增强用户界面的交互性。本篇文章将详细介绍 Icon …...