2024三掌柜赠书活动第十一期:精通区块链开发技术(第2版)

目录

  • 前言
  • 关于区块链开发技术
  • 关于《精通区块链开发技术(第2版)》
  • 编辑推荐
  • 内容简介
  • 作者简介
  • 图书目录
  • 书中前言/序言
  • 《精通区块链开发技术(第2版)》全书速览
  • 结束语

前言

作为开发者经常在技术圈活动,会接触各种前沿技术,比如区块链技术的崛起引发了全球范围内的关注和热潮,它被认为是一项具有革命性潜力的创新技术,区块链不仅改变着金融行业,还渗透到了供应链、医疗、能源等各个领域,为了能够适应这个充满机遇和挑战的时代,我们需要掌握区块链开发技术。那么本文就来聊聊开发者如何入门及精通区块链开发技术的,仅作技术交流和讨论。

关于区块链开发技术

上文也提到了区块链是近年来备受瞩目的技术,被广泛用于加密货币交易、智能合约以及数据安全等领域,随着区块链技术的日益成熟和普及,精通区块链开发技术变得越来越重要。如果想要精通区块链开发技术首先需要理解区块链的基本概念和原理,因为区块链是一个分布式数据库,数据以块的形式链接在一起形成链条,每个块都包含一些数据以及前一个块的哈希值,确保数据的不可篡改和安全性。精通区块链开发技术需要深入了解区块链的共识算法、加密算法和分布式技术等核心原理。

我觉得精通区块链开发技术需要具备扎实的编程基础和技能,区块链开发通常使用的编程语言包括Solidity、Go、C++等,精通这些编程语言以及相关的工具和框架是必备的,还需要熟悉智能合约开发、分布式应用开发以及数据结构和算法等知识也是必不可少的。

除了技术的基础知识,精通区块链开发技术还需要具备解决问题和创新的能力。区块链技术的发展日新月异,每天都会出现新的挑战和机遇。只有具备对问题进行分析和解决的能力,才能在不断发展的区块链领域立足和取得突破。要精通区块链开发技术,不仅需要充分理解区块链的核心概念和原理,同时也需要不断学习和实践。区块链开发者应该关注行业的最新动态和技术发展,参与到相关的社区和项目中,积累经验和知识。

还有就是精通区块链开发技术也需要具备良好的团队合作和沟通能力。区块链开发通常涉及多个领域的知识和技术,需要与其他开发者、设计师、产品经理等密切合作。良好的团队合作和沟通能力可以提高工作效率和质量,使得区块链项目更加成功。

关于《精通区块链开发技术(第2版)》

接下来给大家推荐一本关于入门区块链开发的书籍,这是一本想要入门区块链开发的开发者离不开的干货图书,一经上市就登上了当当“计算机与互联网”图书排行榜前列。本书从区块链技术概念到技术实践,助你在区块链开发领域取得成功!另外,关注本文博主,点赞+收藏本文,且在本文评论区评论“我要入门区块链开发”,将选取三名幸运读者送出纸质版《精通区块链开发技术(第2版)》一本,截止时间:2024.02.24。入手《精通区块链开发技术(第2版)》传送门:《精通区块链开发技术(第2版)》([美]伊姆兰·巴希尔 著 王烈征 译)【简介_书评_在线阅读】 - 当当图书或者《精通区块链开发技术(第2版)》([美]伊姆兰·巴希尔)【摘要 书评 试读】- 京东图书,个人觉得这本书非常的不错,是一本不可多得的好书,值得拥有去学习。

编辑推荐

实施区块链技术可以带来诸多好处,这已引起学术界和行业研究人员的浓厚兴趣,他们正在持续不懈地研究该技术,并且涌现了许多相关的联盟、工作组、项目和专业机构,它们参与了该技术的开发和进一步发展的工作。

内容简介

《精通区块链开发技术(第2版)》详细阐述了与区块链开发技术相关的基本解决方案,主要包括区块链入门、去中心化、对称密码学、公钥密码学、比特币详解、比特币网络和支付、比特币客户端和API、山寨币、智能合约、以太坊、开发工具和框架、Web3详解、超级账本、替代区块链、区块链—代币之外的应用、可伸缩性和其他挑战、当前发展和未来展望等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。

作者简介

伊姆兰·巴希尔(Imran Bashir)拥有伦敦大学皇家霍洛威学院信息安全专业的科学   硕士学位,并具有软件开发、解决方案架构、基础设施管理和IT服务管理的背景,他还是电气与电子工程师协会(IEEE)和英国计算机协会(BCS)的成员。

