2024年程序员学习
文章平均质量分 88
普通网友
这个作者很懒,什么都没留下…
展开
-
appium入坑必备--不写代码的自动化测试,你不心动吗?(1)
rt.find_element_by_xpath(‘//*[@text=“财富·赚钱”]’).click()sleep(3)原创 2024-04-21 20:53:04 · 735 阅读 · 0 评论 -
适航批准形式汇总_ctso清单(1),字节跳动厂内部超高质量Flutter+Kotlin笔记
的。原创 2024-04-20 20:36:26 · 1439 阅读 · 0 评论 -
适合做软件测试这个工作的几大要点_软件测试工作的要点有哪些
前两年,以功能测试为主,完善自己的测试思维,提高用例的测试覆盖度,学习app,小程序,web不同渠道产品测试的区别在哪,先打好基础,等到给你测试任务,脑海中立马出现测试点,测试风险,所需时长,可能隐藏的bug等,那么恭喜你到瓶颈期了。如果出现线上bug,不要怕,不要慌更不要推卸责任,人非圣贤孰能无过,重要的是,要学会分析总结bug,为什么会遗漏这个测试点,以后才能完善测试点,更好的避免类似问题的发生。测试攻城狮,工作的过程需要频繁和产品沟通确认测试点,和开发沟通bug,所以善于沟通也是比较重要的一点。原创 2024-04-20 20:35:55 · 736 阅读 · 0 评论 -
迷茫了3年:做完这个测试项目,我终于决定辞职_研发完了还要测试 辞职(2)
迷茫,痛苦,不被理解,不被支持,各种被打有失必有得,最后来说说得的地方:▶️压力忍受能力提高▶️问题分析能力提高▶️以前一些理论的东西在项目中得到了实战▶️沟通能力有提高职业规划:接下来把这几天了解到的测试职业生涯规划的个人理解说下,参考了网上各路大神以及和面试公司的面谈总结出来的关于未来的规划。PS:首先,给我感觉最深的就是,不要人云亦云,不要忘记自己的初衷,更不要被别人影响,失去自己职业方向,吃补药固然好,但是乱吃药可不好哦~~以时间的纬度来看。原创 2024-04-20 20:34:52 · 662 阅读 · 0 评论 -
迷茫了3年:做完这个测试项目,我终于决定辞职_研发完了还要测试 辞职(1)
迷茫,痛苦,不被理解,不被支持,各种被打有失必有得,最后来说说得的地方:▶️压力忍受能力提高▶️问题分析能力提高▶️以前一些理论的东西在项目中得到了实战▶️沟通能力有提高职业规划:接下来把这几天了解到的测试职业生涯规划的个人理解说下,参考了网上各路大神以及和面试公司的面谈总结出来的关于未来的规划。PS:首先,给我感觉最深的就是,不要人云亦云,不要忘记自己的初衷,更不要被别人影响,失去自己职业方向,吃补药固然好,但是乱吃药可不好哦~~以时间的纬度来看。原创 2024-04-20 20:34:21 · 722 阅读 · 0 评论 -
进阶之路:深度理解postman和jmeter的区别何在?_jmeter和postman的区别
现在有一个操作商品的接口,有个字段type,传1的时候代表修改商品,商品id、商品名称、价格有一个是必传的,type传2的时候是删除商品,商品id是必传的,这样的,就要测参数组合了,type传1的时候,只传商品名称能不能修改成功,id、名称、价格都传的时候能不能修改成功。区别:postman用函数断言, jmeter用元件进行断言。· 绕过验证,比如说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加?原创 2024-04-20 20:33:50 · 1011 阅读 · 0 评论 -
进程、线程和协程之间的区别和联系,2024年最新技术协会Golang部面试
协程,是一种比线程更加轻量级的存在,协程不是被操作系统内核所管理,而完全是由程序所控制(也就是在用户态执行)。这样带来的好处就是性能得到了很大的提升,不会像线程切换那样消耗资源。子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。所以子程序调用是通过栈实现的,子程序调用总是一个入口,一次返回,调用顺序是明确的。协程的特点在于是一个线程执行,那和多线程比,协程有何优势?这副图是一个双向多车道的道路图,假如我们。原创 2024-04-20 20:31:26 · 890 阅读 · 0 评论 -
进程 线程 协程 各自的概念以及三者的对比分析_lwp是协程吗
使用CPU亲缘性的好处:防止进程/线程在CPU的多核间频繁切换,从而避免因切换带来的CPU的L1/L2 cache失效,cache失效会降低程序的性能。这幅图是一个双向多通道的道路图,加入我们把整个道路看做一个“进程”的话,那种图中由白色虚线分割开的车道就是进程中的各个“线程”了。线程,有时被称为轻量级进程(LightWeight Process,LWP),是操作系统调度(CPU调度)执行的最小单位。原创 2024-04-20 20:30:18 · 614 阅读 · 0 评论 -
进程 线程 协程 各自的概念以及三者的对比分析_lwp是协程吗(1)
进程,直观点说,保存在硬盘上的程序运行之后,会在内存空间里形成一个独立的内存体,这个内存体有自己独立的地址空间,有自己的堆,上级挂靠单位是操作系统。这幅图是一个双向多通道的道路图,加入我们把整个道路看做一个“进程”的话,那种图中由白色虚线分割开的车道就是进程中的各个“线程”了。线程,有时被称为轻量级进程(LightWeight Process,LWP),是操作系统调度(CPU调度)执行的最小单位。操作系统会以进程为单位,分配系统资源(CPU时间片,内存等资源),进程是资源分配的最小单位。原创 2024-04-20 20:29:47 · 824 阅读 · 0 评论 -
进公司第一天当老板问:“测得怎么样了?”我懵逼了_问代码梳理的怎么样了怎么回答(1)
再继续我的测试生涯,忽然发现,测试这一行,总是千差万别,自己会的别人不会,而别人会的自己很多不会。总而言之,无论欠缺了哪一样,对于测试员而言都是给自己挖了一个坑,没有充分的证据,自然会被开发怼,没有足够的技能,当然会被领导批,唯有不断的提升自己,不断地学习学习,才能把坑填平,才能升职加薪拥有更好的职业发展。测试工具永远是软件测试人员的得力助手,不能完全依赖工具,但也不能没有工具,在学习软件过程中,要著中软件测试工具的使用,下图覆盖初、中级软件测试工程师所需具备的测试工具,要想学好,下手学习吧。原创 2024-04-20 20:28:44 · 911 阅读 · 0 评论 -
进入软件测试行业,这些问题你一定要知道!_测试开发发展前景
下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取**原创 2024-04-20 20:28:14 · 320 阅读 · 0 评论 -
这绝对是我见过全网最新最细没有之一的python全栈接口自动化测试框架,脚本,实例,报告。(附带源码
废话也不多说了,接下来开始正文。看到最后一行return,get方法最后是通过调用 requests.request 方法实现的,其实在其它的请求方法如post,put,head,delete等方法都是调用的request方法,然后把请求方法的类型传递给request方法第一个参数。1、带数据的post2、带header的post3、带json的post4、带参数的post5、普通文件上传6、定制化文件上传7、多文件上传。原创 2024-04-20 20:27:44 · 977 阅读 · 0 评论 -
这绝对是我见过全网最新最细没有之一的python全栈接口自动化测试框架,脚本,实例,报告。(附带源码(2)
1、带数据的post2、带header的post3、带json的post4、带参数的post5、普通文件上传6、定制化文件上传7、多文件上传。原创 2024-04-20 20:27:12 · 298 阅读 · 0 评论 -
这绝对是我见过全网最新最细没有之一的python全栈接口自动化测试框架,脚本,实例,报告。(附带源码(1)
看到最后一行return,get方法最后是通过调用 requests.request 方法实现的,其实在其它的请求方法如post,put,head,delete等方法都是调用的request方法,然后把请求方法的类型传递给request方法第一个参数。1、带数据的post2、带header的post3、带json的post4、带参数的post5、普通文件上传6、定制化文件上传7、多文件上传。原创 2024-04-20 20:26:41 · 628 阅读 · 0 评论 -
这知识我没见过--MySQL 服务演进_mysql业务子系统,2024年最新被大佬问到自闭
多业务系统–多数据库:即按业务分库、业务量继续增大,数据库成为瓶颈,将数据库按每个业务系统单独划分独立的数据库,独立部署,增加各个系统的业务承载能力,整体业务的承载能力也增强,微服务的处理模式就是这样。当数据越来越多,且增长速度很快,尤其是并发量也越来越多时,单点的数据库会出现性能瓶颈,比如连接池连接数不够,很多请求处于阻塞状态,没有命中索引的查询非常耗时,物理存储也会压力倍增。表结构优化,根据业务特性,只返回表中合理数据,或表根据业务拆分成多个表,另外,适当的冗余,也能减少join,提升查询性能。原创 2024-04-20 20:26:11 · 353 阅读 · 0 评论 -
这次把怎么做好一个PPT讲清-画图篇_怎么让ppt图片有厚度
简单的说,深度就是形状的厚度。当我们给一个正方形添加深度,就会得到一个立方体;当我们给一个圆形添加深度,就会得到一个圆柱体;当我们给一个三角形添加深度,就会得到一个三棱柱;当我们给一个比较大的形状添加一个很小的深度,就会得到一个平板当我们给一个很小的圆形添加一个很大的深度,就会得到一个直纤维当我们给一个圆环添加一个深度,就会得到一个圆管当我们给一很多条曲线添加一个共同的深度,甚至可以得到剥离片层结构如何添加“深度”?原创 2024-04-20 20:25:05 · 831 阅读 · 0 评论 -
力扣热门100题之矩阵置0【中等】,2024年最新这些知识你必须拿下
不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!请使用 原地 算法。输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]输出:[[1,0,1],[0,0,0],[1,0,1]]原创 2024-04-19 03:42:15 · 362 阅读 · 0 评论 -
力扣热门100题之矩阵置0【中等】(1),2024年最新2024Golang者真的太难了
不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]原创 2024-04-19 03:41:44 · 385 阅读 · 0 评论 -
一款集成化的Web渗透测试工具 DudeSuite_dudesuite测试
前面Web安全相关的攻击都是一些很多年的经典手法了,经过多年的发展已经相当成熟,相关的漏洞早已不如以前多,现在很多时候的攻击,都是依靠各种各样的第三方组件漏洞完成的,所以学习研究这些常见第三方组件的漏洞,一方面掌握这些攻击手法用于实战中使用,另一方面触类旁通,对从事漏洞挖掘的工作也是非常有帮助的。通过日志来发现攻击行为是一种最常见的行为,攻击者的Web请求,系统登录,暴力破解尝试等等都会被系统各种软件记录在案,攻击者得手后也经常会抹除相关的日志记录,所以学习掌握这些日志,是攻防两队的人都需要学习的技能。原创 2024-04-18 22:10:42 · 1021 阅读 · 0 评论 -
一款集成30个工具的信息收集利器,腾讯T3手把手教你
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。(都打包成一块的了,不能一一展开,总共300多集)原创 2024-04-18 22:10:12 · 879 阅读 · 0 评论 -
【C++学习笔记】C+(3),2024年最新阿里P7亲自教你
关键字替代,它们没有任何区别。对于 int、float、char 等基本类型的数据,直接比较它们本身的值即可,而对于 STU 类型的数据,直接比较它们本身的值不但会有语法错误,而且毫无意义,这就要求我们设计一套不同的比较方案,从语法和逻辑上都能行得通,所以本例中我们比较的是两名学生的成绩(score)。回顾一下前面学习到的知识,在 C++ 中,对于给定的函数名,可以有非模板函数、模板函数、显示具体化模板函数以及它们的重载版本,在调用函数时,显示具体化优先于常规模板,而非模板函数优先于显示具体化和常规模板。原创 2024-04-18 17:50:28 · 1025 阅读 · 0 评论 -
【C++学习笔记】C+(2),2024年最新Golang驱动工程师面试题
C++ 这样规定是有道理的,因为我们在 C 中调用了 B 的构造函数,B 又调用了 A 的构造函数,相当于 C 间接地(或者说隐式地)调用了 A 的构造函数,如果再在 C 中显式地调用 A 的构造函数,那么 A 的构造函数就被调用了两次,相应地,初始化工作也做了两次,这不仅是多余的,还会浪费CPU时间以及内存,毫无益处,所以 C++ 禁止在 C 中显式地调用 A 的构造函数。前面我们说基类的成员函数可以被继承,可以通过派生类的对象访问,但这仅仅指的是普通的成员函数,类的构造函数不能被继承。原创 2024-04-18 17:49:57 · 921 阅读 · 0 评论 -
Spring框架教程,2024年最新神级Golang进阶笔记
(1)注解是代码特殊标记,格式: @注解名称(属性名称=属性值, 属性名称=属性值…)(2)使用注解,注解作用在类上面,方法上面,属性上面(3)使用注解目的:简化 xml 配置( 1)事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操 作都失败(2)典型场景:银行转账 lucy 转账 100 元 给 mary lucy 少 100, mary 多 100( 1)事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操 作都失败。原创 2024-04-18 13:07:01 · 419 阅读 · 0 评论 -
Spring框架教程(2),Golang开发大佬的百度美团快手等大厂Offer收割之旅
(1)注解是代码特殊标记,格式: @注解名称(属性名称=属性值, 属性名称=属性值…)(2)使用注解,注解作用在类上面,方法上面,属性上面(3)使用注解目的:简化 xml 配置。原创 2024-04-18 13:06:29 · 388 阅读 · 0 评论 -
Redis数据库15点介绍_rides 2 1 15,2024年最新三幅图给你弄懂EventBus核心原理
AOF文件备份,是备份所有的历史记录以及执行过的命令,和mysql binlog很相似,在恢复时就是重新执次一次之前执行的命令,需要注意的就是在恢复之前,和数据库恢复一样需要手工删除执行过的del或误操作的命令。在linux环境运行Redis时,如果系统的内存比较小,这个时候自动备份会有可能失败,需要修改系统的vm.overcommit_memory 参数,这个参数是linux系统的内存分配策略。3、一个事务执行的过程中,其它客户端提交的请求不会被插入到事务执行的命令列表中。原创 2024-04-17 20:53:19 · 681 阅读 · 0 评论 -
Redis数据库15点介绍_rides 2 1 15(1),2024年最新牛皮轰轰
Redis是c语言开发的,安装redis需要c语言的编译环境如果没有gcc需要在线安装:yum install gcc-c++第一步:获取源码包:wget http://download.redis.io/releases/redis-3.0.0.tar.gz第二步:解压缩redis:tar zxvf redis-3.0.0.tar.gz 第三步:编译。进入redis源码目录(cd执行 make 第四步:安装。#PREFIX参数指定redis的安装目录。原创 2024-04-17 20:52:49 · 1048 阅读 · 0 评论 -
mysql关于grant与revoke的详细教程_revoke all privileges from
dba 可以查询 MySQL 中所有数据库中的表。– dba 可以查询 testdb 中的表。– dba 可以管理 MySQL 中的所有数据库。(img-hP05xC9p-1713337868790)]//解除 rfc用户的更新、删除权限。//解除rfc所有权限及grant。//查看rfc用户的权限。//为rfc用户指定密码。//查看rfc的权限。原创 2024-04-17 15:11:26 · 1469 阅读 · 0 评论 -
mysql关于grant与revoke的详细教程_revoke all privileges from(1)
SELECT /INSERT /UPDATE / DELETE / DROP / CREATE / CREATE USER / ALTER / ALTER ROUTINE (使用alter procedure和drop procedure) / CREATE ROUTINE (使用create procedure) / CREATE。3,用户名(及主机?原创 2024-04-17 15:10:55 · 902 阅读 · 0 评论 -
Jmeter二次开发实现rsa加密_jmeter rsa加密,2024年最新软件测试应用性能优化
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!原创 2024-04-17 11:37:20 · 645 阅读 · 0 评论 -
Jmeter二次开发实现rsa加密_jmeter rsa加密(2),想找工作的你还不看这份资料就晚了
setParameters()方法用于获取JMeter函数的入参值,咱们rsa加密需要两个入参,分别是明文、公钥,参数个数是2,在setParameters()方法需要先检查入参个数的最大值、最小值是不是2,然后将参数集合Collection转成数组存到Object数组变量values中,并定义类成员变量MAX_PARA_COUNT、MIX_PARA_COUNT、plaintextCV、publicKeyCV,分别存最大变量个数、最小变量个数、明文、公钥。可以走的很快,但一群人才能走的更远!原创 2024-04-17 11:36:48 · 760 阅读 · 0 评论 -
Google Gson用法详解(2),Golang基础面试题2024
如果我们使用 new Gson() 创建Gson并执行toJson() 和 fromJson() 方法,则@Expose将不会对序列化和反序列化产生任何影响。为了进行反序列化,我们需要使用Gson对象调用fromJson()函数,并在解析完成后传递两个参数,即JSON字符串和所需的Java类型。但是,如果打算自定义Gson的行为,则可以使用GsonBuilder自定义的配置来创建新的Gson实例。我们可以按通常的方式使用fromJson()方法,将json数组解析为所需的Java数组或列表。原创 2024-04-17 07:57:58 · 662 阅读 · 0 评论 -
Google Gson用法详解(1),2024年最新面试加分项
但是,如果打算自定义Gson的行为,则可以使用GsonBuilder自定义的配置来创建新的Gson实例。对于反序列化,如果shouldSkipClass(Class)或shouldSkipField(fieldAttributes)方法返回true,则不会将其设置为Java对象结构的一部分。如果我们将lenient设置为true,则它将忽视某些违规行为,并尝试读取格式不正确的JSON。确定令牌的类型后,使用诸如nextLong(),nextString(),nextInt()等方法获取令牌的值。原创 2024-04-17 07:57:26 · 633 阅读 · 0 评论 -
DNS配置详解(一)bind实现正向解析和反向解析(1),软件测试源码的Binder权限是如何控制
假设我们要访问www.abc.com,dns解析请求会发送给我们配置dns服务器,如果当前已有缓存则直接把结果返回给我们的终端,如果没有则向dns的根查询负责解析.com的服务器的IP,找到负责.com域的服务器后再向其查询负责abc.com这个域的服务器的IP,得到结果后再向其查询www.abc.com的IP地址,查询到结果后再返回给我们。,而当其缓存中没有我们要查询的记录时,他需要一级一级的分别向根,.com, abc.com查询,每一次的查询请求都是他自己发起的,这个过程称为。原创 2024-04-17 04:10:31 · 895 阅读 · 0 评论 -
DNS 基础知识及 Linux DNS 服务器操作知识_linuxdns设计中用到的知识点有哪些
我们知道 DNS 服务器类型有主域名服务器、辅助域名服务器和缓存域名服务器。不同于缓存域名服务器,主域名服务器和辅助域名服务器在应答过程中是处于同等地位的。在 /etc/named.conf 的配置文件中,你可以使用如下语法定义一个主域服务器:包含主要区域信息的文件存放在 /var/named 目录下,从 options 可知,这是一个工作目录。原创 2024-04-17 04:09:29 · 912 阅读 · 0 评论 -
Android自动化测试中操作技巧合集(建议收藏),从思维图到基础再到深入
本文介绍了如何通过 adb 命令查询内容提供器的方式来自动化获取短信验证码,并给出了一个示例代码实现。相比每次编写 adb 命令,封装成函数可以提高代码复用率,也使自动化测试用例的实现更简洁。同时,加入一定校验与优化,可以使获取验证码更稳定可靠。原创 2024-04-17 00:04:26 · 802 阅读 · 0 评论 -
Android自动化测试中使用ADB监听电话并自动接听!_adb监听事件
通过使用ADB来监听来电状态并自动接听电话,你可以有效地集成电话相关的测试用例,确保应用程序在各种情况下都能正常工作,从而提高移动应用的质量和稳定性。根据上述信息,手机正在响铃,当前有来电,来电状态为 CALL_STATE_ALERTING,来电号码是 17000724942。一旦你获取到了来电状态,你可以根据需要执行接听电话的操作。现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛。原创 2024-04-17 00:03:56 · 663 阅读 · 0 评论 -
软件测试外包干了4年,感觉废了(1),2024年最新软件测试面试软件测试基础
(img-q4MCcYsf-1713249137818)]友,可以添加V获取:vip1024b (备注软件测试)**原创 2024-04-16 14:32:29 · 391 阅读 · 0 评论 -
软件测试基础_ieee软件测试,2024BTAJ面试真题详解
软件危机软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。软件测试(IEEE1983):软件测试是使用人工和自动手段来运行或测试某个系统的过程,目的在于检验被测软件系统是否满足规定的需要,或是弄清楚预期结果与实际结果之间的差别。软件缺陷(Ron Patton在《软件测试》一书中提出):只有至少满足下列五个规则之一,才称发生了一个软件缺陷。软件未实现产品说明书要求的功能;软件出现了产品说明书指明不应该出现的错误;原创 2024-04-16 14:30:48 · 337 阅读 · 0 评论 -
模型在物理学发展中的作用,四年Golang面试遇到的问题整理
物理学的发展是从人类对天体的观察和研究开始的。我们知道原子内部粒子是通过电磁场相互作用的,电磁场是一个线性场,而现已知道描绘层子(夸克)之间的相互作用的“胶子场”是非线性的场,目前对非线性场的处理存在有很大的困难,这为解释层子的运动和相互作用造成很多困难。开普勒的行星运行模型,气体的分子运动模型,爱因斯坦的光子模型,卢瑟福-玻尔的原子模型和爱因斯坦的时空模型等都是重要的例子。开普勒的行星运行模型、气体的分子运动模型、爱因斯坦的光子模型、卢瑟福-玻尔的原子模型和爱因斯坦的时空模型等都是重要的例子。原创 2024-04-16 08:59:13 · 920 阅读 · 0 评论 -
概率论基础知识(一)概率论基本概念,2024年最新软件测试开发面试书籍推荐
定义:设A、B是随机试验E的两个事件,若 P(AB) = P(A)P(B), 则称AB事件相互独立,即A和B两个事件的发生互不影响。定义:设A、B是随机试验E的两个事件,若 P(AB) = P(A)P(B), 则称AB事件相互独立,即A和B两个事件的发生互不影响。定理1:若P(A) > 0 ,且 P(B|A) = P(B) 等价于 AB相互独立。定理1:若P(A) > 0 ,且 P(B|A) = P(B) 等价于 AB相互独立。用某检验法诊断肺癌,A:被检验者患有肺癌;原创 2024-04-16 08:58:43 · 560 阅读 · 0 评论