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

免费S3客户端工具大赏

首发地址(欢迎大家访问):S3免费客户端工具大赏


1. S3 GUI

GitHub地址:https://github.com/aminalaee/s3gui

  • 简介:S3 GUI 是一款基于 Flutter 构建的免费开源 S3 桌面客户端,支持桌面、移动和网络平台。

  • 特点:提供简洁直观的用户界面,方便用户轻松管理 S3 存储桶和对象。适用于多种操作系统,具有良好的跨平台兼容性。

  • 截图:

    image-20241115113149171

交互还是挺流畅的,但是功能太单一了

2. WinSCP(推荐)

GitHub地址:https://github.com/winscp/winscp

官网:https://winscp.net/eng/index.php

  • 简介:WinSCP 是一款广受欢迎的免费 SFTP 和 FTP 客户端,专为 Windows 系统设计,同时也是强大的文件管理器,可大幅提升工作效率。

  • 特点:拥有易于使用的图形界面,支持多种协议(亚马逊 S3、FTP、FTPS、SCP、SFTP 或 WebDAV),便于在本地和远程计算机之间复制文件,还可在两个本地文件夹间进行文件复制。高级用户还能利用.NET 程序集实现自动化操作,且提供多种语言版本,包括英语等。

  • 适用场景:适用于 Windows 用户在进行文件传输和管理时,需要与多种协议的服务器进行交互,尤其是在涉及亚马逊 S3 存储的文件操作场景中,其丰富的功能和易用性可满足不同层次用户的需求。

  • 截图

image-20241115113042383

界面也很舒服,支持多种语言包括中文,功能也非常的完备,文档很完善,社区也比较活跃;缺点可能就是跨平台的兼容性吧;

3. Filestash

GitHub地址:https://github.com/mickael-kerjean/filestash

官网:https://www.filestash.app/docs/

  • 简介:Filestash 是一款自托管的基于网络的文件客户端,原生支持亚马逊 S3,可作为个人和企业的云文件备份门户。

  • 特点:安装、使用和配置过程简单,支持多种存储后端,用户可轻松访问广泛的存储服务。提供便捷的文件管理功能,可通过网络随时随地访问和管理文件。

  • 适用场景:适用于个人用户进行云文件备份,以及企业用户在需要统一管理多种存储后端的文件时,提供了一站式的解决方案,方便用户集中管理和备份文件。

  • 截图

    img

功能丰富,社区也比较活跃,可以使用docker安装,文档也很清晰;

4. S3 Browser

官网地址:https://s3browser.com/

  • 简介:S3 Browser 是一款免费的 Windows 客户端,专注于亚马逊 S3 和亚马逊 CloudFront 服务。

  • 特点:为亚马逊 S3 提供直观的用户界面,方便用户进行存储和检索数据操作。对于亚马逊 CloudFront(内容分发网络),可帮助用户通过全球边缘位置网络高效分发文件,提升文件访问速度和效率。

  • 适用场景:专为 Windows 用户设计,适用于需要频繁管理亚马逊 S3 存储和利用 CloudFront 进行内容分发的场景,如网站管理员、开发者等,可简化操作流程,提高工作效率。

  • 截图

    image-20241115143158587

aws 官方维护的工具,更新的速度很快,功能也很强大;

5. Rclone(推荐)

官网:https://rclone.org/docs/

GitHub地址:https://github.com/rclone/rclone

  • 简介:Rclone 是一款功能强大的命令行程序,用于将文件和目录同步到多种云存储提供商,包括亚马逊 S3、Google Drive、Dropbox 等。

  • 特点:具备多种高级功能,如始终检查 MD5/SHA1 哈希确保文件完整性、保留文件时间戳、支持部分同步、多种同步模式(复制、单向同步、检查等),还可实现跨网络同步(如不同云账户间)。支持加密后端、缓存后端、分块后端、联合后端等多种后端类型,可通过 HTTP/ WebDav/ FTP/ SFTP/dlna 提供文件服务,支持多线程下载,实验性提供基于网络的 GUI。

  • 适用场景:适合技术能力较强的用户,在需要进行复杂的云存储同步操作,如大规模数据迁移、多账户云存储管理、构建自定义云存储架构等场景中,可发挥其强大的功能优势,实现高效、灵活的文件同步和管理。