Imran在公共和金融领域拥有16年的工作经验。在进入金融服务行业之前,他曾在公共部门负责大型IT项目。在进入金融服务行业之后,他在欧洲金融之都—伦敦的不同  金融公司担任过各种技术职务。他目前在伦敦的一家投资银行工作,担任技术部副总裁的职务。

图书目录

第1章  区块链入门 1

1.1  区块链技术的发展 1

1.2  分布式系统 5

1.3  区块链和比特币的历史 7

1.3.1  电子现金 7

1.3.2  区块链 9

1.4  区块链定义和相关术语 9

1.4.1  点对点 9

1.4.2  分布式账本 10

1.4.3  加密安全 10

1.4.4  仅可追加 10

1.4.5  可通过共识更新 11

1.5  区块链的通用元素 14

1.5.1  区块链的工作原理 16

1.5.2  区块链累积区块的方式 16

1.5.3  区块链技术的优点和局限性 17

1.5.4  区块链技术的层次 18

1.5.5  区块链的特性 20

1.6  区块链的类型 22

1.6.1  分布式账本 23

1.6.2  分布式账本技术 23

1.6.3  公共区块链 23

1.6.4  私有区块链 24

1.6.5  半私有区块链 24

1.6.6  侧链 24

1.6.7  许可型账本 25

1.6.8  共享账本 25

1.6.9  完全私有和专有区块链 25

1.6.10  代币化区块链 25

1.6.11  无代币区块链 26

1.7  共识 26

1.7.1  共识机制 26

1.7.2  共识机制的类型 27

1.7.3  区块链中的共识 27

1.8  CAP定理和区块链 30

1.9  小结 31

第2章  去中心化 33

2.1  去中心化的意义 33

2.2  去中心化的方法 35

2.2.1  去中介 35

2.2.2  竞争驱动的去中心化 36

2.3  去中心化的途径 38

2.3.1  去中心化的思路 38

2.3.2  去中心化框架示例 39

2.4  生态系统的去中心化 39

2.4.1  存储 39

2.4.2  通信 40

2.4.3  计算能力和去中心化 41

2.5  智能合约 43

2.6  去中心化组织 43

2.6.1  去中心化自治组织 43

2.6.2  去中心化自治公司 44

2.6.3  去中心化自治社团 44

2.6.4  去中心化应用程序 45

2.7  去中心化应用程序 45

2.7.1  去中心化应用程序的要求 45

2.7.2  去中心化应用程序和移动App的区别 46

2.7.3  KYC链 46

2.7.4  OpenBazaar 46

2.7.5  Lazooz 47

2.8  去中心化的平台 47

2.8.1  以太坊 47

2.8.2  MaidSafe 48

2.8.3  Lisk 48

2.9  小结 48

第3章  对称密码学 49

3.1  使用OpenSSL命令行 49

3.2  密码学简介 50

3.3  密码学的数学基础 51

3.3.1  集合 51

3.3.2  群 51

3.3.3  域 51

3.3.4  有限域 52

3.3.5  阶 52

3.3.6  阿贝尔群 52

3.3.7  质数域 52

3.3.8  环 52

3.3.9  循环群 52

3.3.10  模运算 53

3.4  密码学模型 53

3.5  现代信息安全的基本要求 54

3.5.1  保密性 54

3.5.2  完整性 54

3.5.3  可认证性 54

3.5.4  不可否认性 56

3.5.5  可追责性 56

3.6  密码学原语 57

3.7  对称密码学介绍 58

3.7.1  流密码 58

3.7.2  分组密码 59

3.8  分组密码的加密模式 61

3.8.1  电子密码本 61

3.8.2  密码块链接 62

3.8.3  计数器模式 62

3.9  密钥流生成模式 63

3.9.1  消息认证模式 63

3.9.2  加密哈希模式 64

3.10  数据加密标准 64

3.10.1  高级加密标准 64

3.10.2  AES工作原理 65

3.11  小结 68

第4章  公钥密码学 69

4.1  非对称密码学 70

4.1.1  整数分解 72

4.1.2  离散对数 72

4.1.3  椭圆曲线 73

4.2  公钥和私钥 73

4.3  RSA算法原理 74

4.3.1  RSA算法步骤 74

4.3.2  使用RSA进行加密和解密 75

4.4  椭圆曲线密码学 75

4.4.1  ECC背后的数学 75

4.4.2  点加法 76

