web3.0 开发实践

优质博文:IT-BLOG-CN

一、简介

Web3.0也称为去中心化网络,是对互联网未来演进的一种概念性描述。它代表着对现有互联网的下一代版本的设想和期望。Web3.0的目标是通过整合区块链技术、分布式系统和加密技术等新兴技术,构建一个更加去中心化、安全、隐私保护和用户的互联网。

Web 3.0具备四项主要功能

【1】去中心化: 去中心化的Web应用程序是Web 3.0的关键功能。其目的是在去中心化网络中分发和存储数据。在这些网络中,不同的实体拥有底层基础设施,用户直接向存储提供商付费以访问该空间。

去中心化的应用程序还将信息副本存储在多个位置,并确保整个过程中的数据一致性。每位用户可以控制其数据存放的位置,而不必将其移交给集中式基础设施。去中心化的互联网用户可根据需要出售自己的数据。

【2】去信任性: 在集中式Web应用程序和服务中,用户通常需要信任中央权威机构来管理其数据、交易和交互。这些中央权威机构可以控制用户数据,并且可以操纵系统的规则。数据可能存在安全风险或管理不善,从而导致用户信息丢失或滥用。

相比之下,Web3引入去信任性,因此用户可以在无需信任任何特定方的情况下进行交易和交互。

【3】语义网: 借助语义网,应用程序能够通过理解Web数据的内容和上下文来执行复杂的任务。语义网使用元数据和人工智能为用户生成的数据提供含义(语义)。

Web 3.0旨在更全面地转向目前存在于现有Web技术某些方面中的语义网技术。例如,搜索引擎可提供更准确且与上下文相关的搜索结果,而智能代理则可帮助用户更高效地执行任务。

【4】互操作性: Web 3.0的目标是在不同技术之间建立更多的互连,从而数据无需中介即可在不同平台之间流动。互操作性使数据具有可移植性,因此用户可以在服务之间无缝切换,同时保持自己的首选项、配置文件和设置。

与此同时,集成各种物联网IoT设备的协议将Web的覆盖范围扩展到传统边界之外。例如,支持无边界交易的加密货币技术允许跨地域和政治边界进行价值交换。

二、web1.0 web2.0 web3.0 之间的区别

特点web1.0(静态互联网)web2.0(互动互联网)web3.0(去中心化互联网)
时间20世纪90年代初到2000年代初2000年初到现在2010年代后期至未来
概述web1.0是互联网的初始阶段,主要特点是静态内容和信息的单向传播,内容由少数发布者提供,用户主要是信息的消费者web2.0引入了互动内容和社交网络,使用户即是信息的消费者也是生产者web3.0被很多人称作互联网的未来,强调去中心化、信任最小化和用户主权
特点用户是信息的消费者,互动性低互动性增强,社交网络、博客、视频分享平台数据和应用的去中心化管理,用户控制自己的数据和身份,降低对中心化中介的依赖
主要技术HTML、GIF图像、电子邮件AJAX、JavaScript、社交媒体平台区块链、智能合约、去中心化存储IPFS、去中心身份认证DID
代表平台雅虎、新浪、MSN抖音、微博、YouTube以太坊、Polkadot、Uniswap

Web 2.0面临的挑战:
【1】服务提供商可能无法在不损失声誉和丢失客户群体的情况下将其数据转移到其他平台。
【2】服务用户对其数据使用和管理方式的控制权有限。
【3】集中式平台可能会独立制定某些对最终用户产生重大影响的决策。例如,这些平台可以筛选某些用户生成的内容或限制最终用户对某些网站功能的访问。

三、区块链

区块链技术构成了许多Web 3.0应用程序的基础,提供了透明度、不可变性和去信任性。区块链是去中心化的分布式分类账,用于存储节点网络上的交易记录或数据。

区块链数据库将数据存储在按时间顺序保持一致的区块中,只有在通过对等网络达成共识后,才能删除或修改这些区块。区块链内置的机制可以阻止未经授权的交易条目并在这些交易的共享视图中创建一致性。因此,可以使用区块链创建不可更改或不可变的分类账,以此跟踪所有类型的交易。

接下来将介绍其他推动Web 3.0发展的关键技术。

