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

【English-Book】Go in Action目录页翻译中文

第8页

内容

前言 xi
序言 xiii
致谢 xiv
关于本书 xvi
关于封面插图 xix

1 介绍 Go 1
1.1 用 Go 解决现代编程挑战 2
开发速度 3 • 并发 3 • Go 的类型系统 5
内存管理 7
1.2 你好,Go 7
介绍 Go 玩具 8
1.3 总结 8

2 Go 快速入门 9
2.1 程序架构 10
2.2 主包 11
2.3 搜索包 13
search.go 14 • feed.go 22 • match.go/default.go 26
2.4 RSS 匹配器 32
2.5 总结 38

vii

第9页

viii 内容

3 包装和工具 39
3.1 包 40
包命名约定 40 主包 40
3.2 导入 42
远程导入 42 命名导入 43
3.3 init 44
3.4 使用 Go 工具 45
3.5 用 Go 开发者工具进一步发展 47
go vet 47 Go 格式 48 Go 文档 48
3.6 与其他 Go 开发者合作 51
为分享创建存储库 51
3.7 依赖管理 52
Vendor 依赖 52 介绍 gb 54
3.8 总结 56

4 数组、切片和映射 57
4.1 数组内部和基础 57
内部 58 声明和初始化 58 使用数组 60 多维数组 62 函数间传递数组 64
4.2 切片内部和基础 65
内部 65 创建和初始化 65 使用切片 68 多维切片 79 函数间传递切片 80
4.3 映射内部和基础 81
内部 81 创建和初始化 83 使用映射 84 函数间传递映射 86
4.4 总结 87

5 Go 的类型系统 88
5.1 用户定义的类型 89
5.2 方法 92
5.3 类型的本质 96
内置类型 96 引用类型 97 结构体类型 98

第10页

内容

5.4 接口 101
标准库 102 • 实现 104 • 方法集 105 • 多态 109

5.5 类型嵌入 111
5.6 导出和不导出标识符 119
5.7 总结 127

并发 128
6.1 并发与并行 129
6.2 Goroutine 132
6.3 竞争条件 139
6.4 锁定共享资源 142
原子函数 142 • Mutex 145
6.5 通道 147
无缓冲通道 148 • 缓冲通道 153
6.6 总结 157

并发模式 158
7.1 运行器 158
7.2 池化 167
7.3 工作 177
7.4 总结 183

标准库 184
8.1 文档和源代码 185
8.2 日志 187
日志包 187 • 自定义记录器 191 结论 195
8.3 编码/解码 196
解码 JSON 196 • 编码 JSON 201 结论 202
8.4 输入和输出 203
Writer 和 Reader 接口 203 • 一起工作 205 简单 curl 208 • 结论 210
8.5 总结 210

第11页

内容

测试和基准 211
9.1 单元测试 212
基本单元测试 212 • 表测试 216 • 模拟调用 219
测试端点 223
9.2 示例 228
9.3 基准测试 232
9.4 总结 236
索引 237

第12页

前言

在计算机科学中,当您想到杰出的人时,有几个名字会浮现在脑海中。其中就包括 Rob Pike、Robert Griesmier 和 Ken Thompson,他们创造了 UNIX、Plan 9、B、Java 的 JVM HotSpot、V8、Strongtalk、Sawzall、Ed、Acme 和 UTF8 等众多作品。2007 年,他们聚在一起,以一种非常强大的想法为实验目标,结合他们数十年的经验,创造了一种新的系统语言,这种语言借鉴了现有的语言,但确实与以前的任何语言都不同。他们将他们的创作作为开源发布,并将其命名为“Go”。如果 Go 继续沿着现在的道路发展,它可能最终证明是他们众多著名创作中最影响深远的。

当人们纯粹出于让世界变得更美好的意图而聚集在一起时,人类处于最佳状态。2013 年,Brian 和 Erik 创建了 Gopher Academy,并很快与其他几个志同道合的人一起加入,他们致力于在 Go 语言周围建立一个更好的社区。他们首先注意到社区需要一个在线聚集和分享材料的地方,于是他们设立了 Go 讨论板(slack)和 Gopher Academy 博客。随着时间的推移和社区的不断增长,他们建立了世界上第一个全球 Go 会议,GopherCon。通过他们对社区的深入了解,他们知道需要一个资源来引导成千上万的程序员进入这个新语言,因此他们开始写这本书。

这本书是 Bill、Brian 和 Erik 的心血之作,他们花了一年多的时间写作和修订,同时保持了他们现有的职责,如 Gopher Academy 博客的编辑、会议组织者、日常工作,以及作为父亲和丈夫的角色。对他们来说,这本书不仅仅是一本书,而是对他们的语言的致敬。他们不满足于写出一本“好”书。他们写了和修订了许多次,直到他们有了一个值得 Go 这种语言的书。

