探秘Nutch:揭秘开源搜索引擎的工作原理与无限应用可能(一)

本系列文章简介:

        本系列文章将带领大家深入探索Nutch的世界,从其基本概念和架构开始,逐步深入到爬虫、索引和查询等关键环节。通过了解Nutch的工作原理,大家将能够更好地理解搜索引擎背后的原理,并有能力利用Nutch构建自己的搜索引擎。 欢迎大家订阅《Java技术栈高级攻略》专栏,一起学习,一起涨分!

目录

一、引言

1.1 Nutch的起源与发展

1.2 Nutch在开源搜索引擎领域的地位

1.3 Nutch的工作原理概览

二、Nutch的基本组成与工作流程

2.1 爬虫部分

2.1.1 网页抓取与解析

2.1.2 URL去重与筛选

2.1.3 链接分析与提取

2.2 索引部分

2.2.1 文本处理与分词

2.2.2 倒排索引的建立

2.2.3 索引的存储与管理

2.3 查询部分

2.3.1 用户查询接口与交互

2.3.2 查询语句的分析与处理

2.3.3 结果排序与展示

三、Nutch的工作原理深入解析

四、Nutch的无限应用可能

五、Nutch的优化与扩展

六、结论与展望

七、结语


一、引言

1.1 Nutch的起源与发展

Nutch是一个开源的Web搜索引擎,它的起源可以追溯到2002年。最初,Nutch是由美国加州大学伯克利分校的Doug Cutting开发的一个研究项目。Doug Cutting是一个知名的开源软件开发者,他后来还负责开发了Apache Hadoop。

Nutch最初的目标是建立一个可扩展的、高效的Web搜索引擎。这个搜索引擎基于分布式计算的原理,可以处理大规模的Web数据。Nutch的设计灵感来自于Google的PageRank算法和Lucene搜索引擎。

Nutch的发展经历了多个版本的迭代和改进。最初的版本是基于Java语言开发的,后来又加入了C++和Python等其他编程语言的支持。Nutch还引入了一些新的技术和工具,如分布式爬虫、页面解析、索引构建等。

随着时间的推移,Nutch逐渐成为一个成熟的搜索引擎平台,其功能也得到了大幅扩展。目前的Nutch版本已经具备了支持自定义插件、多种搜索算法、分布式计算等特性。

Nutch的成功也激发了更多人对搜索引擎的研究和开发的兴趣。它为搜索引擎的开源开发提供了一个重要的范例,同时也为后来的搜索引擎项目,如Elasticsearch和Apache Solr等提供了借鉴和参考。

1.2 Nutch在开源搜索引擎领域的地位

Nutch是一个开源的网络爬虫和搜索引擎软件。它由Apache Lucene项目的创始人Doug Cutting开发,并于2002年发布。Nutch旨在提供一个可扩展的、高度可配置的搜索引擎解决方案。它支持多种网络爬取策略和搜索算法,可以用于构建各种类型的搜索引擎。

在开源搜索引擎领域,Nutch在一定程度上被视为一个重要的参考和基础平台。Nutch具有以下特点和优势:

  1. 开源:Nutch是一个完全开源的项目,可以免费使用和修改。这使得它成为那些希望建立自己搜索引擎的开发者和研究人员的理想选择。

  2. 可扩展性:Nutch具有高度可扩展的架构,可以轻松处理大规模的网页爬取和索引。它支持分布式计算和存储,可以在多台机器上运行,从而实现更高的处理能力和更快的响应时间。

  3. 灵活性:Nutch提供了丰富的配置选项,允许用户根据自己的需求定制搜索引擎的行为。它支持多种网络爬取策略、索引算法和查询处理方式,可以根据具体的应用场景进行优化。

  4. 社区支持:Nutch是一个活跃的开源项目,拥有一个强大的用户和开发者社区。这个社区提供了丰富的文档、教程和讨论区,可以帮助用户解决问题和分享经验。

尽管Nutch在开源搜索引擎领域有一定的影响力和地位,但它并不是目前市场上最流行的搜索引擎。它主要被用于学术研究、技术实验和定制化搜索引擎开发。对于那些寻求成熟和商业化的搜索引擎解决方案的企业,通常会选择其他更成熟和稳定的商业搜索引擎产品,如Elasticsearch、Apache Solr等。

1.3 Nutch的工作原理概览