区块链: 一串包含交易信息的数据块按照时间顺序有序连接组成的链表结构。
【1】区块Block 一个区块包含了一系列交易记录,每个区块都有一个独特的哈希值和前一个区块的哈希值;
【2】链Chain 区块通过前一个区块的哈希值链接在一起,形成一个不可篡改的记录链条;

【3】节点: 每个安装有区块链客户端软件并连接在区块链网络上的智能设备(矿机、手机、服务器等);
【4】分布式: 区块链中,不存在任何“中央机构”去限制节点的正常操作。每个节点的数据都是独立记录和存储的,都可以进行交易处理,并以某种共识机制进行投票。共识当成后都会更新分布式账本的内容,每个节点也会维护自己的账本记录。
【5】51%法则: 达成共识后的数据会永远存储,如果有恶意节点篡改数据,需要同时控制链上超过51%的节点来提供证明。节点越多,该区块链越安全。
【6】共识机制Consensus Mechanism 用于确保区块链网络中所有节点对数据的统一认知。常见的共识机制包括:
   ☑️ 工作量证明Proof of Work, PoW:矿工通过解决复杂的数据问题来验证交易。
   ☑️ 权益证明Proof of Stake,PoS:节点根据持有的加密货币数量和时间来验证交易。
   ☑️ 委托权益证明Delegated Proof of Stake,DPoS:通过投票选出代表节点来验证交易。

智能合约

智能合约是基于区块链技术的自动执行计算机程序,具有公开透明、不可篡改和永久运行等特点。其通过代码强制执行合约条款,提高了交易的效率和可靠性,是数字经济的重要组成部分。智能合约的开发需明确需求、选择平台、编写代码、测试、部署、调试、维护和更新等步骤。

智能合约的特点:
【1】公开透明: 智能合约部署在区块链上,其内容是公开透明的,所有参与者都可以查看合约的内容和执行过程,从而增加了信任和透明度。
【2】不可篡改: 由于智能合约的执行基于区块链技术,合约内容是无法被篡改或修改的,确保了合约的可靠性和安全性。
【3】永久运行: 运行在区块链上的智能合约由网络节点共同维护,因此可以永久地运行下去,不受单一机构或服务器的控制。

智能合约的开发逻辑通常遵循以下步骤:
【1】确定需求: 首先,你需要明确智能合约的需求和功能。这包括确定合约的参与者、合约的执行条件、合约的功能等。确保你对所需的合约功能有清晰的理解。
【2】选择合适的平台: 根据你的需求和技术栈,选择合适的区块链平台进行开发。目前比较流行的区块链平台包括以太坊、EOSTron等,它们提供了各种开发工具和语言来编写智能合约。
【3】选择合适的编程语言: 不同的区块链平台支持不同的编程语言来编写智能合约。比如以太坊主要使用Solidity语言,EOS使用C++WebAssemblyTron使用SolidityJava等。选择适合你需求和技能的编程语言。

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
  
contract Demo {
    address public owner;
  
    // 合约构造函数,设置合约owner
    constructor() {
        owner = msg.sender;
    }
  
    // 提现函数,owner可以提现合约中的以太币
    function withdraw(uint _amount) external {
        require(msg.sender == owner, "You are not the owner");
        require(address(this).balance >= _amount, "Insufficient balance");
        payable(owner).transfer(_amount);
    }
  
    // 转账函数,将合约中的以太币转账给指定地址
    function transfer(address payable _to, uint _amount) external {
        require(address(this).balance >= _amount, "Insufficient balance");
        _to.transfer(_amount);
    }
  
    // 获取合约余额
    function getBalance() external view returns (uint) {
        return address(this).balance;
    }
  
     // 允许合约接收以太币
    receive() external payable {}
  
}

【4】编写智能合约代码: 根据需求和选择的平台及语言,编写智能合约的代码。在编写代码时,确保考虑到安全性、效率和可扩展性等方面的问题。
【5】测试智能合约: 在部署合约之前,务必进行充分的测试。测试可以包括单元测试、集成测试和功能测试等,以确保合约的功能和安全性达到预期。
【6】部署智能合约: 在选择的区块链平台上部署智能合约。部署合约时需要支付一定的Gas费用,确保你有足够的资金来支付部署费用。
【7】调试和优化: 部署后,可能需要进一步调试和优化合约的代码。根据实际运行情况,及时调整合约的逻辑和参数,以提高合约的性能和稳定性。
【8】维护和更新: 智能合约的开发不是一次性的工作,需要持续的维护和更新。随着业务需求的变化和新的技术进展,可能需要对合约进行更新和升级。