从第一章到最后一页,这本书都是为了引导您探索、学习和使用 Go 而精心编写的。在这个世界上,您找不到比 Bill、Brian 和 Erik 更好的向导了。我期待着您发现 Go 的美好,并希望在在线和 Go 会议和会议上见到您。

STEVE FRANCIA
GOPHER 和 HUGO、COBRA、VIPER 和 SPF13-VIM 的创建者

第13页

序言

2013 年 10 月,在写了 GoingGo.net 博客几个月后,我收到了 Brian Ketelsen 和 Erik St. Martin 的电话。他们正在写这本书,并问我是否愿意参与其中。我抓住了这个机会,开始写作。当时我对 Go 还很陌生,所以这是一个学习这门语言、与 Brian 和 Erik 一起工作并以更大规模分享我所学到的知识的绝佳机会。

在完成了前四章后,我们将其发布到 Manning 早期访问计划(MEAP)。不久之后,我们收到了语言团队成员的电子邮件。这个人提供了详细的更改清单,其中包括大量知识、建议、鼓励和支持。从那时起,我们决定从头重写第 2 章,并对第 4 章进行了重大改造。我们了解到,重写章节将不是例外,而是常态。这次经历还教会我们,写这本书需要社区的帮助,而且我们必须立即让它发生。

从那时起,这本书就成了社区的努力。我们尽力在研究每一章、开发代码示例以及与社区审查、讨论和编辑材料和代码方面投入适当的时间。我们尽最大努力确保这本书在技术上是正确的,只显示惯用的代码,并以社区认为应该编写和思考 Go 的方式教授 Go。我们也有自己的想法、实践和准则洒在其中。

希望这本书能帮助您学习 Go,并且您会发现它是一个今天和未来多年的有用资源。Brian、Erik 和我总是在线并随时准备帮助任何联系我们的读者。如果您购买了这本书,感谢您,并且不要害羞地说“你好。”

WILLIAM KENNEDY

第14页

致谢

我们花了超过 18 个月来写这本书,但没有许多人的支持,我们的努力是不可能实现的——我们的家人、朋友、同事和导师;整个 Go 社区;以及我们的出版商 Manning。

当您编写像这样的书籍时,您需要一位不仅分享好的,而且在需要时帮助您度过难关并始终陪伴您的编辑。Jennifer Stout,感谢您的一切,以及在我们最需要的时候陪伴我们。感谢您让这本书成为现实。还要感谢 Manning 在开发和制作我们的书时与我们合作的其他所有人。

您不可能知道所有事情,因此需要一个社区的人来花时间和知识。感谢 Go 社区以及参与审查和在开发过程中提供反馈的人,特别是在各个阶段的稿件中提供反馈的人,尤其是 Adam McKay, Alex Basile, Alex Jacinto, Alex Vidal, Anjan Bacchu, Benoît Benedetti, Bill Katz, Brian Hetro, Colin Kennedy, Doug Sparling, Jeffrey Lim, Jesse Evans, Kevin Jackson, Mark Fisher, Matt Zulak, Paulo Pires, Peter Krey, Philipp K. Janert, Sam Zaydel 和 Thomas O’Rourke。还要感谢 Jimmy Frasché 在最终稿件进入生产前对其进行的技术审查。

有几个人需要特别承认。

Kim Shrier 从一开始就在那里,提供评论,并花时间教我们。我们从您那里学到了很多东西,非常感谢您。这本书在技术上因您而更加出色。

Bill Hathaway 在编写这本书的最后一年中发挥了重要作用,塑造了每一章;他的想法和意见非常宝贵。我们必须承认 Bill 是第 9 章的合著者。没有 Bill 的时间和才能,它就不存在了。

第15页

还要特别感谢 Cory Jacobson, Jeffery Lim, Chetan Conikee 和 Nan Xiao,他们一直提供时间进行审查、意见和指导。

感谢 Gabriel Aszalos, Fatih Arslan, Kevin Gillette 和 Jason Waldrip 帮助编写示例代码和进行审查。还要特别感谢 Steve Francia 撰写前言并支持我们的工作。

最后,我们衷心感谢我们的家人和朋友。任何需要这种承诺和时间的事情总是会对您所爱的人产生影响。

WILLIAM KENNEDY

我希望感谢我的妻子 Lisa 和我的五个孩子:Brianna, Melissa, Amanda, Jarrod 和 Thomas。Lisa,我知道您和孩子们在编写这本书的那些日子里、夜晚和周末里没有花太多时间在丈夫和父亲身上。感谢您让我花这么多时间来编写书籍:我爱你们每一个人。