rclone主要是命令行程序,在某些方面来讲,和之前介绍的 s3cmd或者 s5cmd有些许类似;但是它现在也提供了基于 web 的 Gui 程序,但是官方提示还在试验阶段,但是基本使用肯定是没问题的;下面是其 Gui 的开源地址和截图;

GitHub地址:https://github.com/rclone/rclone-webui-react

  • 截图

image-20241115144906225

6. Mountain Duck(推荐)

GitHub地址:https://github.com/iterate-ch/cyberduck

官网:https://cyberduck.io/

  • 简介:Mountain Duck 是一款多平台应用程序,可帮助 macOS 和 Windows 用户轻松挂载服务器存储,支持多种协议,包括亚马逊 S3。
  • 特点:支持FTPSFTPWebDAVAmazon S3OpenStack SwiftBackblaze B2Microsoft Azure 和 OneDriveGoogle DriveDropbox 等,提供广泛的服务器连接选项。支持智能文件同步,可自动保持本地和远程文件的一致性。与 Windows 和 macOS 的文件管理器集成,使用户能在熟悉的环境中操作远程文件,提升操作体验。
  • 适用场景:适用于需要频繁访问和管理远程服务器存储(特别是亚马逊 S3 存储)的 macOS 和 Windows 用户,无论是设计师、开发者还是普通办公人员,都能方便地在本地文件管理器中操作远程文件,提高工作效率。
  • 截图

Browser

跨平台、易用、界面友好、初学者和老手都适合,功能全面,不止针对 s3,值得一试;

7. s3manager

GitHub地址:https://github.com/cloudlena/s3manager

  • 简介s3manager 是一个由 Cloudlena 开发的 Web GUI(图形用户界面),用于管理和操作 Amazon S3 存储桶。这个工具提供了一个直观的界面,使得用户可以更方便地与 S3 服务交互,而不需要直接使用命令行或编程接口。

  • 特点:提供了一个用户友好的界面,使得用户可以轻松地上传、下载、删除和管理 S3 存储桶中的文件。

  • 适用场景s3manager 适合那些希望避免使用命令行工具或编程接口,但又需要管理 S3 存储桶的用户。它特别适合非技术用户或那些希望快速上手 S3 管理的用户。

  • 截图

    image-20241115150133713

用 go 写的专注于 s3 的 web 端管理其,相比其他的在功能上还是会有些薄弱;也可以通过 docker 部署;

8. 其他相关项目

8.1. s3-client

GitHub地址:https://github.com/thobiast/s3_client

这是一个 Python 脚本,用于与 Amazon S3 交互。它提供了一个简单的命令行界面来执行常见的 S3 操作,如上传、下载、列出存储桶内容等。

8.2. S3Sync

GitHub地址:https://github.com/larrabee/s3sync

S3Sync 是一个快速的同步工具,用于在本地文件系统和 Amazon S3 之间同步文件。它旨在提供高效的数据同步,减少数据传输时间。采用 Golang 编写,支持多线程文件传输。

8.3. S3 Web Uploader

GitHub地址:https://github.com/gaplo917/S3WebUploader

这是一款基于 Web 的实用工具,提供了一个简洁而高效的最小化 UI,方便从 AWS S3 兼容服务上传和下载文件。用户界面设计紧凑,功能布局合理,使用户能够迅速上手并专注于文件操作。基于 Angular 框架开发,具备类似树状结构的文件夹浏览器,如同在本地文件管理器中操作一样,用户可以快速定位到所需文件。

8.4. s3-sync-client

GitHub地址:https://github.com/jeanbmar/s3-sync-client

这是是一款现代的 TypeScript 客户端,用于执行文件系统和 S3 桶之间的 S3 同步操作,继承了官方 AWS CLI 命令的精神。具备强大的同步功能,支持从 S3 桶到本地文件系统、本地文件系统到 S3 桶(支持多部分上传)以及 S3 桶到另一个 S3 桶的同步操作,且仅同步新的和更新的对象,有效节省时间和带宽。支持众多 AWS CLI 选项,如--delete--dryrun--size-only--include--exclude--follow-symlinks--no-follow-symlinks等,提供高度的定制化。同时支持 AWS SDK 原生命令输入选项,方便与其他 AWS 服务集成。可监控同步进度,让用户实时了解同步状态。能同步任意数量的对象,无 1000 个对象的限制,适用于大规模数据同步场景。支持并发传输对象,进一步提高同步效率。通过重新定位可轻松管理文件夹结构之间的差异,方便文件整理。