Nutch是一个开源网络搜索引擎工具,它的工作原理可以概括为以下几个步骤:

  1. 网页抓取:Nutch从互联网上抓取网页,通过HTTP协议发送请求获取网页内容。它可以同时抓取多个网页,并支持分布式抓取。

  2. 网页解析:Nutch将抓取到的网页进行解析,提取出网页中的文本内容、超链接和其他标记信息。

  3. 网页索引:Nutch使用倒排索引的方式将解析后的网页内容进行索引。这使得用户可以通过关键字搜索来找到相关的网页。

  4. 搜索处理:当用户提交搜索请求时,Nutch会根据用户提供的关键字查询索引,找出与关键字匹配的网页。

  5. 搜索结果展示:Nutch将匹配的网页按照相关性排序,并将搜索结果展示给用户。用户可以通过点击搜索结果来访问相应的网页。

总的来说,Nutch的工作原理是通过抓取、解析、索引和搜索等步骤,实现对互联网上的网页进行搜索和展示。

二、Nutch的基本组成与工作流程

2.1 爬虫部分

2.1.1 网页抓取与解析

Nutch的基本组成与工作流程之爬虫部分主要包括网页抓取和解析两个步骤。

  1. 网页抓取: Nutch使用一个分布式的爬虫系统来抓取互联网上的网页。这个爬虫系统由多个组件组成,包括调度器、生成器、分析器和爬取器等。
  • 调度器(Scheduler):负责管理要抓取的URL队列,并将URL分配给生成器和分析器。

  • 生成器(Generator):负责根据一些预设的规则和策略生成待抓取的URL列表,这些URL来自于种子URL和之前抓取的URL。

  • 分析器(Parser):负责分析网页,提取网页上的原始文本和其他元数据信息,如标题、链接、页面结构等。

  • 爬取器(Crawler):负责实际地下载网页的内容,并将下载的网页存储到本地的仓库中。

  1. 网页解析: Nutch还包括一个网页解析器,用于从抓取的网页中提取有用的数据。解析器使用一些预定义的规则和XPath表达式来解析网页,并将提取到的数据存储到Nutch的数据库中。
  • 解析器(Parser):根据预定义的规则和XPath表达式,从网页中提取数据,如文章内容、日期、作者等。

  • 数据库(Database):存储从网页中解析到的数据,供后续的搜索和索引使用。

在整个网页抓取和解析的过程中,Nutch还提供了灵活的配置选项,可以根据需求对各个组件进行调整和定制,以适应不同的应用场景。

2.1.2 URL去重与筛选

Nutch的爬虫部分主要负责从互联网上收集网页数据。在爬虫部分的工作流程中,URL去重与筛选是一个重要的步骤。它的目的是确保爬虫不会重复抓取相同的URL,并且只抓取符合规则的URL。

Nutch的URL去重与筛选的基本组成包括以下几个组件:

  1. URL生成器(URL Generator):根据一些规则和规则生成URL。可以通过配置文件来指定URL生成规则。

  2. URL过滤器(URL Filters):根据一些规则和策略筛选URL,只选择符合条件的URL进行爬取。可以通过配置文件来指定URL筛选规则。

  3. URL去重器(URL Deduplicator):进行URL去重操作,确保不会重复抓取相同的URL。Nutch使用布隆过滤器(Bloom Filter)来实现URL的去重。布隆过滤器是一种高效的数据结构,它可以判断一个元素是否存在于集合中,且有很低的错误率。

URL去重与筛选的工作流程如下:

  1. URL生成器生成一批URL。

  2. URL过滤器对这批URL进行筛选,只选择符合条件的URL进行下一步处理。

  3. 对于筛选后的URL,URL去重器判断是否已经抓取过该URL。如果已经抓取过,则丢弃该URL;如果没有抓取过,则将该URL添加到待抓取队列中。

  4. 待抓取队列会传递给爬虫调度器,爬虫调度器会根据一定的策略从队列中取出URL并分配给下载器进行下载。

  5. 下载器下载完网页后将网页内容传递给网页解析器进行解析,提取出新的URL并添加到待抓取队列中。

  6. 重复上述步骤直到待抓取队列为空。

通过URL去重与筛选,Nutch可以高效地抓取互联网上的网页数据,并保证不会重复抓取相同的URL。这对于爬虫的性能和资源利用效率至关重要。

2.1.3 链接分析与提取

