技术研发
文章平均质量分 76
奔向理想的星辰大海
这个作者很懒,什么都没留下…
展开
-
JS数组处理小技巧
第二个,一个具有配置属性的对象。every用于所有元素是否都能通过测试,返回一个布尔值,只有当所有元素都通过了测试,才会返回true,接收一个回调函数,回调函数有三个形参,第一个为当前元素,第二个为当前索引,第三个为数组本身,另外,当数组为空的时候使用every,条件不论是怎么样的,都会返回true(这种情况属于无条件正确,因为空集的所有元素都符合给定的条件。对数组内容进行覆盖填充,有三个参数,第一个为填充的值,第二个为起始位置(可选),第三个为结束位置,不包含此索引位置(可选)。原创 2024-05-16 11:06:23 · 2 阅读 · 0 评论 -
JavaScript 宣布 Signals 即将到来!颠覆性的 API !
如果指望 Signals 取代 Pinia、Vuex 那是不现实的,因为大部分项目都是使用 Vue 框架,而 Pinia、Vuex 是针对 Vue 推出的状态管理工具库,在 Vue 中用起来肯定比 Signals 好用多了~况且 Signals 现在还没正式上线呢!Signals 它来啦!其实 Siganls 是会提供给我们一个 effect 的全局方法,让我们可以监听依赖项的变化,并传入一个回调函数,在回调中去做我们想做的事情。当状态管理变化的时候,我们会想去做一些操作,那我们应该如何监听变化呢?原创 2024-05-16 10:57:35 · 70 阅读 · 0 评论 -
使用Quarkus和LangChain4j,LLM在Java中使用
在以上的项目演示中,探索了LLM的发展历史,并使用LangChain4J实现了企业级Java服务和组件,这些服务和组件由最具主导地位和影响力的LLM提供支持。原创 2024-05-15 09:44:35 · 889 阅读 · 0 评论 -
提升Python代码质量:类型提示的运用与实践
" print(type(x)) # 输出: # 现在为同一变量指定一个浮点值 x = 3.14 print(type(x)) # 输出: # 现在为同一变量分配一个列表 x = [1, 2, 3] print(type(x)) # 输出: 在这个函数签名中,我们可以观察到connect函数需要一个字符串类型的主机、一个整数类型的端口和一个可选的浮点数类型的超时(默认为1.0),并会返回一个Connection对象。原创 2024-05-15 09:38:26 · 207 阅读 · 0 评论 -
python自动化办公:Excel数据自动化验证与清理,强化数据处理策略
同时,对于无法自动修正的问题,脚本还会生成详细的错误报告,帮助数据分析师快速定位并处理数据中的问题。在处理Excel数据时,数据验证和清理是确保数据质量的关键步骤。常见的数据问题包括格式错误、重复条目和空字段,这些问题如果不加以处理,将会对后续的数据分析造成严重的偏差。通过使用openpyxl库,我们可以自动检测和修正这些问题,或者在无法自动修正的情况下生成详细的错误报告,从而帮助数据分析师更好地维护数据的准确性和可靠性。在数据处理流程中,Excel数据的质量是确保后续分析准确性的基石。原创 2024-05-14 11:25:00 · 675 阅读 · 0 评论 -
PageHelper使用小窍门
但是没有执行对应的sql,那么就表明,当前线程ThreadLocal被设置了分页参数,可是没有被使用,当下一个使用此线程的请求来时,就会出现问题。假设线程1持有没有被清除的page参数,不断调用同一个方法,后面两个请求使用的是线程2和线程3没有问题,再一个请求轮到线程1了,此时就会出现问题了。有些同学会问,这也没没传分页参数啊,并且实体类当中也没有,这就是比较有意思的点,下一小结就来聊聊源码。所以,官方给我们的建议,在使用PageHelper进行分页时,执行sql的代码要紧跟。原创 2024-05-14 11:12:30 · 155 阅读 · 0 评论 -
rust 项目中 mod.rs 文件的作用
之前在 golang 一个目录下,例如 controllers 下放置一堆子文件,就需要担心不同文件中的 public 函数重名问题。例如,src/controllers/user.rs 中使用 src/models/user.rs 中的代码, 只需要 use 引入 models 模块即可。在 Rust Loco 项目中,会看到 models 及 controllers 目录下都有一个 mod.rs 文件。在项目根目录下有个与入口文件 app.rs 平级的 lib.rs 文件。mod.rs 的更多用法。原创 2024-05-13 09:42:17 · 209 阅读 · 0 评论 -
100个经典shell脚本让你撸个够!
ss -nutlp | awk '{print $1,$5}' | awk -F"[: ]" '{print "协议:"$1,"端口号:"$NF}' | grep "[0‐9]" | uniq。awk -F= -v x=$addr '$2==x{print "完成..."}' $mountpoint/etc/sysconfig/network‐scripts/ifcfg-$dev。12)编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态, 哪些主机处于关机状态 (for 版本)原创 2024-05-13 09:26:41 · 370 阅读 · 0 评论 -
揭秘 Java 跨系统文件路径组装的秘方!
文件路径组装问题就是在不同的操作系统中,文件路径的分隔符可能不同。比如在 Windows 系统中,文件路径的分隔符是\。例如,C:\Windows\System32就是一个 Windows 操作系统中的文件路径。windows文件目录结构示意图而在 Unix/Linux 系统中,文件路径的分隔符是/。例如,/usr/bin/java就是一个 Unix/Linux 操作系统中的文件路径。linux文件目录结构示意图。原创 2024-05-12 10:10:34 · 225 阅读 · 0 评论 -
Apache Bench 使用指南
总的来说,Apache Bench 是一款强大的 HTTP 性能测试工具,可以帮助开发者评估 Web 应用的性能,发现潜在的瓶颈,并为优化应用提供有价值的数据支持。评估优化前后的性能变化:在对 Web 应用进行优化时,可以使用 AB 测试来评估优化效果,量化性能的提升。验证应用是否能够承受预期的访问压力:在部署新系统前,可以使用 AB 进行压力测试,确保应用能够承受预期的并发量,避免系统上线后出现性能问题。集成数据库查询性能:利用 AB 模拟大量并发查询请求,结合数据库监控,可以评估应用的数据库层性能。原创 2024-05-12 10:03:49 · 265 阅读 · 0 评论 -
Python性能提升大杀器:深入解析functools.lru_cache装饰器
LRU(最近最少使用)缓存是一种常见的缓存策略,它保留最近使用的项,而丢弃最不常使用的项。functools.lru_cache装饰器是Python标准库中的一种缓存工具,它使用LRU策略来存储函数的输出结果。这意味着最近使用的函数调用结果将被保留在缓存中,而较长时间未被使用的结果将被清除,以释放内存。默认情况下,lru_cache使用参数的值作为缓存键。但可以为参数定义自定义缓存键的函数:复制# 使用自定义键进行缓存1.2.3.4.5.6.7.原创 2024-05-11 10:02:17 · 618 阅读 · 0 评论 -
构建高度可扩展的云原生应用的五个技巧
为了衡量这个解决方案的有效性,我们设置了一个包含24个代理和六个代理单元的实验性集群(有关完整配置的详细信息,请参见我们的白皮书)。我们的高层级目标可能与你自己基于云的系统的目标相似:提高性能和弹性,增加对我们自己和客户的成本效率,并在多个公有云上提供一致的体验。通过将架构分层以优化不同存储类型的使用,我们在提高性能和可靠性的同时降低了成本。如果你正在为你的组织构建云原生基础设施,无论是使用新代码还是使用像Kafka这样的现有开源软件,我们希望本文中描述的技术能帮助你实现性能、可用性和成本效率的目标。原创 2024-05-11 09:48:38 · 3 阅读 · 0 评论 -
大厂的MySQL为啥不用外键?
如果有关联关系的数据存在,删除主表中的记录时,外键约束可以阻止删除,或者通过级联操作删除相关的从表数据。有些团队认为外键引入了过多的服务之间的耦合,因此选择在微服务架构中限制外键的使用。当创建两张表,其中一张是用户表,另一张是用户拓展表,可以使用外键来建立它们之间的关联。这些操作定义了在主表中进行更新或删除操作时,对应的外键列在从表中的行的处理方式。外键定义了两个表之间的引用关系,它连接了两个表,使它们之间建立起一定的联系。外键通常关联到另一个表的主键列,这样它就能确保引用的数据是一致的。原创 2024-05-11 09:44:11 · 345 阅读 · 0 评论 -
Dockerfile Entrypoint中使用环境变量
在Dockerfile中可以使用环境变量来提高镜像的灵活性和可重用性,同时也可以在容器启动时通过entrypoint命令来使用这些环境变量。Dockerfile中的Entrypoint指令是用来配置容器启动时执行的命令或脚本,可以在Dockerfile中指定容器启动时执行的默认命令。在上面的示例中,我们定义了一个名为MY_NAME的环境变量,并在Entrypoint中使用这个环境变量来输出“Hello, World!在Dockerfile Entrypoint中使用环境变量。原创 2024-05-10 10:47:55 · 372 阅读 · 0 评论 -
OpenHarmony命令行工具hdc_std简介
hdc,全称,是HarmonyOS提供的方便开发人员调试的命令行工具,使用该工具可以在个人电脑与设备或模拟器之间进行交互通讯。hdc_std,与hdc相似,但它是OpenHarmony提供的用于开发人员调试的命令行工具,专门用在个人电脑与开发板之间的交互,并且这个开发板是需要运行OpenHarmony标准版(standard)系统的,所以在hdc后面加了std后缀以示区分。简言之,手机上调试用的是hdc,开发板上调试用的是hdc_std,一个不开源,一个开源。原创 2024-05-10 10:44:07 · 329 阅读 · 0 评论 -
【NODEJS】npm install 命令详解
peerDependencies:同等依赖,或者叫同伴依赖,用于指定当前包(也就是你写的包)兼容的宿主版本。bundledDependencies / bundleDependencies:打包依赖,bundledDependencies是一个包含依赖包名的数组对象,在发布时会将这个对象中的包打包到最终的发布包里。模块的依赖都被写入了package.json文件后,他人打开项目的根目录(项目开源、内部团队合作),使用npm install命令可以根据dependencies配置安装所有的依赖包。原创 2024-05-10 10:37:18 · 5 阅读 · 0 评论 -
在 Python 中使用 Kubernetes 环境变量
当您在 Kubernetes 中部署这个 Python 应用程序时,它将使用 Kubernetes 中定义的环境变量 ENV_NAME 的值。通过将环境变量定义为 Kubernetes 资源的一部分,并在 Python 代码中使用它们,您可以轻松地管理应用程序的环境依赖关系,并确保应用程序在不同的环境中正常运行。当您将应用程序部署在 Kubernetes 集群上时,您可以在 Kubernetes 资源定义中声明环境变量,并让您的 Python 应用程序访问这些变量。在 Python 中使用环境变量。原创 2024-05-10 10:01:41 · 1 阅读 · 0 评论 -
Java 编程写出优雅的代码
通过命名、类、函数、测试这四个章节,使我们的代码变得整洁.不整洁的代码随着时间的增加而增加时,生产力会随之降低.导致的结果就是:代码不易扩展或扩展容易引发其他问题程序崩溃加班增加公司成本(加人)甚至可能造成公司倒闭一图胜千言。原创 2024-05-10 09:44:51 · 761 阅读 · 0 评论 -
十个Python初学者常犯的错误
下面10个Python初学者常犯的错误,并不是真正的代码错误,代码照样可以运行,但是不够Pythonic,因为Python有自己的语言哲学,在代码的处理上有传统语言无法比拟的简洁性和便捷性。对于新手来说,用for循环迭代列表中的元素时,他们通常的做法是先拿到列表的长度,然后通过元素的下标索引来获取值。假设你想将两个列表中的值做加操作,通常,你会从索引0开始循环直到列表的结尾,每次循环将列表项做加操作组成新的列表。更便捷的方法是,字典的items()方法会返回一个由(key,value)元组构成的迭代对象,原创 2024-05-09 09:35:12 · 4 阅读 · 0 评论 -
时间序列数据处理,不再使用Pandas
Pandas DataFrame通常用于处理时间序列数据。对于单变量时间序列,可以使用带有时间索引的 Pandas 序列。而对于多变量时间序列,则可以使用带有多列的二维 Pandas DataFrame。然而,对于带有概率预测的时间序列,在每个周期都有多个值的情况下,情况又如何呢?图(1)展示了销售额和温度变量的多变量情况。每个时段的销售额预测都有低、中、高三种可能值。尽管 Pandas 仍能存储此数据集,但有专门的数据格式可以处理具有多个协变量、多个周期以及每个周期具有多个样本的复杂情况。原创 2024-05-09 09:20:20 · 4 阅读 · 0 评论 -
华为云发布CodeArts IDE for Python,极致优雅云原生开发体验
华为云CodeArts IDE for Python集成了Pytest和Unittest测试框架,开发者可以在项目配置测试框架集成,IDE会在测试视图中发现并展示测试用例,让开发者可以轻松运行和调试您的测试用例。华为云CodeArts IDE for Python内置华为自主创新的Python语言服务,支持快速、精准的代码补全、导航和搜索功能。,为代码安全保驾护航。,提供华为云220+服务和8000+服务API的搜索和引用,一键补全样例代码,查看实测调用的输入输出。原创 2024-05-08 09:25:33 · 345 阅读 · 1 评论 -
一个dockerfile 多个镜像
在 Dockerfile 中,我们可以使用多个 ENV 命令来定义不同的环境变量,以便后续构建不同的镜像。最后,我们可以使用不同的 build context 来构建不同的镜像。在构建镜像时,可以指定不同的目录作为 build context,以便使用不同的配置文件或环境变量文件。为了区分不同的镜像,我们可以编写不同的配置文件或环境变量文件,并在构建镜像时将其添加到镜像中。在构建镜像时,我们可以使用 build 参数来传递不同的环境变量,以便区分不同的镜像。步骤2:使用 build 参数来构建不同的镜像。原创 2024-05-07 09:21:02 · 6 阅读 · 0 评论 -
服务器为什么一般都是安装 CentOS 而不是 Ubuntu?
相比之下,Ubuntu 虽然也拥有广泛的用户群体和强大的社区支持,但其主要定位在桌面和云计算领域,对于服务器环境的稳定性和可靠性要求可能没有 CentOS 那么高。Ubuntu 在易用性和可维护性方面也有不错的表现,但由于其桌面和云计算的定位,可能在某些特定的服务器管理任务上稍逊于 CentOS。在这方面,CentOS 表现出了极高的兼容性和广泛的生态系统支持。Ubuntu 在兼容性和生态系统方面也有不错的表现,但由于其桌面和云计算的定位,可能在某些特定的服务器应用场景下稍逊于 CentOS。原创 2024-05-07 09:14:08 · 5 阅读 · 1 评论 -
好用到飞起的新项目「GitHub 热点速览」
2.2 唯一标识:typeid 本周 star 增长数:1,600+,主语言:Go New 受启发于 Stripe IDs(用于跟踪提现的追踪 ID)的全局唯一标识符 typeid,它是类型安全,且支持 K 排序的 UUIDv7 扩展。以下便是一个示例: user_2x4y6z8a0b1c2d3e4f5g6h7j8k └──┘ └────────────────────────┘ type uuid suffix (base32) GitHub 地址→。精美的制图,下图便是根据梵高的经典画作绘制的地图。原创 2024-05-06 10:13:49 · 893 阅读 · 0 评论 -
Python 网络爬虫利器:执行 JavaScript 实现数据抓取
在 Python 中执行 JavaScript 代码可以帮助完成多种任务,包括 Web 自动化、数据抓取、前端开发和 Web 应用集成。本文介绍了多种方法,包括使用内置库 execjs 和 PyExecJS、Selenium 与 WebDriver,以及调用 Node.js 进程。根据具体的需求和使用情况,选择适合的方法,可以更高效地执行 JavaScript 代码,从而实现更多功能。原创 2024-05-06 10:04:09 · 1311 阅读 · 0 评论 -
SpringBatch高阶应用:大数据批处理框架实战指南
当程序恢复后你希望能够接着程序终止前的进度继续执行,这时候你需要进行如下的操作(本人没有发现有什么API能够操作的,可能文档没看仔细)。要想重复启动Job,我们可以在启动Job时设置不同的JobParameters参数,只要参数不同那么就可以重复的启动Job。当你调用该接口时,你会发现接口一直不会返回,一直阻塞,下图是Job的启动序列。// 节流限制10,这里配置的大小应该与你的数据库连接池大小及使用的线程池核心线程数一致。通过上面配置后,Job启动将是异步的会直接返回JobExecution。原创 2024-05-06 09:46:35 · 187 阅读 · 3 评论 -
Python Django 大量数据如何做分页处理
当一个表中有很多符合查询条件的数据的时候,我们往往不需要把他们全部一次性取出来,那样对查询效率或者服务器性能来说都会是一个极大的挑战:例如最简单的商城,假设商城中有一万个数据,但我们在前端可能只会每次看到一页.该查询同样是通过子查询扫描字段id, 因为它不需要进行表的关联,而是一个简单的比较,在不知道上一页最大id的情况下,是比较推荐的用法。当然该查询的问题也在于,如果最大id不是连续的,则我们不一定能拿到这个id,比如当前在第3页,需要查询第5页的数据,就不行了。一个经典的思想就是分批展示和处理它们。原创 2024-05-01 22:08:00 · 5 阅读 · 1 评论 -
Rust 登上了开源头条「GitHub 热点速览」
本周的热门开源项目,Rust 语言可谓是出尽风头,登顶的是一款 Rust 写的 Web 服务器:pingora,它夸张到一周涨了 1 万 Star,目前还在以每天 1000+ 恐怖速度增长着,该项目是由 Cloudflare 开源,在其内部早已用它替换掉了 Nginx,每天处理超过一万亿个请求。要不用 Python 快速构建个 Web 应用试试效果?FastUI 是一个新的选择。既然说到 Web 服务 Web 安全也不容忽视:Web-Check,它能够全面地展示任意网站的开源情报。原创 2024-04-30 09:30:31 · 881 阅读 · 0 评论 -
Python办公神器:教你使用 Python 批量整理通知文件
本文教你如何用Python批量提取Word文件中的关键信息,并写入Excel文件中,只需几行代码,就可以节省大量的时间和精力。openpyxl库:用于操作Excel文件,可以创建、读取、写入、修改Excel文件和工作表。python-docx库:用于操作Word文件,可以读取、写入、修改Word文件和段落。glob库:用于获取文件路径,可以根据通配符匹配文件路径,返回一个列表。原创 2024-04-30 09:21:22 · 421 阅读 · 0 评论 -
Go 语言将 PDF 转为 Word ,代码怎么实现 ?
参数 f 是打开的 PDF 文件,nil 表示不进行加密,api.NewConvertContext(conf) 创建了转换上下文,wordPath 是输出 Word 文件的路径。4 转换 PDF 文件为 Word 格式:调用 PDF 转换库提供的函数或方法,将加载的 PDF 文件转换为 Word 格式。3 加载 PDF 文件:使用 PDF 转换库加载需要转换的 PDF 文件。通常,这可以通过指定 PDF 文件的路径来实现。5 保存转换后的 Word 文件:将转换后的 Word 文件保存到指定的路径。原创 2024-04-30 09:18:38 · 224 阅读 · 0 评论 -
10个经典Python设计模式解析
它们就像编程界的暗号,让你的代码更加优雅、高效。让我们一起揭开这些模式的神秘面纱,看看它们在实际项目中的神奇作用吧!以上就是10个经典的Python设计模式,掌握了它们,你的代码将会更有组织,更易于理解和维护。想象一下,你有个大冰箱,每次需要冰淇淋时,你都不用直接打开冷冻室,而是通过一个工厂方法来决定要哪种口味。当数据变化时,所有依赖它的对象都会得到通知。在不同情况下使用不同的算法,而无需修改使用算法的代码。为对象提供一个替身,对原对象进行控制或包装。将请求封装为对象,使你能够推迟或更改请求的执行。原创 2024-04-29 11:09:45 · 194 阅读 · 0 评论 -
kubernetes集群部署EFK收集集群日志
Fluentd是一个用于统一日志层的开源数据收集器。# 插件地址:https://github.com/repeatedly/fluent-plugin-multi-format-parser。 # 匹配tag为raw.kubernetes.**日志信息。remove_key_name_field true # key_name 解析成功后删除字段。time_format %Y-%m-%dT%H:%M:%S.%NZ # 时间格式。原创 2024-04-29 10:28:57 · 9 阅读 · 0 评论 -
centos 安装rabbitmq集群
bash sudo rabbitmqctl stop_app sudo rabbitmqctl join_cluster rabbit@node1 sudo rabbitmqctl start_app - 在 node3 上,重复上述步骤,但将 join_cluster 命令中的 rabbit@node1 改为 rabbit@node2。如果在集群配置过程中遇到问题,请检查 RabbitMQ 日志文件以获取更多信息。在配置集群之前,确保所有 RabbitMQ 节点可以相互网络通信。原创 2024-04-29 10:05:07 · 780 阅读 · 0 评论 -
用Python实现阿里云OSS断点续传上传功能
通过阿里云OSS的分片上传机制和Python SDK,我们可以轻松实现断点续传上传功能。相比传统的上传方式,断点续传上传可以有效提高上传效率,避免重复上传浪费带宽和时间。上传完成后,需要调用complete_multipart_upload方法完成上传,否则会产生碎片文件浪费存储空间。如果上传过程中出现错误,需要调用abort_multipart_upload方法取消上传,避免产生碎片文件。开始分片上传,每次读取指定大小的数据块,调用upload_part方法上传。设置分片大小,最小为100KB。原创 2024-04-29 09:55:09 · 285 阅读 · 0 评论 -
多个MySQL实例之间进行数据同步和复制
通过正确配置和管理,可以实现数据在主节点和从节点之间的自动同步,提高系统的可用性和性能。这种复制方式提供了最低的延迟,但主节点和从节点之间的网络连接必须稳定。2)、使用自动故障切换(Failover): 监控主节点的状态,一旦主节点宕机,自动将可用的从节点提升为新的主节点,确保系统的持续运行。3)、 使用读写分离: 在从节点上启用只读模式,并将读操作分配到从节点上,减轻主节点的负载并提高系统的整体性能。1)、使用主从节点集群: 通过将多个主节点和多个从节点组成集群,实现数据的水平扩展和故障容错。原创 2024-04-29 09:35:41 · 86 阅读 · 0 评论 -
Python库functools示例详解
functools 是 Python 标准库中一个极为实用的模块,提供了许多用于处理函数、高阶函数以及函数式编程的工具。原创 2024-04-28 09:56:57 · 6 阅读 · 0 评论 -
redis zset详解:排行榜绝佳选择
跳跃表的查找和修改数据的性能较高,但是占用的内存也较多。membersWithScoresInScoreRange.forEach(o->log.info("9、获取ZSET中指定分数范围内的成员及其分数,成员:{},分数",o.getValue(),o.getScore()));membersWithScoresInRange.forEach(o->log.info("8、获取ZSET中指定排名范围内的成员及其分数,成员:{},分数",o.getValue(),o.getScore()));原创 2024-04-28 09:49:11 · 596 阅读 · 0 评论 -
【值得收藏的种子搜索引擎】
LimeTorrents是一个功能强大的种子搜索引擎,可以搜索各种类型的种子文件和磁力链接。Zooqle是非常受欢迎的子搜索引擎,可以搜索各种类型的种子文件和磁力链接。1337x是一个非常受欢迎的种子搜索引擎,可以搜索各种类型的种子文件和磁力链接。种子搜索引擎和磁力搜索引擎是用于搜索和下载种子文件和磁力链接的工具。在搜索结果中选择一个种子文件或磁力链接,点击下载按钮。在搜索结果中选择一个种子文件或磁力链接,点击下载按钮。在搜索结果中选择一个种子文件或磁力链接,点击下载按钮。原创 2023-07-31 11:45:45 · 244165 阅读 · 3 评论 -
Go 语言入门指南:基础语法和常用特性解析
Go(也被称为 Golang)是一种静态类型、编译型的编程语言,由 Google 开发。它具有简洁、高效和强大的并发支持等特点,被广泛应用于网络编程、系统编程、微服务等领域。Go 语言的设计目标是解决大规模软件开发中的一些问题,如代码可读性、编译速度、跨平台支持和并发编程等。原创 2024-04-27 20:30:32 · 633 阅读 · 0 评论 -
优雅地避过Python常见错误,编写高效代码
停止错误做法的更好方法是练习正确的做法,但不要过度使用它们。有一些好的做法我喜欢使用,但只在可读性不受影响时使用它们。Python以其简洁和可读性而受到开发者的青睐。然而,即使是经验丰富的程序员也可能陷入导致代码效率低下、可读性差和更容易出错的习惯。在这里,我们将探讨Python编程中的常见陷阱以及避免它们的重要性。原创 2024-04-26 10:01:01 · 667 阅读 · 0 评论