8.5. STU

GitHub地址:https://github.com/lusingander/stu

STU 是一款精心打造的免费开源 TUI(文本用户界面)应用程序,专为 AWS S3 存储服务设计,使用 Rust 语言编写,并借助 ratatui 库构建而成。界面设计简洁直观,用户无需复杂的图形界面操作,即可在命令行环境下高效管理 AWS S3。


  • 简单总结下

S3 协议是由亚马逊 **AWS(Amazon Web Services)**推出的。随着云计算的兴起和对海量数据存储需求的不断增长,亚马逊意识到需要一种高效、灵活的存储服务来满足用户存储各种类型数据(如网页内容、备份数据、多媒体文件等)的需求。于是在 2006 年,亚马逊推出了 S3(Simple Storage Service),与之相伴的 S3 协议也应运而生。它最初是为了方便用户在 AWS 的云计算环境中存储和管理对象而设计的。

S3 协议是基于 HTTP/HTTPS 的 **RESTful(Representational State Transfer)**协议。这意味着它使用标准的 HTTP 方法(如 GET、PUT、DELETE 等)来操作存储资源。例如,通过 GET 请求可以获取存储桶中的对象内容,PUT 请求用于上传新的对象,DELETE 请求用于删除对象或存储桶。它通过 URL(统一资源定位符)来标识存储桶和对象,其 URL 格式通常为s3://bucket - name/object - key,其中bucket - name是存储桶名称,object - key是对象在存储桶中的唯一标识符。

现在市面上绝大多数的对象存储服务都支撑 S3 协议,像 OSS(阿里云对象存储服务)、R2(Cloudflare R2)等主流对象存储服务都支持 S3 协议,用户可以使用相同的工具和客户端库来管理不同存储服务中的数据。例如,一个开发团队如果之前在 AWS S3 上构建了应用程序,当他们考虑使用阿里云 OSS 时,由于 OSS 支持 S3 协议,可以很容易地将应用程序迁移过来,减少了对特定存储服务的依赖,提高了应用程序的灵活性和可移植性。对于开发者来说,主流对象存储服务支持 S3 协议意味着可以使用统一的开发模式。无论是开发一个简单的网站应用程序存储用户上传的文件,还是构建一个复杂的大数据存储和分析系统,都可以使用熟悉的 S3 协议相关的 API 和工具这大大简化了开发流程,减少了学习不同存储服务协议的成本,使得开发者能够更专注于应用程序本身的功能和性能。

现在大多数场景都需要使用到 S3 协议,但是很多厂商提供的控制台,对可视化管理都不是特别友好,当然如果你的业务系统有可视化管理功能另说;例如我就是使用 S3 进行博客网站的图片存储,利用 piclist 管理都不算管理,不能全局管理,而且有些时候 piclist 操作会有些小问题,所以就需要客户端工具来操作一下;

然后就在网上搜寻了一圈,整理了一下就有了这篇博客!其实还有很多其他的工具,我挑了一些个人觉得比较有代表性的工具推荐了;

如果你有更好的建议,欢迎讨论~

相关文章:

免费S3客户端工具大赏

首发地址(欢迎大家访问):S3免费客户端工具大赏 1. S3 GUI GitHub地址:https://github.com/aminalaee/s3gui 简介:S3 GUI 是一款基于 Flutter 构建的免费开源 S3 桌面客户端,支持桌面、移动和网络平台。 特…...

前端访问后端实现跨域

背景&#xff1a;前端在抖音里做了一个插件然后访问我们的后端。显然在抖音访问其他域名肯定会跨域。 解决办法&#xff1a; 1、使用比较简单的jsonp JSONP 优点&#xff1a;JSONP 是通过动态创建 <script> 标签的方式加载外部数据&#xff0c;属于跨域数据请求的一种…...

TCP和UDP通信基础

目录 1. 套接字 (Socket) 2. 基于TCP通信的流程 服务器端 客户端 1. TCP通信API 1.1 创建套接字描述符socket 1.2 绑定IP和端口号bind 1.3 设置监听状态 listen 1.4 接受连接请求 accept 1.5 发送数据 send 1.6 接收数据 recv 2. TCP服务器代码示例 代码解释&…...