4.4.3  点加倍 78

4.5  ECC中的离散对数问题 80

4.6  在OpenSSL中使用RSA算法 82

4.6.1  RSA公钥和私钥对 82

4.6.2  加密与解密 85

4.7  在OpenSSL中使用ECC算法 86

4.7.1  查看ECC标准 86

4.7.2  生成私钥 87

4.8  哈希函数的属性 89

4.8.1  将任意消息压缩为固定长度的摘要 89

4.8.2  易于计算 89

4.8.3  原像抗性 90

书中前言/序言

 本书的目标是介绍区块链技术的理论和实践两方面的内容。自本书第1版出版以来,区块链技术又出现了很多改变和进步,因此也就有了更新本书的需要。

实施区块链技术可以带来诸多好处,这已引起学术界和行业研究人员的浓厚兴趣,他们正在持续不懈地研究该技术,并且涌现了许多相关的联盟、工作组、项目和专业机构,它们参与了该技术的开发和进一步发展的工作。

本书第2版将对去中心化、智能合约以及以太坊、比特币和Hyperledger Fabric等各种区块链平台进行深入介绍。阅读完本书之后,读者将能够对区块链技术的内部运作有深入的了解,并能够开发区块链应用程序。

本书涵盖与区块链技术相关的所有主题,包括密码学、加密货币、比特币、以太坊以及用于区块链开发的各种其他平台和工具。如果读者对计算机科学有基本的了解,并具有基本的编程经验,那么将从本书中充分受益。

如果读者没有任何编程经验,也不妨碍轻松阅读本书,因为本书在必要时会提供相关的背景资料。

本书读者

本书适用于希望深入了解区块链的任何人,区块链应用程序的开发人员可以将其用作参考书。本书既可以用作与区块链技术和加密货币相关课程的教科书,也可以用作与加密货币和区块链技术相关的各种考试和认证的学习资料。

内容介绍

本书共包含19章,具体内容如下。

第1章“区块链入门”。详细阐释了区块链技术所基于的分布式计算的基本概念,讨论了区块链的历史、定义、相关术语、通用元素和类型等,并介绍了作为区块链技术核心的各种共识机制。

第2章“去中心化”。阐述了去中心化的概念及其与区块链技术的关系,介绍了可用于去中心化过程或系统去中心化的各种方法或平台。

第3章“对称密码学”。介绍了对称密码学的理论基础,这对于理解如何提供各种安全服务(如机密性和完整性)是必不可少的。

第4章“公钥密码学”。通过实际示例介绍了诸如RSA算法和ECC算法、公钥和私钥、数字签名和哈希函数之类的概念,介绍了金融市场和交易基础知识,因为在金融领域存在许多有趣的区块链技术用例。

第5章“比特币详解”。从定义、交易执行、区块链结构和挖矿等多方面介绍了比特币,这是个区块链,也是目前市值和交易活跃的区块链。此外,还详细介绍了与比特币加密货币有关的技术概念。

第6章“比特币网络和支付”。详细介绍了比特币网络、相关协议和各种比特币钱包。此外,还介绍了比特币改进提案、比特币交易和支付等。

第7章“比特币客户端和API”。介绍了可用于构建比特币应用程序的各种比特币客户端和编程API。

第8章“山寨币”。详细解释了山寨币的由来、工作量证明方案的替代方法、各种权益类型和难度目标重新调整算法等,并介绍了山寨币的开发和不同山寨币的示例。

第9章“智能合约”。对智能合约进行了深入的讨论,介绍了诸如智能合约的历史、智能合约的定义、李嘉图合约、Oracle,以及在区块链上部署智能合约等主题。

第10章“以太坊入门”。详细介绍了以太坊区块链的设计和架构,讨论了与以太坊区块链相关的各种技术概念,深入解释了该平台的基本原理、功能和组件。

第11章“深入了解以太坊”。阐述了更多与以太坊相关的内容,包括编程语言和操作码、区块和区块链、节点和矿工、钱包和客户端软件、API和工具、支持协议等。

第12章“以太坊开发环境”。讨论了与以太坊智能合约开发和编程有关的主题,包括建立一个私有网络和启动网络等。

第13章“开发工具和框架”。详细介绍了Solidity编程语言以及用于以太坊开发的各种相关工具和框架。

第14章“Web3详解”。介绍了使用以太坊区块链开发去中心化应用程序和智能合约,并对Web3 API进行了详细介绍,同时列举了多个实际示例。