Nutch的基本组成与工作流程中,爬虫部分的链接分析与提取是非常重要的一部分。链接分析与提取的过程可以大致分为以下几个步骤:

  1. 网页抓取:Nutch使用网络爬虫来抓取互联网上的网页。爬虫会从给定的起始URL开始,依次下载网页,并将它们存储到本地。

  2. 网页解析:抓取下来的网页需要进行解析,以便提取出网页中的链接。Nutch使用了HTML解析器来解析网页,并提取出其中的链接信息。

  3. 链接分析:在链接分析阶段,Nutch会对提取出的链接进行一系列的处理和分析。首先,它会筛选掉一些无效的链接,比如重定向链接、错误链接等。然后,它会根据一些算法和规则来计算每个链接的重要性和优先级。

  4. 链接提取:在链接分析的基础上,Nutch会选择一些重要的链接,将它们添加到爬虫的待抓取队列中。这些链接将作为下一次爬取的起始URL,并重复以上的过程。

需要注意的是,Nutch在链接分析与提取的过程中,还会考虑一些其他的因素。比如,它会根据网页的更新频率和重要性来调整链接的抓取优先级;它还会根据爬虫的配置和策略来控制爬取的深度和范围。

总的来说,Nutch的链接分析与提取是一个迭代的过程,通过不断地抓取和解析网页,并分析和提取链接,来构建一个完整的网页链接图谱。这个过程将为后续的网页索引和搜索提供基础。

2.2 索引部分

2.2.1 文本处理与分词

Nutch的索引部分主要包括文本处理和分词两个主要环节。在文本处理环节,Nutch会对爬取的网页进行预处理,包括去除HTML标签、去除停用词等,以获取干净的文本内容。

分词是指将文本按照一定的规则切割成词语的过程。Nutch使用开源的分词工具来进行分词操作,常用的分词工具有中文分词器IKAnalyzer、中文分词器SmartChineseAnalyzer等。这些分词工具可以根据中文的特点进行智能的分词,将文本切割成具有语义的词语。

Nutch的分词过程一般是在文本处理环节之后进行的,并且分词是针对不同语言的文本进行的。分词结果会被存储在倒排索引中,用于后续的搜索操作。

总结来说,Nutch的索引部分通过文本处理和分词来处理爬取的网页,将文本内容进行清洗和切割,并将分词结果存储在倒排索引中,以供后续的搜索操作使用。

2.2.2 倒排索引的建立

Nutch的索引部分是负责将抓取到的网页内容进行处理和分析,然后构建倒排索引,以支持后续的检索功能。

倒排索引是一种将词语与其出现的位置进行映射的数据结构,它的核心是建立一个词语到文档的映射,使得可以根据词语快速地找到包含该词语的文档。

倒排索引的建立主要分为以下几个步骤:

  1. 分词:将抓取到的网页内容进行分词,将文本划分成一个个独立的词语。

  2. 词干提取:对于英文单词,可以进行词干提取,将其转化为词干形式,例如将“running”和“ran”都转化为“run”。这样可以减少冗余的索引项。

  3. 停用词过滤:对于一些常见的词语,例如“a”、“the”、“and”等,可以将其过滤掉。这些词语虽然出现频率高,但对于搜索来说没有太多的意义。

  4. 倒排索引的构建:根据分词后得到的词语,建立倒排索引表。倒排索引表一般以词语为键,以包含该词语的文档列表为值。

  5. 索引压缩:对于大规模的索引数据,为了减少存储空间的占用,可以对索引进行压缩。常见的压缩方法包括词典压缩、倒排列表压缩等。

  6. 索引的持久化存储:将建好的索引进行持久化存储,以便后续的检索操作。

以上是倒排索引的主要建立过程,Nutch会按照这个流程进行索引的构建,使得用户可以方便地根据关键词进行检索。

2.2.3 索引的存储与管理