微服务中的技术使用与搭配:如何选择合适的工具构建高效的微服务架构

一、微服务架构中的关键技术 微服务架构涉及的技术非常广泛&#xff0c;涵盖了开发、部署、监控、安全等各个方面。以下是微服务架构中常用的一些技术及其作用&#xff1a; 1. 服务注册与发现 微服务架构的一个重要特性是各个服务是独立部署的&#xff0c;因此它们的地址&am…...

找出字符串第一个匹配项的下标

找出字符串第一个匹配项的下标 题目描述&#xff1a; 题解思路&#xff1a; 图上所示&#xff0c;利用字符滑动&#xff0c;如果匹配就字符开始移动&#xff1b;如果不匹配成功&#xff0c;则停止移动&#xff0c;并回到字符串刚开始匹配的字符下标前一个&#xff0c;为下一次…...

面向FWA市场!移远通信高性能5G-A模组RG650V-NA通过北美两大重要运营商认证

近日&#xff0c;全球领先的物联网整体解决方案供应商移远通信宣布&#xff0c;其旗下符合3GPP R17标准的新一代5G-A模组RG650V-NA成功通过了北美两家重要运营商认证。凭借高速度、大容量、低延迟、高可靠等优势&#xff0c;该模组可满足CPE、家庭/企业网关、移动热点、高清视频…...

Matlab实现北方苍鹰优化算法优化随机森林算法模型 (NGO-RF)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1内容介绍 北方苍鹰优化算法&#xff08;Northern Goshawk Optimization, NGO&#xff09;是一种新颖的群智能优化算法&#xff0c;灵感源自北方苍鹰捕食时的策略。该算法通过模拟苍鹰的搜寻、接近和捕捉猎物的行为模式&am…...

搭建环境 配置编译运行 mpi-test-suite

1&#xff0c;编译安装 ucx 下载源码&#xff1a; $ git clone https://github.com/openucx/ucx.git $ ​git checkout v1.17.0 ​ 运行auto工具&#xff1a; $ ./autogen.sh $ ./autogen.sh 指所以运行两次是因为有时候第一次会失败&#xff0c;原因未查。 配置 ucx $ m…...

夜神模拟器启动报错:虚拟机启动失败 请进行修复 关闭hyper-v

不是关闭hyper-v的问题。 点那个没用。 解决办法&#xff1a; 我电脑win11&#xff08;win10 win11都一样 &#xff09;去安全中心-设备安全性 把内存完整性关了。 这还不够。 在右上角找系统信息 我发现VT显示没开 于是我去BIOS中开启VT 这个VT怎么开很简单。就是你F2 F1…...

投资策略规划最优决策分析

目录 一、投资策略规划问题详细 二、存在最优投资策略&#xff1a;每年都将所有钱投入到单一投资产品中 &#xff08;一&#xff09;状态转移方程 &#xff08;二&#xff09;初始条件与最优策略 &#xff08;三&#xff09;证明最优策略总是将所有钱投入到单一投资产品中…...

一篇保姆式虚拟机安装ubantu教程

前言&#xff1a; 本文将介绍在VMware安装ubantu&#xff0c;会的人可以试试上一篇介绍centos/ubantu安装docker环境,不同环境安装docker。一篇保姆式centos/unbantu安装docker 官网下载iso:Ubuntu 18.04.6 LTS (Bionic Beaver) 本次使用的版本是&#xff1a; 一&…...

缓冲区的奥秘:解析数据交错的魔法

目录 一、理解缓存区的好处 &#xff08;一&#xff09;直观性的理解 &#xff08;二&#xff09;缓存区的好处 二、经典案例分析体会 &#xff08;一&#xff09;文件读写流&#xff08;File I/O Buffering&#xff09; BufferedOutputStream 和 BufferedWriter 可以加快…...

CentOS 7.9 搭建本地Yum源

yum&#xff08;Yellow Dog Updater&#xff0c;Modified&#xff09;是一个在Fedora、Centos、RedHat中的Shell前端软件包管理器。基于RPM包管理&#xff0c;能够从指定的服务器自动下载RPM包并且安装&#xff0c;可以自动处理依赖关系&#xff0c;并且一次安装所有依赖的软件…...