还要感谢我的商业合作伙伴 Ed Gonzalez,创意总监 Erick Zelaya 以及 Ardan Studios 的整个团队。Ed,感谢您从一开始就支持我。没有您,我做不到。您不仅是商业合作伙伴,更是朋友和兄弟:谢谢。Erick,感谢您为支持我和公司所做的一切。不知道没有您该怎么办。

BRIAN KETELSEN

我希望感谢我的家人在这长达四年之久的过程中耐心地生产这本书。Christine, Nathan, Lauren 和 Evelyn:感谢您在编写章节时让我在泳池边的躺椅上消磨时间,而您在游泳。感谢您相信这本书能够出版。

ERIK ST. MARTIN

我希望感谢我的未婚妻 Abby 以及我的三个孩子 Halie, Wyatt 和 Allie,感谢他们在编写书籍和组织会议期间表现出如此的耐心和理解。编写书籍和组织会议需要很多时间,我非常幸运能有他们。

还要感谢 Bill Kennedy,他投入了巨大的努力来编写这本书——我们请他来帮助我们编写这本书,而由于工作需求和组织 GopherCon,他大部分时间都掌舵了。我也想感谢社区对我们的审查和鼓励的话语。

第16页

关于本书

Go 是一种开源编程语言,它使构建简单、可靠和高效软件变得容易。虽然它借鉴了现有语言的想法,但其独特而简洁的性质使 Go 程序在字符上不同于用其他语言编写的程序。它在低级系统语言的功能和现代语言今天看到的一些高级功能之间取得了平衡。这创造了编程环境,您可以在其中编写更少的代码并完成更多的工作。

谁应该阅读这本书?

本书专为具有其他编程语言经验的中级开发人员编写,他们想学习 Go。编写本书的目的是为您提供一种密集的、全面的和惯用的 Go 语言视图。我们专注于语言的规格和实现,包括从语言语法、Go 的类型系统、并发、通道、测试等广泛的主题。我们相信这本书对于任何想快速入门学习 Go 的人,以及那些希望对语言及其内部有更深入理解的人都是完美的。

路线图

本书包含九章,简要描述如下:

  • 第 1 章是对语言的快速介绍,介绍语言的创建及其解决的问题。它还简要介绍了 Go 的一些核心概念,如并发。

xvi

第17页

关于本书

■ 第 2 章引导您完成一个完整的 Go 程序,在此过程中教您 Go 提供的所有内容。

■ 第 3 章介绍包的概念,以及如何最佳地设置您的 Go 工作区和开发环境。它还展示了如何使用 Go 工具,包括获取和构建代码。

■ 第 4 章详细介绍了 Go 的内置数据类型:数组、切片和映射。它解释了这些数据结构的实现和机制。

■ 第 5 章详细介绍了 Go 的类型系统,从结构体类型到命名类型到接口和类型嵌入。它还介绍了所有这些内容如何结合在一起,使您能够以更简单的方式构建和编写复杂软件。

■ 第 6 章深入探讨了 Go 调度程序、并发和通道的工作原理。它教您该语言并发机制的机制。

■ 第 7 章利用第 6 章中学到的内容,展示了更多关于并发模式的实用代码。您将学习如何实现 goroutine 池来管理工作,以及如何池化可重用资源以供共享。

■ 第 8 章探讨标准库,并深入研究三个包:log、json 和 io。该章重点介绍这些包的一些细微之处。

■ 第 9 章通过展示如何使用测试和基准框架来结束本书。您将学习如何编写单元测试和表测试以及基准测试,并如何将示例添加到文档中,并将示例用作测试。

关于代码

书中所有源代码都以等宽字体突出显示,例如这样,这使其与周围的文本区分开来。在许多清单中,代码都有注释,指出关键概念,并在文本中使用编号项目符号来提供有关代码的其他信息。

本书中示例的源代码可以从出版社网站 www.manning.com/books/go-in-action 和 GitHub https://github.com/goingaction/code 下载。

作者在线

购买 Go in Action 包括对 Manning Publications 管理的私人网络论坛的免费访问,您可以在其中对书籍发表评论、提出技术问题并从作者和其他用户那里获得帮助。要访问论坛并订阅它,请将 web 浏览器指向 www.manning.com/books/go-in-action。此页面将告诉您如何在注册后访问论坛,可以获得什么样的帮助,以及论坛中的行为准则。

第18页

关于本书

Manning 对读者的承诺是提供一个有意义的对话可以发生的论坛,其中个人读者和读者与作者之间的对话可以进行。这不是对作者特定数量的参与的承诺,作者对 AO 的贡献仍然是自愿的(和无偿的)。我们建议您向作者提出有挑战性的问题,以免他们的兴趣转移。