Nutch的索引部分负责将爬取到的网页数据进行索引存储和管理。它的工作流程如下:

  1. 网页解析与提取:首先,Nutch使用解析器和过滤器对爬取到的网页进行解析和提取。解析器将网页的HTML代码转换为结构化数据,包括网页标题、正文、链接等信息;过滤器则根据配置的规则对网页进行过滤,例如去除重复的URL、过滤非文本内容等。

  2. 索引创建与更新:接下来,Nutch使用创建器和更新器将解析提取到的网页数据存储到索引中。索引创建器负责创建索引文件,并将网页数据按照一定的结构存储到索引文件中;索引更新器则负责将新爬取到的网页数据添加到已有的索引文件中。

  3. 索引存储与管理:Nutch的索引存储与管理部分负责管理索引文件的存储和维护。索引文件可以通过不同的存储方式来存储,例如本地文件系统、Hadoop分布式文件系统等。索引文件可以分为多个分片,每个分片存储一部分网页数据。索引存储与管理部分可以根据需要进行索引的合并、压缩、删除等操作,以优化索引的性能和存储空间。

总的来说,Nutch的索引部分通过解析和提取网页数据,并将其存储到索引文件中,实现了对爬取到的网页数据的索引和查询功能。同时,索引存储与管理部分负责对索引文件进行存储和维护,以保证索引的性能和可用性。

2.3 查询部分

2.3.1 用户查询接口与交互

Nutch的查询部分包括用户查询接口和交互。用户查询接口是用户与搜索引擎系统进行交互的入口,用户可以通过查询接口输入关键词或者其他查询条件来发起查询请求。查询接口接收用户的输入,并将其传递给搜索引擎系统的后端进行处理。

在Nutch的工作流程中,查询部分的工作流程如下:

  1. 用户发起查询请求,输入关键词或者其他查询条件。
  2. 查询接口接收到用户的请求。
  3. 查询接口将用户的请求传递给搜索引擎系统的后端进行处理。
  4. 后端根据用户的请求进行索引查询或者其他相关操作。
  5. 后端将查询结果返回给查询接口。
  6. 查询接口将查询结果呈现给用户。

查询部分的用户接口和交互可以根据具体的需求进行定制和开发。在Nutch中,用户接口可以是一个简单的网页搜索框,用户通过在搜索框中输入关键词来发起查询请求。用户也可以通过API调用来直接与搜索引擎系统进行交互。查询接口可以根据用户的输入,进行输入验证和格式化处理,确保查询请求的正确性。查询接口也可以提供查询建议和自动补全功能,帮助用户进行精确的查询。

在查询结果的交互方面,查询接口可以将查询结果进行排名和分类,并提供分页功能,以方便用户浏览和筛选结果。查询接口也可以提供相关搜索功能,根据用户的查询意图推荐相关的查询条件和搜索结果。

总之,Nutch的查询部分通过用户查询接口和交互,提供了用户与搜索引擎系统进行交互的入口,使用户能够发起查询请求并获取相关的查询结果。

2.3.2 查询语句的分析与处理

在Nutch中,查询部分负责接收用户的查询请求并根据查询语句从索引中检索出相关的文档。

首先,查询语句需要经过一系列的分析与处理来提取关键词并生成查询表达式。这个过程通常包括以下几个步骤:

  1. 分词:将查询语句拆分成单词或短语。这可以使用Nutch内置的分词器或第三方的分词库来实现。

  2. 去停用词:去掉常见的无实际含义的单词,比如"的"、"是"等。

  3. 处理同义词:将查询语句中的同义词转换成标准词或原始词,以便在索引中找到相关的文档。

  4. 权重设置:根据查询语句中关键词的重要程度,为每个关键词设置一个权重值。这可以根据相关性算法来确定。

  5. 构建查询表达式:将处理后的关键词和权重组合成一个查询表达式,通常使用布尔逻辑运算符(AND、OR)来连接关键词。

完成上述分析和处理后,查询部分将使用生成的查询表达式与索引中存储的文档进行匹配,找到与查询语句相关的文档。匹配过程通常包括以下几个步骤:

  1. 查询解析:将查询表达式解析成可被索引库理解的格式,如Lucene查询语法。

  2. 查询优化:根据查询语句的特性和索引库的配置,对查询进行一些优化,例如使用缓存或索引片段合并等。

  3. 查询扫描:根据查询表达式,在索引库中进行扫描并找到与查询符合的文档。

  4. 结果排序:根据相关性算法和查询语句中关键词的权重,为查询结果进行排序,以便返回最相关的文档。

  5. 结果返回:将查询结果返回给用户,通常以列表或页面的形式呈现。

总的来说,Nutch的查询部分将用户的查询语句进行分析与处理,生成查询表达式后与索引库中的文档进行匹配,最终返回与查询相关的文档给用户。