【Python】爬虫实战:高效爬取电影网站信息指南(涵盖了诸多学习内容)

本期目录 1 爬取思路 2 爬虫过程 2.1 网址 2.2 查看网页代码 3 爬取数据 3.1 导入包 3.2 爬取代码 01 爬取思路 \*- 第一步&#xff0c;获取页面内容\*- 第二步&#xff1a;解析并获取单个项目链接 \*- 第三步&#xff1a;获取子页面内容 \*- 第四步&#xff1a;解析…...

MATLAB和C++及Python流式细胞术

&#x1f335;MATLAB 片段 流式细胞术&#xff08;Flow Cytometry&#xff09;是一种用于分析细胞或其他颗粒悬浮在流动介质中的方法。MATLAB 可以用来处理和分析流式细胞术的数据&#xff0c;例如用于数据预处理、可视化和分析。以下是一些常见的 MATLAB 处理流式细胞术数据的…...

Vue3 pinia使用

Pinia 是一个现代的状态管理库&#xff0c;专为 Vue 3 设计。它提供了一种简单、直观的方式来管理应用中的全局状态 (就是不同组件都希望去共享的一些变量,函数等)。Pinia 的设计灵感来自于 Vuex&#xff08;Vue 2 的状态管理库&#xff09;&#xff0c;但进行了许多改进&#…...

tdengine学习笔记-建库和建表

目录 建库和建表 创建超级表​ 创建表​ 自动建表​ 创建普通表​ 多列模型 VS 单列模型​ 数据类型映射​ 示例程序汇总​ 在车联网领域的应用 1. 数据模型概述 2. 表结构设计 2.1 静态数据表 2.2 动态数据表 4. 查询数据 4.1 查询单个车辆的数据 4.2 查询多个…...

Django数据迁移出错,解决raise NodeNotFoundError问题

错误出现在&#xff1a; raise NodeNotFoundError(self.error_message, self.key, originself.origin) django.db.migrations.exceptions.NodeNotFoundError: Migration myApp.0003_alter_jobinfo_practise dependencies reference nonexistent parent node (myApp, 0002_renam…...

景联文科技:以全面数据处理服务推动AI创新与产业智能化转型

数据标注公司在人工智能领域扮演着重要角色&#xff0c;通过提供高质量的数据标注服务&#xff0c;帮助企业和组织训练和优化机器学习模型。从需求分析到数据交付&#xff0c;每一个步骤都需要严格把控&#xff0c;确保数据的质量和安全性。 景联文科技是一家专业的数据采集与标…...

MySQL学习/复习7表的内外连接

一、内连接...

Spring Cloud入门笔记2(OpenFeign)

场景&#xff1a; OpenFeign中集成了LoadBalancer,并简化了微服务调用&#xff0c;所以实际上使用该技术 技术栈&#xff1a;OpenFeign 步骤一&#xff1a;导入依赖 <!--openfeign--> <dependency><groupId>org.springframework.cloud</groupId><a…...

小程序中模拟发信息输入框,让textarea可以设置最大宽以及根据输入的内容自动变高的方式

<textarea show-confirm-bar"{{false}}" value"{{item.aValue}}" maxlength"301" placeholder"请输入" auto-height"{{true}}" bind:blur"onBlurTextarea" focus"{{true}}" bindinput"…...

学习HTML第二十九天

学习文章目录 二.单选框三.复选框 二.单选框 常用属性如下&#xff1a; name 属性&#xff1a;数据的名称&#xff0c;注意&#xff1a;想要单选效果&#xff0c;多个 radio 的 name 属性值要保持一致。 value 属性&#xff1a;提交的数据值。 checked 属性&#xff1a;让该单…...

汽车安全再进化 - SemiDrive X9HP 与环景影像系统 AVM 的系统整合

当今汽车工业正面临著前所未有的挑战与机遇&#xff0c;随著自动驾驶技术的迅速发展&#xff0c;汽车的安全性与性能需求日益提高。在这样的背景下&#xff0c;汽车 AVM&#xff08;Automotive Visual Monitoring&#xff09;标准应运而生&#xff0c;成为促进汽车智能化和安全…...

QString 转 char*问题与方法(const_cast的使用问题)