作者在线论坛和以前讨论的存档将一直可供访问,直到书籍脱销。

关于作者

WILLIAM KENNEDY (@goinggodotnet) 是一家位于迈阿密的移动、网络和系统开发公司 Ardan Studio 的管理合伙人。他还是 GoingGo.Net 博客的作者,以及迈阿密 Go 见面会的组织者。Bill 专注于通过他的培训公司 Ardan Labs 进行 Go 教育。他经常可以在会议和 hangouts 上进行演讲和研讨会。他总是抽出时间与那些希望将他们的 Go 知识、博客和编码技能提升到更高层次的个人和团体合作。

BRIAN KETELSEN (@bketelsen) 是 XOR Data Exchange 的 CIO 和联合创始人。Brian 是 GopherCon(年度 Go 会议)的联合组织者,也是 GopherAcademy(致力于 Go 语言推广和 Go 开发者教育的社区导向组织)的创始人。他从 2010 年开始使用 Go。

ERIK ST. MARTIN (@erikstmartin) 是位于德克萨斯州奥斯汀的大型数据和分析公司 XOR Data Exchange 的软件开发总监,但居住在坦帕,佛罗里达州。Erik 是开源和其社区的长期贡献者。他是 GopherCon(年度 Go 会议)的组织者,以及 Go 坦帕见面会的组织者。他对 Go 和社区充满热情,并热衷于寻找新的方法来促进其增长。

第19页

关于本书

Manning 对读者的承诺是提供一个有意义的对话可以发生的论坛,其中个人读者和读者与作者之间的对话可以进行。这不是对作者特定数量的参与的承诺,作者对 AO 的贡献仍然是自愿的(和无偿的)。我们建议您向作者提出有挑战性的问题,以免他们的兴趣转移。

作者在线论坛和以前讨论的存档将一直可供访问,直到书籍脱销。

关于作者

WILLIAM KENNEDY (@goinggodotnet) 是一家位于迈阿密的移动、网络和系统开发公司 Ardan Studio 的管理合伙人。他还是 GoingGo.Net 博客的作者,以及迈阿密 Go 见面会的组织者。Bill 专注于通过他的培训公司 Ardan Labs 进行 Go 教育。他经常可以在会议和 hangouts 上进行演讲和研讨会。他总是抽出时间与那些希望将他们的 Go 知识、博客和编码技能提升到更高层次的个人和团体合作。

BRIAN KETELSEN (@bketelsen) 是 XOR Data Exchange 的 CIO 和联合创始人。Brian 是 GopherCon(年度 Go 会议)的联合组织者,也是 GopherAcademy(致力于 Go 语言推广和 Go 开发者教育的社区导向组织)的创始人。他从 2010 年开始使用 Go。

ERIK ST. MARTIN (@erikstmartin) 是位于德克萨斯州奥斯汀的大型数据和分析公司 XOR Data Exchange 的软件开发总监,但居住在坦帕,佛罗里达州。Erik 是开源和其社区的长期贡献者。他是 GopherCon(年度 Go 会议)的组织者,以及 Go 坦帕见面会的组织者。他对 Go 和社区充满热情,并热衷于寻找新的方法来促进其增长。

第20页

关于封面插图

Go in Action 封面上的图 captioned “Man from the East Indies。” 这幅图取自 Thomas Jefferys 的 A Collection of the Dresses of Different Nations, Ancient and Modern(四卷),伦敦,1757 年至 1772 年间出版。标题页说明这些是手工着色的铜版画,用阿拉伯树胶增强。Thomas Jefferys (1719–1771) 被称为“George III 的地理学家。” 他是英国制图师,是当时领先的地图供应商。他为政府和其他官方机构雕刻和印刷地图,并制作了大量商业地图和地图集,特别是关于北美的。

他对当地服饰习俗的兴趣源于他作为地图制图师和调查者的日常工作。他的作品生动地展示了当时世界各国人民的服饰多样性。旅行的乐趣和对遥远土地的着迷是 18 世纪末的新现象,像这样的收藏很受欢迎,向游客和客厅旅行者介绍了其他国家的居民。

两百多年前,世界各国民众的服饰习俗是如此丰富多样。如今,随着文化视觉多样性的减少,或许我们可以乐观地认为,我们已经用更丰富多样的个人生活或更丰富多样的智力和技术生活来交换了这种多样性。

在计算机书籍难以区分的今天,Manning 通过取材于两百年前地区生活的丰富多样性,庆祝计算机业务的发明和首创精神,使封面插图焕发了生机。

xix

相关文章:

【English-Book】Go in Action目录页翻译中文