第15章“超级账本”。讨论了来自Linux基金会的Hyperledger项目,包括Fabric、Sawtooth Lake和Corda等。

第16章“替代区块链”。介绍了各种替代区块链的解决方案和平台,提供了替代区块链和相关平台的技术细节和功能。

第17章“区块链—代币之外的应用”。对区块链技术在除加密货币以外的领域(包括物联网、政府治理、媒体和金融等)的应用进行了实用而详细的介绍。

第18章“可伸缩性和其他挑战”。讨论了区块链技术面临的挑战(主要包括可伸缩性、隐私保护和安全性),以及如何应对这些挑战。

第19章“当前发展和未来展望”。介绍了区块链技术的新兴趋势和挑战、区块链研究和项目、区块链开发工具等。此外,还介绍了对区块链技术未来发展的一些预测。

充分利用本书

? 本书中的所有示例均在Ubuntu 16.04.1 LTS(Xenial)和macOS 10.13.2版本上开发。因此,建议使用Ubuntu或任何其他类似UNIX的系统。当然,也可以使用任何其他操作系统(如Windows或Linux),只不过书中的示例(尤其是与安装相关的示例)就可能需要进行相应的更改。

? 本书使用OpenSSL 1.0.2g命令行工具开发了与加密相关的示例。

? 以太坊Solidity示例是使用Remix IDE开发的,其下载地址如下:

Remix - Ethereum IDE

? 本书以太坊示例是使用以太坊拜占庭版本开发的,其下载地址如下:

Home | ethereum.org

? Vilros使用Raspberry Pi套件开发了与物联网相关的示例,但它也可以使用任何其他模型或工具套件。具体来说,Raspberry Pi 3 Model B 1.2版本可用于构建物联网的硬件示例。Node.js 8.9.3版本和npm 5.5.1版本已用于下载相关软件包并运行物联网示例的Node.js服务器。

? Truffle框架已用于智能合约部署的一些示例中,其下载地址如下:

Home - Truffle Suite

通过npm提供的任何版本都应该是合适的。

下载示例代码文件

读者可以从www.packtpub.com下载本书的示例代码文件。具体步骤如下:

(1)登录或注册www.packtpub.com。

(2)在Search(搜索)框中输入本书名称Mastering Blockchain的一部分(不区分大小写,并且不必输入完全),即可看到本书出现在推荐下拉菜单中,如图P-1所示。

图P-1

(3)单击选择Mastering Blockchain-Second Edition(本书英译名称),在其详细信息页面中单击Download code files(下载代码文件)按钮,如图P-2所示。需要说明的是,读者需要登录此网站才能看到该下载按钮(注册账号是免费的)。

下载文件后,请确保使用下列软件的版本解压或析取文件夹中的内容:

? WinRAR/7-Zip(Windows系统)。

? Zipeg/iZip/UnRarX(Mac系统)。

图P-2

? 7-Zip/PeaZip(Linux系统)。

本书的代码包也已经在GitHub上托管,对应网址如下: 

GitHub - PacktPublishing/Mastering-Blockchain-Second-Edition: Mastering Blockchain - Second Edition, published by Packt

在该页面上,单击Code(代码)按钮,然后选择Download ZIP即可下载本书代码包,如图P-3所示。

如果代码有更新,则会在现有GitHub存储库上更新。

图P-3

下载彩色图像

我们还提供了一个PDF文件,其中包含本书中使用的屏幕截图/图表的彩色图像,可以通过以下地址下载:

http://www.packtpub.com/sites/default/files/downloads/MasteringBlockchainSecondEdition_ ColorImages.pdf

本书约定

本书中使用了许多文本约定。

(1)CodeInText:表示文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟URL和用户输入等。以下段落就是一个示例。

POST是HTTP支持的请求方法。有关POST的更多信息,请访问以下网址。

https://en.wikipedia.org/wiki/POST_(HTTP)

(2)有关代码块的设置如下所示:

pragma solidity ^0.4.0; 

contract TestStruct {

struct Trade

{

uint tradeid; 

uint quantity; 

uint price; 

string trader;

}

// 该结构可以按以下方式初始化和使用

Trade tStruct=Trade({tradeid:123,quantity:1,price:1,trader:"equinox"});

}

(3)当要强调代码块的特定部分时,相关行或项目以粗体显示:

pragma solidity ^0.4.0; 

contract TestStruct {

struct Trade

{

uint tradeid; 

uint quantity; 

uint price; 

string trader;

}

// 该结构可以按以下方式初始化和使用

Trade tStruct=Trade({tradeid:123,quantity:1,price:1,trader:"equinox"});

}