2.3.3 结果排序与展示

在Nutch的查询部分,结果排序与展示是其中一个重要的环节。当用户提交一个查询时,Nutch将使用索引中的相关数据来检索与查询相匹配的文档,并根据一定的算法对结果进行排序。排序的目标是将最相关的文档排在前面,以便用户可以更快地找到他们感兴趣的内容。

Nutch使用的结果排序算法通常基于文档的相关性和其他一些因素来进行计算。常见的排序算法包括TF-IDF(词频-逆文档频率)和PageRank等。TF-IDF衡量了一个词在文档中的重要程度,PageRank则考虑了网页之间的链接关系,将链接较多、被其他网页引用的文档排在前面。

在排序后,Nutch会将排序的结果展示给用户。展示的方式通常是以搜索结果页面的形式呈现,其中包含了每个搜索结果的标题、摘要和相关链接等信息。用户可以根据这些信息来判断哪些结果是最相关的,并点击相应的链接进一步查看详细内容。

总的来说,Nutch的查询部分通过排序算法和结果展示,使用户能够获得与查询相关的最优结果,并提供便捷的方式进行导航和浏览。

三、Nutch的工作原理深入解析

        详见《探秘Nutch:揭秘开源搜索引擎的工作原理与无限应用可能(二)

四、Nutch的无限应用可能

        详见《探秘Nutch:揭秘开源搜索引擎的工作原理与无限应用可能(二)

五、Nutch的优化与扩展

        详见《探秘Nutch:揭秘开源搜索引擎的工作原理与无限应用可能(二)

六、结论与展望

        详见《探秘Nutch:揭秘开源搜索引擎的工作原理与无限应用可能(二)

七、结语

        通过Nutch的工作原理和应用,我们可以看到,在当今信息爆炸的时代,搜索引擎的作用是不可忽视的。Nutch提供了一个可定制和可扩展的搜索引擎框架,可以应用于各种场景和需求。无论是企业内部的知识管理,还是互联网上的信息搜索,Nutch都具备良好的性能和灵活性。

        Nutch作为一款开源搜索引擎,其工作原理和无限应用可能性正不断为我们带来新的发现和创新。通过不断地研究和改进,我们相信Nutch将在搜索引擎领域继续发挥重要作用,为用户提供更好的搜索和信息获取体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/738468.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

买瓜(dfs+剪枝)

题目描述 小蓝正在一个瓜摊上买瓜。瓜摊上共有 n 个瓜,每个瓜的重量为 Ai 。 小蓝刀功了得,他可以把任何瓜劈成完全等重的两份,不过每个瓜只能劈一刀。 小蓝希望买到的瓜的重量的和恰好为 m 。 请问小蓝至少要劈多少个瓜才能买到重量恰好…

数据结构——二叉树的遍历【前序、中序、后序】

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

单链表详解(如何实现单链表)

文章目录 前言 一、单链表是什么?二、单链表的实现总结 顺序表的缺点 1.中间/头部的插入删除,时间复杂度为O (N) 2.realloc 扩容(特别是异地扩,需要申请新空间,拷贝数据,释放旧空间)会有不小的…

多场成像,快速提高机器视觉检测能力--51camera

多阵列CMOS传感器与芯片级涂层二向色滤光片相结合,可在单次扫描中同时捕获明场、暗场和背光图像。 多场成像是一种新的成像技术,它可以在不同的光照条件下同时捕获多幅图像。再加上时间延迟积分(TDI),这种新兴的成像技术可以克服许多限制的传…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《计及台区资源聚合功率的中低压配电系统低碳优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

java-数据结构—树

目录 树的组成 节点 度 根节点 其他组成部分 二叉树 普通二叉树 二叉查找树 二叉树的遍历 前序遍历 中序遍历 后序遍历 层序遍历 总结 平衡二叉树 平衡二叉树的旋转机制 左旋 右旋 需要旋转的四种情况 左左 左右 右右 右左 总结 红黑树 树的组成 节点…

【图(2)】:图的广度优先遍历和深度优先遍历

目录 图的遍历 一、图的广度优先遍历(bfs) 二、图的深度优先遍历 图的遍历 给定一个图G和其中任意一个顶点v0,从v0出发,沿着图中各边访问图中的所有顶点,且每个顶点仅被遍历一次。"遍历"即对结点进行某种…

MySQL 8.0 的执行计划(EXPLAIN)