DApps(Decentralized Applications,去中心化应用)

去中心化应用程序DAPPS是一种基于区块链技术构建的应用程序,它与传统的中心化应用程序有所不同。在传统中心化应用程序中,数据由单一的机构或公司掌控,而DAPPS则将数据所有权归还给用户,并且不依赖于任何中心化的服务器或云服务。

DAPPS的优势:
【1】数据安全: 由于DAPPS的数据存储在区块链上,因此数据安全性得到了极大的提高。黑客想要攻击DAPPS的难度远高于传统的中心化应用程序。
【2】数据所有权归用户所有:DAPPS中,数据所有权归用户所有,而不是归应用程序开发人员所有。这使得用户可以更好地掌控自己的数据。
【3】透明性和可追溯性: 区块链的特性使得DAPPS具有更高的透明性和可追溯性。所有的交易记录和数据变动都会被永久保存,并且可以随时被查询。

DApp的工作原理:
前端: 用户界面,通过Web3.jsEthers.js等库与区块链交互。
智能合约: 后端逻辑,部署在区块链上,处理应用的核心功能。
区块链网络: 分布式账本,存储交易和智能合约的状态。

火出圈的DApp NFT交易中心: opensea.io/ blur.io/
查看当前较火的DApp DApp热度排名

DeFi(Decentralized Finance,去中心化金融)

DeFi 是基于区块链技术的去中心化金融服务,包括借贷、交易、支付和保险等。例如:
   ☑️ Uniswap:去中心化交易所DEX,允许用户直接在链上进行代币交换。
   ☑️ Aave:去中心化借贷平台,用户可以存入加密资产赚取利息或借入资产。

DeFi的优势:
   ☑️ 无需中介:用户直接在区块链上进行交易,减少中介费用和时间。
   ☑️ 高透明度:所有交易和合约公开透明,用户可以验证。
   ☑️ 全球可访问:任何人只需互联网连接即可参与DeFi服务。

DeFi的风险:
   ☑️ 智能合约漏洞:代码漏洞可能导致资金损失。
   ☑️ 市场波动:加密资产价格波动剧烈,存在投资风险。
   ☑️ 法规不确定性:各国对DeFi的监管政策尚未明确。

NFT(Non-Fungible Token,非同质化代币)

NFT是一种独特的数字资产,代表着数字或实体资产的所有权。与传统加密货币(如比特币、以太坊)不同,每个NFT都有独一无二的标识和元数据,使其不可互换。NFT在各个领域都有广泛应用:
【1】数字艺术: 艺术家可以通过NFT销售数字艺术作品,确保作品的唯一性和所有权。这为艺术家提供了新的营销和收益机会,同时为购买者提供了独特的数字艺术品。例如,Beeple的作品Everydays: The First 5000 Days6,900万美元的价格售出,创下了数字艺术品的纪录。
【2】游戏: NFT在游戏中发挥着重要作用,用于代表游戏中的虚拟资产,如道具、角色和稀有物品。玩家可以拥有和交易这些NFT,从而在游戏中展示自己的收藏和实力。一个例子是Axie Infinity游戏中的角色Axie,它们是NFT,玩家可以培养、交易和利用它们进行游戏。
【3】虚拟地产: NFT也被用于购买和交易虚拟世界中的土地和房地产。虚拟地产平台如Decentraland提供了一个数字化的世界,用户可以购买、建设和交易虚拟土地。这种虚拟地产的所有权和价值由NFT来表示。
【4】收藏品: NFT为数字收藏品的认证和交易提供了基础。例如,NBA Top Shot是一个基于NFT的数字篮球卡平台,用户可以购买和交易具有独特价值的数字篮球卡片,这些卡片代表了具体的比赛时刻。

四、开发工具及框架

【1】服务端: 开发可以使用任意服务端框架和语言,只需要保证能与Relay Network进行交互。大多数情况下偏向使用Node环境,因为大部分合约使用NPM进行包管理,使用hardhat做编译和测试流程,使用JavaScript已成为智能合约中不可忽视的一环。使用Node生态开发有助于代码的复用。两个和Web3.0交互的重要js包: Web3.js, Ethers.js