(4)任何命令行输入或输出都采用如下所示的粗体代码形式:

$ sudo apt-get install solc

(5)术语或重要单词采用中英文对照形式,在括号内保留其英文原文。示例如下:

该文件包含各种元素,重要的是应用程序二进制接口(Application Binary Interface,ABI),可以使用geth来查询它。通过Solidity编译器可生成该文件,也可以直接从Remix IDE合约详细信息中复制它。

(6)对于界面词汇则保留其英文原文,在后面使用括号添加其中文翻译。示例如下:

请注意,在上面的屏幕截图中,有许多字段,例如From(付款人的地址)、To(收款人的地址)、BTC(比特币)、GBP(英镑)和Fee(费用)。这些字段的意思不言而喻,但值得一提的是,Fee是根据交易规模的大小来计算的,而Fee Rate(费率)则是一个取决于网络中交易的数量的值。

(7)本书还使用了以下两个图标。

 表示警告或重要的注意事项。

 表示提示或小技巧。

《精通区块链开发技术(第2版)》全书速览

结束语

通过本文的分享讲解,想必大家对区块链开发技术有了更深的了解吧,尤其是《精通区块链开发技术》(第2版)是一本权威而实用的指南,适合希望深入了解和掌握区块链开发技术的读者,通过学习本书你将能够成为一名具有丰富经验和深入理解的区块链开发专家,为未来的区块链技术发展做出贡献。无论你是开发人员、研究人员还是企业决策者,本书都将成为你的不可或缺的参考资料。另外,精通区块链开发技术需要理解区块链的基本原理、具备扎实的编程基础和技能,同时还需要具备解决问题和创新的能力。只有通过不断学习和实践,参与到相关的社区和项目中,加强团队合作和沟通能力,才能真正掌握区块链开发技术,为区块链领域的发展做出贡献。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL初识——安装配置

文章目录 1. MySQL卸载2. 获取MySQL官方yum源安装包3. 安装4. 启动MySQL5. 登录6. 配置配置文件 Tips: 本章是Centos 7安装配置myql,配置操作用的是root权限 1. MySQL卸载 首先我们先查看一下系统中是否有mysql服务 ps axj | grep mysql如果有&#xf…

部署安装有道QanyThing

前提条件: 1、win10系统更新到最新的版本,系统版本最好为专业版本 winver 查看系统版本,内部版本要大于19045 2、CPU开启虚拟化 3、开启虚拟化功能,1、2、3每步完成后均需要重启电脑; 注:windows 虚拟…

关于 AC 自动机