1、背景:今天有QString的变量&#xff0c;将QString的值传递给void func(char * ptr)&#xff0c;于是就有了类似下面这一段离谱的代码 当时我还在想为什么var的值为空了&#xff0c;为什么呢。 2、原因:就是因为右边函数返回的是一个临时指针对象&#xff0c;给到了右边&…...

flink cdc 应用

SQLServer 1. The db history topic or its content is fully or partially missing. Please check database history topic configuration and re-execute the snapshot. 遇到了一下问题&#xff0c;多次尝试&#xff0c;最终发现是数据库大小写要一致。 Caused by: io.deb…...

MyBlog(三) -- APP的应用

文章目录 前言一、APP是什么?二、创建APP三、使用APP1. 注册app2. 添加路由3. 运行过程4. 完善视图函数5. 结果展示 总结 前言 前面我们已经学习了如何创建一个新的项目,并且配置好了项目的启动文件,成功将项目启动! 那么接下来我们的主要任务就是需要完善这个项目中应该包含…...

docker有哪些网络模式

Docker 提供了多种网络模式&#xff08;Networking Modes&#xff09;&#xff0c;每种模式都有其特定的用例和优缺点。以下是 Docker 的几种主要网络模式&#xff1a; 1. Bridge 网络&#xff08;默认&#xff09; 描述&#xff1a;在这种模式下&#xff0c;Docker 创建了一…...

npoi 如何设置单元格为文本类型

ICellStyle style workbook.CreateCellStyle(); var font workbook.CreateFont(); font.FontHeightInPoints 10; //font.FontName "Arial"; font.FontName "仿宋"; style.Alignment NP…...

Vue3、Vite5、Primevue、Oxlint、Husky9 简单快速搭建最新的Web项目模板

Vue3、Vite5、Oxlint、Husky9 简单搭建最新的Web项目模板 特色进入正题创建基础模板配置API自动化导入配置组件自动化导入配置UnoCss接入Primevue接入VueRouter4配置项目全局环境变量 封装Axios接入Pinia状态管理接入Prerttier OXLint ESLint接入 husky lint-staged&#xf…...

网站主机注册/长沙seo推广优化

ZeroPadding&#xff0c;数据长度不对齐时使用0填充&#xff0c;否则不填充PKCS7Padding&#xff0c;假设数据长度需要填充n(n>0)个字节才对齐&#xff0c;那么填充n个字节&#xff0c;每个字节都是n;如果数据本身就已经对齐了&#xff0c;则填充一块长度为块大小的数据&…...

百度网站权重/seo营销外包

vue cnpm run dev 报错&#xff0c;解决方法参考文章&#xff1a; &#xff08;1&#xff09;vue cnpm run dev 报错&#xff0c;解决方法 &#xff08;2&#xff09;https://www.cnblogs.com/futai/p/7111950.html 备忘一下。...

凡科网做网站的图片/住房和城乡建设部官网

学习总结&#xff1a; 通过这一周的学习&#xff0c;我学到了很多新知识。通过看视频&#xff0c;我又进一步学习了java&#xff0c;对java有了更深的了解&#xff0c;也通过在网上找有关HTML和CSS的介绍&#xff0c;我现在已经大概了解了这些东西。在刚开始真的以为这些东西好…...

网站建设是干什么的/百度快照怎么做

以下介绍一下Application Virtualization For Terminal Services的安装&#xff0c;其他组件的安装&#xff0c;请参照以前的帖子&#xff0c;假如有哪里说得不对&#xff0c;请大家指正&#xff0c;谢谢 App-V 在MDOP(Microsoft Desktop Optimization Pack for Software Assur…...

林州企业网站建设/连接交换

目录1.springboot简介2.REST风格1.简介2.RESTful3.复制工程4.属性配置1.application.properties2.application.yml、.yaml3.关于写配置文件的时候没有提示的解决方案4.yaml1.语法格式2.读取数据3.封装对象5.整合第三方技术1.整合Junit1.实现2.注意事项2.整合mybatis3.整合mybat…...

wordpress繁体中文/外贸网站平台哪个好

程序员写的代码或是某些细微的操作就有对真实用户产生极大的影响&#xff0c;因此&#xff0c;程序员必须自信自己的代码和操作&#xff0c;每一次更新都是惊喜动魄。但是&#xff0c;程序员不应该沉浸在这种惊喜动魄中&#xff0c;尽量规避风险是好的习惯&#xff0c;也是对自…...