【2】页面端Frontend 前端可使用任意语言和框架进行搭建。包括不限于:React/Vue等各种前端封装框架,Redux等状态管理库,TailwindCSS库。前端当然可以也使用Ether.jsWeb3.js与以太坊进行交易,但在React框架层面下,有更好的hookswagmiuseDApp
   ☑️ Wagmi: 基于ethers.js集成了大量基础的React Hooks,并提供了与外部Provider/Signer 交互的快捷函数。
   ☑️ useDApp: 和wagmi一样,useDApp提供了丰富的React Hooks。相比wagmi,他更复杂,但支持multicall.js

【3】IPFS(InterPlanetary File System)星际文件系统: IPFS是一个去中心化的文件存储和共享网络协议。由Protocol Labs创建,旨在实现一种更高效、安全和持久的文件存储和传输方式。IPFS可以被视为下一代互联网的基础架构之一。
其工作原理如下:
   ☑️ 文件存储: 用户将文件添加到IPFS网络,文件被分块,并为每个块生成哈希值。这些哈希值被存储在本地节点的IPFS存储库中,并通过DHT广播到网络中。
   ☑️ 文件访问: 用户通过内容标识符CID请求文件。IPFS节点使用DHT查找存储该文件或其块的节点,并从这些节点下载文件。
   ☑️ 内容传播: 当一个节点下载了文件或文件块后,它也可以作为提供者,将这些数据分享给其他节点。这种方式加快了文件的传播和下载速度,提高了网络的整体效率

【4】Hardhat: Hardhat是一个用于以太坊智能合约开发的开发工具套件,支持编写、测试和部署智能合约。如今在所有的DApp开发中,有过51%的项目使用Hardhat来支持本地开发工作流。Hardhat提供了一种简单的方式创建本地EVM 兼容区块链开发的环境,并且支持直观的debug方式,此外,还有丰富的插件社区,帮助开发者完成一系列特定的需求。
【5】测试网络: 开发者直接在Main Network开发消费较大,以太坊也提供了多个测试网络以供开发,常用的有:
   ☑️ Sepolia 以太坊的测试网络,使用PoW共识机制,模拟主网环境。
   ☑️ Kovan 基于PoA(权威证明)共识机制,适用于快速测试和开发。
   ☑️ Rinkeby 也是PoA测试网络,稳定性和速度较高。

【6】Remix: Remix IDE是一个基于Web的集成开发环境,用于构建和部署以太坊智能合约。它提供了一个友好的界面和强大的功能,包括代码编辑器、编译器、调试器和部署工具等。Remix IDE支持SolidityVyper两种智能合约语言,并且提供了丰富的插件和扩展,使开发人员能够更轻松地进行开发、测试和部署智能合约。

五、web3.0不足之处

问题描述
扩展性问题描述: 当前区块链网络在处理大量交易时面临性能瓶颈,导致交易速度慢和交易费用高。

案例分析:
   ☑️ 以太坊网络:由于DeFiNFT热潮,网络拥堵严重,Gas费飙升。例如,20215月,以太坊网络的平均交易费用达到70美元以上 。
   ☑️ 比特币网络:比特币的区块大小限制和10分钟的出块时间导致确认交易时间较长。

可能解决方案:
   ☑️ Layer 2解决方案:如闪电网络(比特币)和Rollups(以太坊),通过在主链外处理大量交易,缓解主链的压力。
   ☑️ 分片技术Sharding:将区块链分成多个部分,每个部分处理一部分交易,提高整体处理能力。
用户体验问题描述: Web3.0应用的用户体验仍然存在较大改进空间,特别是在易用性和访问性方面。

案例分析:
   ☑️ 钱包使用:用户需要管理复杂的私钥和助记词,稍有不慎就可能导致资产丢失。例如,许多用户在操作MetaMask时因为私钥管理不善而遭受损失。
   ☑️ DApp交互:DApp的界面和用户交互体验与传统Web2.0应用相比仍显复杂,阻碍了普通用户的使用。