MySQL 8.0 的执行计划(也称为“EXPLAIN”计划)是数据库优化器为 SQL 查询生成的步骤序列。解读执行计划可以帮助数据库管理员(DBA)和开发者理解查询如何执行,识别潜在的性能问题,并据此优化查询。 下面是如…

一、实战前的准备

目录 系列文章目录 前言 二、项目搭建 三、模块分配 总结 前言 通用后台管理系统使用vue2,使用vue cli构建工具,同时还会使用到element-ui框架进行页面布局,实现顶部导航菜单与左侧导航联动。下面先从三个方面介绍一下通用后台管理的核心…

C++初阶:模板

目录 一.泛型编程 二.函数模板 2.1.函数模板的概念 2.2.函数模板的格式 2.3.函数模板的原理 2.4.函数模板的实例化 隐式实例化 显示实例化 2.5.模板参数的匹配原则 三.类模板 3.1.类模板的格式 3.2.类模板的实例化 3.3.在类模板外部定义成员函数 四.非类型模板参…

系统设计学习(一)分布式系统

分布式系统 CAP 理论 CAP 理论是分布式系统设计中的一个基本原则,它提供了一个思考和权衡一致性、可用性和分区容错性之间关系的框架。 CAP 理论的三个要素如下: 一致性(Consistency):在分布式系统中的多个副本或节…

【保姆级】Protobuf详解及入门指南

目录 Protobuf概述 什么是Protobuf 为什么要使用Protobuf Protobuf实战 环境配置 创建文件 解析/封装数据 附录 AQin.proto 完整代码 Protobuf概述 什么是Protobuf Protobuf(Protocol Buffers)协议😉 Protobuf 是一种由 Google 开…

PostgreSQL数组查询是否存在某个值

语法 值 ANY (字段);例子 查询ids中包含id5的数据 select * from student where 5 ANY (ids)mybatis select * from student where #{id} ANY (ids)

CrossOver2024实现Mac/Linux上快速运行Win软件和游戏

作为软件产品专家,我对各类软件都有较为深入的了解,下面介绍CrossOver2024这款软件的功能特点。 CrossOver2024是一款功能强大的类虚拟机软件,它的设计目标是在Mac和Linux系统上实现Windows软件和游戏的快速运行。这款软件不仅具有出色的兼容…

Windows下安装Kafka3

本文讲述Windows(win10)下安装Kafka3的方法。基本流程跟《CentOS下安装Kafka3》一样,也是一样需要先安装Java环境,再部署部署Kafka。 首先在官网 Apache Kafka 下载Kafka二进制压缩包。无论是在CentOS还是在Windows下都是下载该压缩包,里面已…

微信小程序实现上下手势滑动切换

效果图 思路 实现一个微信小程序的复合滚动页面&#xff0c;主要通过Swiper组件实现垂直方向的轮播功能&#xff0c;每个轮播项内部使用Scroll-View组件来展示可垂直滚动的长内容&#xff0c;如图片和文本。 代码 <!-- wxml --> <view class"swiper-container…

【硬件工程师面经整理28_其它】

【硬件工程师面经整理27_其它】-CSDN博客By Along 文章目录 1 怎么画时钟线2 LVTTL和LVCMOS电平的是否可以直接互连&#xff1f;3 IC设计流程半波振子的知识&#xff0c;如何拓展带宽 1 怎么画时钟线 时钟线通常用一条带箭头的直线来表示&#xff0c;箭头指向信号变化的方向。…

Vue 中的 key:列表渲染的秘诀

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

编程笔记 html5cssjs 011 HTML内连框架 个人简历二

编程笔记 html5&css&js 011 HTML内连框架 个人简历二 一、代码二、解释 这段HTML代码定义了一个个人简历的页面布局和样式。页面分为多个部分&#xff0c;包括基本信息、自我评价、工作经历、教育经历、项目经历和期望的职业方向。每个部分都使用了自定义的样式&#x…

Flutter入门学习——Flutter和Dart

因为工作的需要&#xff0c;也为了个人发展&#xff0c;现在的话&#xff0c;转战Flutter跨端开发了&#xff0c;虽然目前的项目只发了android端&#xff0c;但是那天尝试了一下Ios的打包流程&#xff0c;也能运行&#xff0c;只是IOS那边的打包稍微复杂一些。 差不多学习了一…