什么是 AC 自动机 AC 自动机,全称 Aho-Corasick 自动机,是一种用于字符串搜索的算法,由 Alfred V. Aho 和 Margaret J. Corasick 在 1975 年提出。这个算法是为了解决在一个主文本字符串中查找多个模式字符串(或称为“关键词”&a…

IOT-Reaserch安装ghidra以及IDEA和ghidra的配置

Linux research 5.4.0-91-generic #102~18.04.1-Ubuntu SMP Thu Nov 11 14:46:36 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux java --version IOT自带的java是符合要求的,不需要额外下载 iotresearch:~/install-file$ java --version openjdk 11.0.13 2021-10-19 …

linux platform架构下I2C接口驱动开发

目录 概述 1 认识I2C协议 1.1 初识I2C 1.2 I2C物理层 1.3 I2C协议分析 1.3.1 Start、Stop、ACK 信号 1.3.2 I2C协议的操作流程 1.3.3 操作I2C注意的问题 2 linux platform驱动开发 2.1 更新设备树 2.1.1 添加驱动节点 2.1.2 编译.dts 2.1.3 更新板卡中的.dtb 2.2 …

观察者模式, 发布-订阅模式, 监听器模式

观察者模式, 发布-订阅模式, 监听器模式 观察者模式 观察者模式是一种行为型设计模式, 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新 角色模型和结构图 在观察者模式中,只有两种…

⭐北邮复试刷题LCR 018. 验证回文串__双指针 (力扣119经典题变种挑战)

LCR 018. 验证回文串 给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。 本题中,将空字符串定义为有效的 回文串 。 示例 1: 输入: s “A man, a plan, a canal: Panama” 输出: true 解释…

【PX4SimulinkGazebo联合仿真】在Simulink中使用ROS2控制无人机沿自定义圆形轨迹飞行并在Gazebo中可视化

在Simulink中使用ROS2控制无人机沿自定义圆形轨迹飞行并在Gazebo中可视化 系统架构Matlab官方例程Control a Simulated UAV Using ROS 2 and PX4 Bridge运行所需的环境配置PX4&Simulink&Gazebo联合仿真实现方法建立Simulink模型并完成基本配置整体框架各子系统实现原理…

【Vuforia+Unity】AR05-实物3D模型识别功能实现

对于3D物体的识别,可以是虚拟的也可以是实物的,但是对于虚拟的三维模型意义不大,我们完全可以把三维模型放在屏幕上截一张图,以图片识别的方式召唤数字内容,不过在虚拟现实中或许有用。 因此本文探讨的技术路线主要是…

Docker之查看并获取最新Ubuntu镜像(十)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

【快速搞定Webpack5】修改输出文件目录及自动清理上次打包文件(五)

介绍 默认情况下webpack打包后,我们的图片和js等文件都会被打包到dist目录下,文件多了混淆在一起一方面不利于文件的查找和管理,另外一方面看上去也不美观。 所以今天我们学习的内容就是控制输出后的文件进入不同的目录。 一、配置 新增4…

Nginx配置组成与性能调优

目录 一、Nginx配置介绍 1. 模块组成 2. 图示 3. 相关框架 二. 配置调优 1. 全局配置 1.1 关闭版本和修改版本 1.2 修改启动的进程数 1.3 cpu与work进程绑定 1.4 pid路径 1.5 nginx进程的优先级(work进程的优先级) 1.6 调试work进程打开的文…

npm run dev和npm run serve两个命令的区别

npm run dev和npm run serve两个命令的区别 前端开发过程中运行Vue项目的时候,有时候使用npm run serve命令可以启动项目,有时候却会报错;有时候使用npm run dev命令可以启动项目,有时候却也会报错。是什么原因造成这种情况呢&am…

问题:Spark SQL 读不到 Flink 写入 Hudi 表的新数据,打开新 Session 才可见

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…

4、电源管理入门之子系统reset

目录 1. 简介 2. consumer-驱动软件 3. provider-reset驱动 3.1 整体介绍 3.2 reset复位API说明 之前的文章电源管理入门-1关机重启详解介绍了整机SoC的重启也可以说是reset,那么子系统的reset,例如某个驱动(网卡、USB等)或者某个子系统(NPU、ISP等运行在独立的M核或…

5、电源管理入门之 arm-scmi和mailbox核间通信

目录 1. 整体架构介绍 2 Linux中reset模块 2.1 Reset consumer 2.2 Reset provider 3. Linux SCMI reset通信 3.1 SCMI reset协议初始化 3.2 SCMI reset消息收发 4. SCP中reset 4.1 固件新增module 4.2 scmi_reset_domain初始化 4.3 scmi_reset_domain消息处理 4.3…

排序算法1:冒泡排序、快速排序、插入排序

排序算法&#xff1a;交换类排序&#xff0c;插入类排序、选择类排序、归并类排序 交换类排序&#xff1a;冒泡排序、快速排序 一、冒泡排序 #include <stdio.h> #include <stdlib.h> #include <time.h> typedef int ElemType; typedef struct{ElemType *e…

linux CentOs 安装docker 推荐生产环境使用

目录 1. 在CentOs上安装docker所需的系统环境 2. 卸载旧版本 2.1 查看是否已安装docker 2.2 卸载已安装的docker 3. 安装方式 3.1 使用rpm存储库安装(推荐使用该方法) 3.2 从包中安装 4. 开始docker 1. 在CentOs上安装docker所需的系统环境 需要以下CentOS版本之一的维…

压缩感知的图像仿真(MATLAB源代码)

压缩感知是一种用于高效获取和表示信号的技术&#xff0c;它可以显著减少数据的采样和传输量&#xff0c;同时保持对信号的高质量恢复能力。在压缩感知中&#xff0c;信号被表示为其在一个稀疏基中的稀疏线性组合。通过仅使用少量的随机投影测量&#xff0c;就能够捕捉信号的大…

Vue状态管理库-Pinia

一、Pinia是什么&#xff1f; Pinia 是 Vue 的专属状态管理库&#xff0c;它允许支持跨组件或页面共享状态&#xff0c;即共享数据&#xff0c;他的初始设计目的是设计一个支持组合式API的 Vue 状态管理库&#xff08;因为vue3一个很大的改变就是组合式API&#xff09;,当然这…