可能解决方案:
   ☑️ 改进用户界面UI和用户体验UX设计:简化操作流程,提供更直观的界面。
   ☑️ 引入用户友好的身份验证机制:如社交登录、无密码验证等,减少用户管理私钥的复杂性。
合规和法律风险问题描述: Web3.0技术的去中心化和匿名性使其在合规和法律监管上面临挑战。

案例分析:
   ☑️ 监管不确定性:不同国家和地区对加密资产和区块链技术的法律法规不统一,导致合规风险。例如,美国证券交易委员会SEC对加密货币的监管态度影响了许多项目的发展。
   ☑️ 非法活动:匿名性和去中心化的特点被不法分子利用,用于洗钱、诈骗等非法活动,增加了监管难度。

可能解决方案:
   ☑️ 推动全球监管标准化:国际间合作,制定统一的监管框架。
   ☑️ 采用合规技术:如链上身份验证on-chain KYC和链上监控工具,确保遵守法律法规。

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

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

相关文章

10.31.2024刷华为OD C题型

文章目录 HJ26HJ27语法知识记录 10.24.2024刷华为OD C题型(四) - HJ26 HJ27 def get_dict(str1: str):dic_0 {}for ch in str1:if ch not in dic_0:dic_0[ch] 1else:dic_0[ch] 1return dic_0temp input().split() n int(temp[0]) list [] for i in range(n):l…

客户服务数据分析:洞察客户需求,优化服务策略

在数字经济时代,数据已成为企业决策的重要依据。特别是在客户服务领域,通过深度挖掘和分析客户服务数据,企业能够更精准地洞察客户需求,优化服务策略,从而提升客户满意度和忠诚度,增强市场竞争力。 一、客户…

【SQL】 Navicate 17 连接sql server

一直连接不上,找了好多博客,最后发现是端口号的字符串有问题 [08001] [Microsoft][ODBC Driver 17 for SQL Server]SQL Server Network Interfaces: Connection string is not valid [87]. (87) [HYT00] [Microsoft][ODBC Driver 17 for SQL Server]Lo…

低至599元的N100办公神器,节能静音还双网口,區克MAX N迷你主机深度拆解与评测

低至599元的N100办公神器,节能静音还双网口,區克MAX N迷你主机深度拆解与评测 哈喽小伙伴们好,我是Stark-C~ 最近有小伙伴找到我想我咨询,想要一个日常使用,主打办公,闲暇之余刷刷视频看看剧的小主机&…

CSS--导航栏案例

利用CSS制作北大官网导航栏 详细代码如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>*{margin: 0;padding: 0;}#menu{background-color: darkred;width: 100%;height: 50px…

详细分析Pytorch中的transpose基本知识(附Demo)| 对比 permute

目录 前言1. 基本知识2. Demo 前言 原先的permute推荐阅读&#xff1a;详细分析Pytorch中的permute基本知识&#xff08;附Demo&#xff09; 1. 基本知识 transpose 是 PyTorch 中用于交换张量维度的函数&#xff0c;特别是用于二维张量&#xff08;矩阵&#xff09;的转置操…