第8页 内容 前言 xi 序言 xiii 致谢 xiv 关于本书 xvi 关于封面插图 xix 1 介绍 Go 1 1.1 用 Go 解决现代编程挑战 2 开发速度 3 • 并发 3 • Go 的类型系统 5 内存管理 7 1.2 你好,Go 7 介绍 Go 玩具 8 1.3 总结 8 2 Go 快速入门 9 2.1 程序架构 10 2.2 主包 …...

奉加微PHY6230兼容性:部分手机不兼容

从事嵌入式单片机的工作算是符合我个人兴趣爱好的,当面对一个新的芯片我即想把芯片尽快搞懂完成项目赚钱,也想着能够把自己遇到的坑和注意事项记录下来,即方便自己后面查阅也可以分享给大家,这是一种冲动,但是这个或许并不是原厂希望的,尽管这样有可能会牺牲一些时间也有哪天原…...

SSE 实践:用 Vue 和 Spring Boot 实现实时数据传输

前言 大家好,我是雪荷。最近我在灵犀 BI 项目中引入了 SSE 技术,以保证图表的实时渲染,当图表渲染完毕服务端推送消息至浏览器端触发重新渲染。 什么是 SSE? SSE 全称为 Server-Send Events 意思是服务端推送事件。 SSE 相比于 …...

HJ3 明明的随机数(Java版)

一、试题地址 明明的随机数_牛客题霸_牛客网 二、试题内容 描述 对于明明生成的 nn 个 11 到 500500 之间的随机整数,你需要帮助他完成以下任务: 删去重复的数字,即相同的数字只保留一个,把其余相同的数去掉;然后…...

C++ 模拟真人鼠标轨迹算法 - 防止游戏检测

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…...

Linux-----线程同步(条件变量)

目录 相关API restrict关键字 线程间条件切换函数 条件变量pthread_cond_t 案例 在前面的锁的基础上进一步提高线程同步效率,也就是两个线程只用锁去执行的话依然会存在资源竞争的情况,也就是抢锁,这里就需要在锁的这边加上限制&#xf…...

58,【8】BUUCTF [PwnThyBytes 2019]Baby_SQL1