2024年11月1日Day2第一部分(最详细简单有趣味的介绍2

1.CRC编解码练习 要计算CRC&#xff08;循环冗余校验&#xff09;码并验证及纠正接收到的数据&#xff0c;我们需要按照以下步骤进行&#xff1a; 步骤 1: 计算CRC校验码 信息字段代码: x1001生成多项式: G(x)x3x21&#xff0c;即 G(x)1101&#xff08;注意&#xff1a;这里…

【Kaggle | Pandas】练习5:数据类型和缺失值

文章目录 1. 获取列数据类型.dtype / .dypes2. 转换数据类型.astype()3. 获取数据为空的列 .isnull()4. 将缺少值替换并且排序.fillna()&#xff0c;.sort_values() 1. 获取列数据类型.dtype / .dypes 数据集中points列的数据类型是什么&#xff1f; # Your code here dtype …

使用Docker Swarm进行集群管理

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用Docker Swarm进行集群管理 Docker Swarm简介 安装Docker 在Ubuntu上安装Docker 在CentOS上安装Docker 初始化Docker Swarm …

前端获取csv或者excel 静态数据并使用

这里我将空格全部替换成了 || 好让我变成数组&#xff0c;从而拿到每一条数据中的第一项&#xff0c;相当于excel或者csv文件的第一列的东西 axios.get("/csv/zhongxiang").then((res) > {let rows res.data.split("\n");for (let row of rows) {let c…

JavaWeb——Web入门(3/9)-HTTP协议:概述(概念、特点,HTTP协议定义,基于 TCP 协议,基于请求-响应模型)

目录 概念 特点 内容预告 概念 HTTP 协议定义&#xff1a;全称 Hyper Text Transfer Protocol&#xff0c;即超文本传输协议&#xff0c;规定了浏览器与服务器之间数据传输的规则&#xff0c;具体指客户端浏览器与服务器之间进行数据交互的数据格式。 在互联网的世界中&…

导致线上项目宕机的原因和排查手段

目录 导致线上项目宕机的原因cpu过载cpu过载怎么排查?内存溢出内存溢出怎么排查?磁盘空间不足磁盘空间不足怎么排查?网络问题网络问题怎么排查?垃圾回收(GC)问题垃圾回收(GC)问题怎么排查JVM参数配置不当JVM参数配置不当怎么排查?JVM内部错误JVM内部错误怎么排查?线程…

strace 调试追踪案例:对程序打开文件进行追踪

声明 本文版权属于笔者朋友 YangHui &#xff0c;所有资料内容均由 YangHui 提供&#xff0c;笔者只是一个转述者。 文章目录 声明1. 前言2. 问题的发生、跟踪、解决3. 小结 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#x…

(九)JavaWeb后端开发3——Servlet

目录 1.Servlet由来 2.Servlet快速入门 3.Servlet执行原理 4.Servlet生命周期 1.Servlet由来 在JaveEE API文档中对Servlet的描述是&#xff1a;可以运行在服务器端的微小程序&#xff0c;但是实际上&#xff0c;Servlet就是一个接口&#xff0c;定义了Java类被浏览器访问…

ZooKeeper 客户端API操作

文章目录 一、节点信息1、创建节点2、获取子节点并监听节点变化3、判断节点是否存在4、客户端向服务端写入数据写入请求直接发给 Leader 节点写入请求直接发给 follow 节点 二、服务器动态上下线监听1、监听过程2、代码 三、分布式锁1、什么是分布式锁?2、Curator 框架实现分布…

网关如何传递信息给微服务

前情回顾 上篇我们已经完成了网关对所有微服务请求的拦截以及JWT的登录校验。 客户端和微服务之间的桥梁--网关&#xff08;身份校验&#xff09;https://mp.csdn.net/mp_blog/creation/editor/143425484 问题引入 现在的问题是在一些微服务业务中&#xff0c;需要用到用户…

vue3学习记录-nextTick

vue3学习记录-nextTick 1. 案例场景2. 使用方法2.1 回调方式2.2 async&#xff0c;await 3.原理 1. 案例场景 聊天框实现输入内容&#xff0c;滚动条默认滚到最底部。 <template><div class"chat_box"><div class"chat_list" ref"chat…

Nature Medicine病理AI汇总|TORCH:预测未知原发部位癌症的肿瘤起源|顶刊精析·24-11-01

小罗碎碎念 今天分析Nature Medicine病理AI系列的第三篇文章——《Prediction of tumor origin in cancers of unknown primary origin with cytology-based deep learning》 这篇文章报道了一种基于细胞学图像的深度学习方法TORCH&#xff0c;用于预测未知原发部位癌症的肿瘤…

关于SQLServer在局域网内无法连接的问题的解决思路

针对SQL Server 2008在局域网内无法连接的问题&#xff0c;以下是一些详细的解决办法。我们在过程中需要用到Microsoft SQL Server 2008和Microsoft SQL Server tools 2008数据库软件中的配置管理器以及SQL Server Management Studio工具&#xff0c;入下截图所示。 一、检查网…

Ubuntu22.04 安装图形界面以及XRDP教程

一、准备环境 1.一台服务器安装系统ubuntu&#xff08;这里大部分ubuntu系统可以同用&#xff09; 2.安装的ubuntu系统未安装图形界面 二、操作步骤 1.远程ssh或者直接登录服务器命令行界面 ssh -p 远程端口 rootIP 2.更新系统软件包 sudo apt update # 更新本地的软件包…