进入靶场 和2次注入的页面很像 不过养成查看源代码的好习惯 先访问source.zip 下载后解压,发现两个文件 第一个文件夹打开又有4个PHP文件 那还是先看index.php文件好了 有PHP和HTML两部分,下面是PHP部分代码(HTML太长了,先放一…...

小汽车维修记录程序(PC版)

我需要一个小程序,记录我的小车保养相关的情况:时间,地点,某种零件,以什么价格被保养使用。这样我才能清楚的知道我的小车下一次保养,然后我可以有的放矢的去准备下一次的零件和时间,避免过度保…...

回顾2024年在CSDN的成长

文章目录 我与CSDN的初次邂逅初学阶段的阅读CSDN:编程新手的避风港初学者的福音:细致入微的知识讲解考试复习神器:技术总结的“救命指南”曾经的自己:为何迟迟不迈出写博客的第一步兴趣萌芽:从“读”到“想写”的初体验…...

AI编程工具使用技巧——通义灵码

活动介绍通义灵码1. 理解通义灵码的基本概念示例代码生成 2. 使用明确的描述示例代码生成 3. 巧妙使用注释示例代码生成 4. 注意迭代与反馈原始代码反馈后生成优化代码 5. 结合生成的代码进行调试示例测试代码 其他功能定期优化生成的代码合作与分享结合其他工具 总结 活动介绍…...

解读InnoDB数据库索引页与数据行的紧密关联

目录 一、快速走进索引页结构 (一)整体展示说明 (二)内容说明 File Header(文件头部) Page Header(页面头部) Infimum Supremum(最小记录和最大记录) …...

KubeSphere 与 Pig 微服务平台的整合与优化:全流程容器化部署实践

一、前言 近年来,为了满足越来越复杂的业务需求,我们从传统单体架构系统升级为微服务架构,就是把一个大型应用程序分割成可以独立部署的小型服务,每个服务之间都是松耦合的,通过 RPC 或者是 Rest 协议来进行通信,可以按照业务领域来划分成独立的单元。但是微服务系统相对…...

虚幻基础2:gameplay框架

能帮到你的话,就给个赞吧 😘 文章目录 ue框架:gameplay组成game modeactorcomponent player controllergame state 工作流程 ue框架:gameplay 组成 game mode 游戏类型和规则。可以控制游戏的开始与结束以及一些其他功能。 ac…...

在线base64转码工具

在线base64转码工具,无需登录,无需费用,用完就走。 官网地址: https://base64.openai2025.com 效果:...

2024年,我的技术探索与成长之路

2024年,我的技术探索与成长之路 2024年已经过去,作为一名技术爱好者和写作者,我回顾了过去一年在博客上记录的点滴,感慨良多。这一年,我不仅见证了技术的飞速发展,也在不断学习和实践中找到了自己的成长方向…...

【逆境中绽放:万字回顾2024我在挑战中突破自我】

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” 文章目录 一、引言二、个人成长与盘点情感与心理成长学习与技能提升其它荣誉 三、年度创作历程回顾创作内容概…...

图谱之前端关系应用

文章目录 图谱之前端关系应用(relation-graph、d3.js、echarts)1. relation-graph应用实例优缺点 2. d3.js应用实例优缺点 3. echarts应用实例优缺点 总结 图谱之前端关系应用(relation-graph、d3.js、echarts) 1. relation-grap…...

Kibana:ES|QL 编辑器简介

作者:来自 Elastic drewdaemon ES|QL 很重要 💪 正如你可能已经听说的那样,ES|QL 是 Elastic 的新查询语言。我们对 ES|QL 寄予厚望。它已经很出色了,但随着时间的推移,它将成为与 Elasticsearch 中的数据交互的最强大…...

建造者模式(或者称为生成器(构建器)模式)

一、什么是建造者模式? 将复杂对象的构建与表示进行分离,使得统一的构建过程,可以创建出不同的对象表现模式 就是将复杂对象里面的成员变量,设置不同的值,使得生成出来的对象拥有不同的属性值; 二、特点…...

【CTFHub】SQL注入cookie注入及知识点

打开题目页面如下 根据提示应该在cookie处注入,通过burp suite抓包并发到重放器 知识点 Cookie 是存储在用户本地计算机上的小文件,由 Web 服务器通过 HTTP 协议发送给浏览器,并保存在用户的浏览器端。当用户再次访问该网站时,浏…...

CSS中样式继承+优先级

继承属性和非继承属性 一、定义及分类 1、继承属性是指在父元素上设置了这些属性后,子元素会自动继承这些属性的值,除非子元素显式地设置了不同的值。 常见的继承属性: 字体 font 系列文本text-align text-ident line-height letter-spacing颜色 col…...

[leetcode](找到vector中的特定元素并删除)无重复字符的最长子串

一.找到vector中的特定元素并删除 #include <iostream> #include <vector> #include <algorithm> int main() { // 示例 vector std::vector<int> vec {1, 2, 3, 4, 5, 6}; // 要删除的元素 int aim 3; // 查找元素 auto it std::fin…...

记录一次 centos 启动失败

文章目录 现场1分析1现场2分析2搜索实际解决过程 现场1 一次断电,导致 之前能正常启动的centos 7.7 起不来了有部分log , 关键信息如下 [1.332724] XFS(sda3): Internal error xfs ... at line xxx of fs/xfs/xfs_trans.c [1.332724] XFS(sda3): Corruption of in-memory data…...

Linux使用SSH连接GitHub指南

基础配置流程 步骤1:生成SSH密钥 打开终端:首先,打开你的Linux终端。 生成SSH密钥对:输入以下命令来生成一个新的SSH密钥对: ssh-keygen -t rsa -b 4096 -C "your_email@example.com"-t rsa:使用RSA加密算法生成密钥。-b 4096:密钥长度为4096位,增加安全性。…...

QModbusTCPClient占用内存持续增长

最近使用QModbusTCPClient通信&#xff0c;需要频繁发送读写请求&#xff0c;发现软件占用内存一直在增减&#xff0c;经过不断咨询和尝试&#xff0c;终于解决了。 1.方案一&#xff08;失败&#xff09; 最开始以为是访问太频繁&#xff0c;导致创建reply的对象比delete re…...

具体场景的 MySQL 与 redis 数据一致性设计

场景1: 短视频修改名称,简介等视频数据更新还是清除更新策略如何设计?热 key 处理其他处理自己的数据查询 其他问题冷热突变/突然的热 key 加入如果产品要更新后能所有用户立马看到效果怎么办 ? 场景2: 抢红包如何设计?限制红包的数量 分布式锁的自旋问题 场景 3: 更改用户主…...

机器学习之SVD奇异值分解实现图片降维

SVD奇异值分解实现图片降维 目录 SVD奇异值分解实现图片降维1 SVD奇异值分解1.1 概念1.2 基本步骤1.2.1 矩阵分解1.2.2 选择奇异值1.2.3 重建矩阵1.2.4 降维结果 1.3 优缺点1.3.1 优点1.3.2 缺点 2 函数2.1 函数导入2.2 函数参数2.3 返回值2.4 通过 k 个奇异值降维 3 实际测试3…...

基于.Net Core+Vue的文件加密系统

1系统架构图 2 用例图 管理员角色的用例&#xff1a; 文件分享大厅&#xff1a;管理员可以访问文件分享大厅&#xff0c;下载文件。个人信息管理&#xff1a;管理员可以更新自己的个人信息&#xff0c;修改密码。用户管理&#xff1a;管理员负责创建、更新或删除用户账户&…...

数据结构(链表 哈希表)

在Python中&#xff0c;链表和哈希表都是常见的数据结构&#xff0c;可以用来存储和处理数据。 链表是一种线性数据结构&#xff0c;由一系列节点组成&#xff0c;每个节点包含一个数据元素和一个指向下一个节点的指针。链表可以用来实现栈、队列以及其他数据结构。Python中可…...

1161 Merging Linked Lists (25)

Given two singly linked lists L1​a1​→a2​→⋯→an−1​→an​ and L2​b1​→b2​→⋯→bm−1​→bm​. If n≥2m, you are supposed to reverse and merge the shorter one into the longer one to obtain a list like a1​→a2​→bm​→a3​→a4​→bm−1​⋯. For ex…...

第23篇 基于ARM A9处理器用汇编语言实现中断<五>

Q&#xff1a;怎样修改HPS Timer 0定时器产生的中断周期&#xff1f; A&#xff1a;在上一期实验的基础上&#xff0c;可以修改按键中断服务程序&#xff0c;实现红色LED上的计数值递增的速率&#xff0c;主程序和其余代码文件不用修改。 实现以下功能&#xff1a;按下KEY0…...

VS Code--常用的插件

原文网址&#xff1a;VS Code--常用的插件_IT利刃出鞘的博客-CSDN博客 简介 本文介绍VS Code&#xff08;Visual Studio Code&#xff09;常用的插件。 插件的配置 默认情况下&#xff0c;插件会放到这里&#xff1a;C:\Users\xxx\.vscode\extensions 修改插件位置的方法 …...

数智化转型 | 星环科技Defensor 助力某银行数据分类分级

在数据驱动的金融时代&#xff0c;数据安全和隐私保护的重要性日益凸显。某银行作为数字化转型的先行者&#xff0c;面临着一项艰巨的任务&#xff1a;如何高效、准确地对分布在多个业务系统、业务库与数仓数湖中的约80万个字段进行数据分类和分级。该银行借助星环科技数据安全…...

【md文档】公式简单介绍

在Markdown文档中&#xff0c;可以使用LaTeX语法来插入数学公式。以下是一些常见的LaTeX公式示例及其在Markdown中的写法&#xff1a; 1. 行内公式 行内公式使用单个美元符号 $ 包裹。 ‘’’ 这是一个行内公式&#xff1a;$E mc^2$效果&#xff1a; 这是一个行内公式&…...

macOS Sequoia 15.3 beta3(24D5055b)发布,附黑、白苹果镜像下载地址

“ 镜像&#xff08;黑苹果引导镜像、白苹果Mac镜像、黑苹果虚拟机镜像&#xff09;下载地址&#xff1a;黑果魏叔官网。” 关于macOS Sequoia 15.3 beta3&#xff08;24D5055b&#xff09;&#xff0c;以下是对其的详细介绍&#xff1a; 一、版本发布信息 发布时间 &#xf…...

HTML学习笔记(4)

目录 一、背景相关样式 二、定位position 三、javascript 1、变量的定义 2、数据类型 3、绑定事件 一、背景相关样式 background-image: url(); // 背景图片 background-repeat: repeat; // 背景图片是否平铺 no-repeat background-size: 200px; // 背景图片尺寸 cover把…...

密钥轮换时,老数据该如何处理

密钥轮换时是否需要重新加密老数据&#xff0c;取决于具体的加密策略和密钥管理系统的设计。以下是两种常见情况及处理方式&#xff1a; 1. 密钥轮换不涉及重新加密老数据 场景&#xff1a;如果密钥轮换仅用于新数据的加密&#xff0c;而老数据仍使用旧密钥解密。 处理方式&a…...

Django框架:python web开发

1.环境搭建&#xff1a; &#xff08;a&#xff09;开发环境&#xff1a;pycharm &#xff08;b&#xff09;虚拟环境&#xff08;可有可无&#xff0c;优点&#xff1a;使用虚拟环境可以把使用的包自动生成一个文件&#xff0c;其他人需要使用时可以直接选择导入包&#xff…...

RCD-IoT:在高数据包传输率下,利用资源受限设备实现工业监测与控制

论文标题 中文&#xff1a;RCD-IoT&#xff1a;在高数据包传输率下&#xff0c;利用资源受限设备实现工业监测与控制 英文&#xff1a;RCD-IoT: Enabling Industrial Monitoring and Control with Resource-Constrained Devices Under High Packet Transmission Rates 作者信…...

LabVIEW实车四轮轮速信号再现系统

开发了一个基于LabVIEW的实车四轮轮速信号再现系统。该系统解决现有电机驱动传感器成本高、重复性差、真实性差和精度低等问题&#xff0c;提供一种高精度、低成本的轮速信号再现解决方案。 项目背景 ABS轮速传感器在现代汽车安全系统中发挥着至关重要的作用。为保证其准确性和…...

【Vim Masterclass 笔记16】S07L32 + L33:同步练习09 —— 掌握 Vim 宏操作的六个典型案例(含点评课内容)

文章目录 S07L32 Exercise 09 - Macros1 训练目标2 操作指令2.1. 打开 macros-practice.txt 文件2.2. 练习1&#xff1a;将旧版 Python 代码转换为新版写法2.3. 练习2&#xff1a;根据列表内容批量创建 Shell 脚本2.4. 练习3&#xff1a;对电话号码作格式化处理2.5. 练习4&…...

LabVIEW 实现线路板 PCB 可靠性测试

在电子设备制造领域&#xff0c;线路板 PCB&#xff08;Printed Circuit Board&#xff09;的可靠性直接影响产品的整体性能和使用寿命。企业在生产新型智能手机主板时&#xff0c;需要对 PCB 进行严格的可靠性测试&#xff0c;以确保产品在复杂环境下能稳定运行。传统的测试方…...

深入内核讲明白Android Binder【二】

深入内核讲明白Android Binder【二】 前言一、Binder通信内核源码整体思路概述1. 客户端向服务端发送数据流程概述1.1 binder_ref1.2 binder_node1.3 binder_proc1.4 binder_thread 2. 服务端的binder_node是什么时候被创建的呢&#xff1f;2.1 Binder驱动程序为服务创建binder…...

TextButton组件的功能与用法

文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了CircleAvatar Widget,本章回中将介绍Button这种Widget&#xff0c;闲话休提&#xff0c;让我们一起Talk Flutter吧。 1 概念介绍 关于Button相信大家都很熟悉&#xff0c;也就是我们常用的按钮。用户按下按钮后…...

HTML5+Canvas实现的鼠标跟随自定义发光线条源码

源码介绍 HTML5Canvas实现的鼠标跟随自定义发光线条特效源码非常炫酷&#xff0c;在黑色的背景中&#xff0c;鼠标滑过即产生彩色变换的发光线条效果&#xff0c;且线条周围散发出火花飞射四溅的粒子光点特效。 效果预览 源码如下 <!DOCTYPE html PUBLIC "-//W3C//D…...

AS自治系统

引言 通过前几天的学习&#xff0c;我们基本了解了静态路由&#xff0c;有静态就肯定有动态&#xff0c;那他们又有哪些区别呢&#xff1f; 静态路由&#xff1a;由网络管理员手工填写的路由信息。动态路由&#xff1a;所有路由器运行相同路由协议&#xff0c;之后&#xff0c;…...

PyQt6 与 REST API:如何实现桌面应用与 Web 服务的无缝对接

PyQt6 与 REST API&#xff1a;如何实现桌面应用与 Web 服务的无缝对接 今日水一篇 在当今互联网时代&#xff0c;数据交互无处不在。桌面应用与 Web 服务的结合&#xff0c;能够为用户提供更丰富、更实时的功能体验。本文将介绍如何利用 PyQt6 实现桌面应用与 REST API 的无…...

endnote x9 如何将参考文献和文中的应用格式由annotated变为编码,例[1],[2]

在 EndNote X9 中&#xff0c;将参考文献和文中引用格式更改为编码形式&#xff08;如 [1], [2]&#xff09;需要以下步骤&#xff1a; 1. 选择合适的输出样式 打开 EndNote X9。点击菜单栏的 "Edit" > "Output Styles" > "Open Style Manage…...

题解 CodeForces 430B Balls Game 栈 C/C++

题目传送门&#xff1a; Problem - B - Codeforceshttps://mirror.codeforces.com/contest/430/problem/B翻译&#xff1a; Iahub正在为国际信息学奥林匹克竞赛&#xff08;IOI&#xff09;做准备。有什么比玩一个类似祖玛的游戏更好的训练方法呢&#xff1f; 一排中有n个球…...

管理口令安全和资源(二)

DBMS_METADATA DBMS_METADATA 是 Oracle 数据库中的一个包&#xff0c;它提供了用于管理数据库元数据的工具和过程。元数据是关于数据的数据&#xff0c;它描述了数据库的结构&#xff0c;包括表、视图、索引、存储过程、用户和其他数据库对象的信息。DBMS_METADATA 包允许用户…...