程序员
文章平均质量分 86
普通网友
这个作者很懒,什么都没留下…
展开
-
2024年“0元购”支付逻辑漏洞的意外发现_app渗透 零元购漏洞,2024年最新想找工作的你还不看这份资料就晚了
网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。原创 2024-05-14 12:13:35 · 457 阅读 · 0 评论 -
2024年[链表] 206(1),关于Flutter文本组件Widget的全面解读
/不影响中间节点的反转,但可以让头结点反转变为尾结点后置next域为null,让反转链表变得完整。//递归最深层的head=4,post=5。//备份当前节点的原next域。//将当前节点作为post供下一个节点的next域使用。//更新当前节点反转后的next域。例如:1->2->3->4->5->NULL。//待反转部分反转完毕后是三个指针的状态。//三个指针的初始状态。原创 2024-05-14 12:12:59 · 728 阅读 · 0 评论 -
2024年[LeetCode] 二叉树最大宽度_leetcode二叉树最大宽度(4),细谈分布式事务的前世今生
树的宽度是所有层中的最大宽度。解释: 最大值出现在树的第 4 层,宽度为 8 (6,null,null,null,null,null,null,7)。每一层的宽度被定义为两个端点(该层最左和最右的非空节点,两端点间的null节点也计入长度)之间的长度。解释: 最大值出现在树的第 3 层,宽度为 4 (5,3,null,9)。解释: 最大值出现在树的第 3 层,宽度为 2 (5,3)。解释: 最大值出现在树的第 2 层,宽度为 2 (3,2)。注意: 答案在32位有符号整数的表示范围内。原创 2024-05-14 12:12:22 · 411 阅读 · 0 评论 -
2024年Go最新单链表反转两种方法_反转链表(6),2024年最新Golang电话面试技巧
推荐的学习方法就是先看别人代码,再画图了解代码的每一个过程,再根据画的图独立写代码实现,然后再调试debug,查看变量变化情况,再找类似练习题,多想多练。头结点插入法的实质是重新创建了一个新的链表,通过遍历待反转链表,将链表每一个节点插入到创建的链表中,然后的到的这个创建的链表就是反转后的链表。宏观上来看,要实现节点1和节点2反转,需要将节点1插入节点2和节点3当中,然后将头节点为2的链表插入结果链表头结点后面,然后再后移一个节点做同样的操作。正确的步骤是先将节点2切分出来,再将节点2插入-1和1之间。原创 2024-05-14 08:15:57 · 824 阅读 · 0 评论 -
2024年Go最新单链表反转两种方法_反转链表(4),2024年最新三面蚂蚁金服成功拿到offer
但是在这个头结点插入代码中,p->next的值发生的变化,因为要将resultList结果链表的内容拼接到p的首节点后,所以要定义一个临时变量存p->next。头结点插入法的实质是重新创建了一个新的链表,通过遍历待反转链表,将链表每一个节点插入到创建的链表中,然后的到的这个创建的链表就是反转后的链表。宏观上来看,要实现节点1和节点2反转,需要将节点1插入节点2和节点3当中,然后将头节点为2的链表插入结果链表头结点后面,然后再后移一个节点做同样的操作。可以看到p是一个循环变量,初始值指向待反转的原始链表。原创 2024-05-14 08:15:20 · 359 阅读 · 0 评论 -
2024年Go最新单链表反转两种方法_反转链表(3),2024年最新看完跪了
需要注意的是,就是关注循环变量p的值,也就是指向的变化,传统的遍历过程就是条件为p!链表是一种重要的数据结构,因为有递归性质,所以总是难以理解,涉及链表的复杂操作总是感觉一头雾水,看别人的实现代码总是似懂非懂,看完就忘,实际上就是没有理解透彻,特意花了一天时间重新学习了单链表的常见操作-单链表反转,理解和总结两种实现方法。头结点插入法的实质是重新创建了一个新的链表,通过遍历待反转链表,将链表每一个节点插入到创建的链表中,然后的到的这个创建的链表就是反转后的链表。可以走的很快,但一群人才能走的更远!原创 2024-05-14 08:14:45 · 960 阅读 · 0 评论 -
2024年Go最新单链表反转两种方法_反转链表(1),2024年最新BAT大厂面试基础题集合
推荐的学习方法就是先看别人代码,再画图了解代码的每一个过程,再根据画的图独立写代码实现,然后再调试debug,查看变量变化情况,再找类似练习题,多想多练。头结点插入法的实质是重新创建了一个新的链表,通过遍历待反转链表,将链表每一个节点插入到创建的链表中,然后的到的这个创建的链表就是反转后的链表。宏观上来看,要实现节点1和节点2反转,需要将节点1插入节点2和节点3当中,然后将头节点为2的链表插入结果链表头结点后面,然后再后移一个节点做同样的操作。正确的步骤是先将节点2切分出来,再将节点2插入-1和1之间。原创 2024-05-14 08:14:09 · 501 阅读 · 0 评论 -
2024年Go最新Go 使用x509(1),Golang入门教程
录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**log.Fatalf(“生成RSA密钥出错: %v”, err)log.Fatalf(“创建CA证书失败: %v”, err)// 为CA生成RSA密钥。原创 2024-05-14 04:17:22 · 455 阅读 · 0 评论 -
2024年Go最新Git教程(持续更新中)_remote counting object 100%,Golang程序员面试笔试宝典
eeddb9437332cc49709ecf04d25b9860bcecf587 (HEAD -> moyu_job_collect_analyse, origin/moyu_job_collect_analyse) simpleu配置 job app创建。5a784abb8796e89bf283e27f70d961b139683c5a (origin/20210203_common_settings, 20210203_common_settings) 公共配置。1.下载源码 解压。原创 2024-05-14 04:16:46 · 868 阅读 · 0 评论 -
2024年Go最新gcc编译多文件项目(包含静态库和动态库)_编译包含库(1),2024年最新Golang开发面试书籍推荐
如果你学习C语言很久了,还只会在一个源文件里写代码,那么本章将会让你突破,带你了解多文件编程,教你学会如果有效地组织各个文件,并将它们联系起来。如果想要详细学习一下这方面的知识可以点击:http://c.biancheng.net/cpp/u/c16/原创 2024-05-14 04:16:10 · 308 阅读 · 0 评论 -
2024年Go最新gcc和makefile用法总结(建议收藏)_gcc makefile,绝对干货
其中,-static 选项强制 GCC 编译器使用静态链接库。其中,-L(大写的 L)选项用于向 GCC 编译器指明静态链接库的存储位置(可以借助 pwd 指令查看具体的存储位置);-l(小写的 L)选项用于指明所需静态链接库的名称,注意这里的名称指的是 xxx 部分,且建议将 -l 和 xxx 直接连用(即 -lxxx),中间不需有空格。原创 2024-05-14 04:15:34 · 689 阅读 · 0 评论 -
2024年Go最全专利挖掘的概念、方法、实例(3),金三银四Golang高级工程师面试题整理
根据发现的创新点和探索的技术方案,总结出一套或多套可能的技术解决方案,并进行专利搜索,以确认这些方案的新颖性和可专利性。此外,还需要评估这些技术方案在实际应用中的可行性和潜在价值。原创 2024-05-14 00:17:29 · 753 阅读 · 0 评论 -
2024年Go最全不能设置断点的检查步骤_wpf 打不了断点(3),2024年最新学习Golang开发的步骤,
4. 如果你有PDB文件,只要在右键菜单里面选择“加载符号文件”选项在打开的对话框里面输入符号文件的路径就可以了。如果你选择了符号文件,Visual studio还是报错说符号文件不能加载的话,那么请确认符号文件是否和调试的模块相匹配,因为不匹配的话,调试器就没有办法正确设置断点,没有正确显示变量的值。b) 如果时间相同,那有可能是因为模块文件是调试(Debug)版本,而符号文件是发布(Release)版本,这个时候,你可以用windbg自带的symchk程序来检查一下。原创 2024-05-14 00:16:54 · 683 阅读 · 0 评论 -
2024年Go最全不能设置断点的检查步骤_wpf 打不了断点(2),2024年最新Golang面试笔试题目
4. 如果你有PDB文件,只要在右键菜单里面选择“加载符号文件”选项在打开的对话框里面输入符号文件的路径就可以了。如果你选择了符号文件,Visual studio还是报错说符号文件不能加载的话,那么请确认符号文件是否和调试的模块相匹配,因为不匹配的话,调试器就没有办法正确设置断点,没有正确显示变量的值。b) 如果时间相同,那有可能是因为模块文件是调试(Debug)版本,而符号文件是发布(Release)版本,这个时候,你可以用windbg自带的symchk程序来检查一下。原创 2024-05-14 00:16:17 · 659 阅读 · 0 评论 -
2024年Go最全万字长文细说 Code Review 的正确姿势_大语言模型 code review,2024年最新Golang工程师面试题目和答案
好,你说是作者没有把 class name 取得好。那,问题是,你能取得好么?一个刚入职的 T1.2 的同学能把 class name、class 树设计得好么?即使是对简单的业务模型,也需要无数次’坏’的对象抽象实践,才能培养出一个具有合格的 class 抽象能力的同学,这对于大型却松散的团队协作,不是破坏性的?已经有了一套继承树,想要添加功能就只能在这个继承树里添加,以前的继承树不再适合新的需求,这个继承树上所有的 class,以及使用它们的地方,你都去改?不,是个正常人都会放弃,开始堆屎山。原创 2024-05-14 00:15:40 · 1014 阅读 · 0 评论 -
最新【算法】剑指 Offer II 083(2),2024年最新跟我一起手写EventBus吧
/ 当前位置保持不变,接着排下一个。// 当前位置保持不变,接着排下一个。// 换后面的某一个到当前位置。// 换后面的某一个到当前位置。原创 2024-05-13 12:31:47 · 820 阅读 · 0 评论 -
最新【算法leetcode】1837(1),2024年最新阿里开发7年大牛
升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!进制表示,计算并返回转换后各位数字的。进制数字,且它们的总和也应当按。转换后,各位数字应当视作是。原创 2024-05-13 12:31:10 · 348 阅读 · 0 评论 -
最新【程序员学理财】曼昆:经济学十大原理,你都了解吗?,2024年最新字节跳动Golang面试
举个例子,一个人陪老婆看一场电影,成本不仅仅是电影票、爆米花,还有这个人因此放弃的东西,如果这个人是盖茨,可能是没有参加会议,损失几百万美金。这个意思是说,我们在日常生活中,总是面临很多取舍的,比方说,是找工作还是考研,先买房子还是先买车,早餐吃煎饼还是肉夹馍,到底是娶刘诗诗还是高圆圆。所以,你卖了东西,别人赚了你的钱,你还赚了人家东西呢,东西也是钱,也可以说,你也赚了钱。玩一会儿,你啥也不损失,顶多脏一点。比方说,草莓20块钱一斤,你可能舍不得买,但是超市促销,10块钱一斤,你就会买一斤。原创 2024-05-13 12:30:32 · 613 阅读 · 0 评论 -
最全USB网卡收发数据分析_usb网卡数据传输、(2),2024年最新手把手教你在Golang-Studio上分析内存泄漏
----上面为驱动-------下面为数据链路层----------------------------上面为数据链路层-------下面为驱动-----------------------------上面为驱动网络部分--------下面为驱动 USB 部分-----------usb_fill_bulk_urb() // 从 USB 读取数据。usb_fill_bulk_urb() // 填充数据到 USB。usb_submit_urb() // USB 发送数据。原创 2024-05-13 08:30:19 · 413 阅读 · 0 评论 -
最全TypeScript中的基础数据类型_script中sentence(2),微信小程序趋势及前景
这与下面定义sentence。原创 2024-05-13 08:29:43 · 276 阅读 · 0 评论 -
最全TP框架的一些知识_tp csdn(3),2024年最新大厂面试必备技能
/ 调用带参数的方法, 传入对象和参数。// 获取该类中的所有属性, 公共/私有/静态。// 获取要调用的方法。// 判断某个方法是不是公共的。// 获取每个方法的注释。// 创建A的反射类, 并使用A类中的方法。// 当对象注入, 并调用对象的方法。// 调用不带参数的方法。// 调用该类中的方法。原创 2024-05-13 08:29:07 · 343 阅读 · 0 评论 -
最全STM32的NVIC和中断的总结_外部中断lednvic试验总结(1),项目实战
(2)而实际上STM32并没有用到这么多中断,所以在分组上只分了5个组,并且表示方法有所不同;含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**我们在应用当中只会用到STM32的分组(5组)方式,所以下面着重于5组分组方式;(图片来自STM32使用手册,只需看,不需要熟记,知道大概这么多中断就好)(1)选择优先级分组。原创 2024-05-13 08:28:28 · 275 阅读 · 0 评论 -
单片机初学者做项目为什么这么难?单片机初学者心得有哪些_单片机c语言难入门(1)
自己在敲代码的过程就是提升你编程思维和水平最佳时期,在敲的过程中你会发现很多问题,也是你积累经验的时候。比如说你电子时钟这个项目不会做,那你第一步就需要去找资源,也就是例程代码,看看别人是怎么做的。如果这个时候你又回去重新学c语言,单片机,学完以后你会发现还是一样的,还是做不出来。做了很多年以后,才明白这是必经的过程,不管你是学单片机,还是说学别的编程语言。千万不要因为自己做不出来,就以为是自己基础差,前面没学好,不是必然的关系。那段时间,我又开始怀疑,是不是我的基础太差或者学习方向不对导致的。原创 2024-05-13 04:19:00 · 399 阅读 · 0 评论 -
单片机从事什么工作?只会51单片机能找到工作吗?_分析单片机工程师的就业前景
其实说白了,就是一种程序架构,只是比较成熟稳定,给产品提供了很多辅助性的功能,比如说定时器、事件、队列、链表等等。如果说你只会51内核的单片机,能把这协议栈吃透的话,找个工作也是绝对没问题的,而且工资会比一般的高。在学习之前,我们一定要先定位好职位,再规划系统学习路线,否则你的学习效率短则慢几个月,长则慢几年。而且可以说,顶级硬件水平绝对不可能通过一本书,一个教程,甚至2,3个项目达到。这就导致很多新手,即深入学习硬件,又深入学习单片机和c语言。找到工作了,收入稳定了,后期你想学啥学啥,压力就没这么大了。原创 2024-05-13 04:18:24 · 712 阅读 · 0 评论 -
单片机从事什么工作?只会51单片机能找到工作吗?_分析单片机工程师的就业前景(1)
其实说白了,就是一种程序架构,只是比较成熟稳定,给产品提供了很多辅助性的功能,比如说定时器、事件、队列、链表等等。现在这么卷,如果你只会51单片机的话,估计比较难了,除非你用51单片机做过3-4个项目,或者做过一些soc开发。如果说你只会51内核的单片机,能把这协议栈吃透的话,找个工作也是绝对没问题的,而且工资会比一般的高。在学习之前,我们一定要先定位好职位,再规划系统学习路线,否则你的学习效率短则慢几个月,长则慢几年。第一次尝试学java,做程序员工资很香,基本语法学会了,也做了个小项目。原创 2024-05-13 04:17:48 · 751 阅读 · 0 评论 -
功能介绍 探秘Goby功能世界:点击URL,即刻畅享快速调起之旅!_goby可以扫域名带路径吗
我们从只会点鼠标的猴子到Ctrl+C,Ctrl+V来回切换的工具人,但有时候遇到大量需要复制的url界面,真的希望能有一个可以一键整理、一键扫描URL的功能来拯救!好消息是,Goby从客户端版本2.8.6起,官方引入了一项重大更新支持客户端注册自定义的协议处理程序。此功能可大大减少繁琐的复制粘贴步骤,提升了使用的便捷性。当用户为Goby注册了自定义的协议处理程序后,只需点击特定协议的链接,系统会智能地自动启动对应的应用程序来处理该链接,无需用户手动操作,只需点击确认就可以一键导入url开始进行扫描。原创 2024-05-13 04:17:10 · 938 阅读 · 0 评论 -
RabbitMQ没有延时队列?学会这一招玩转延时队列_rabbit延迟队列创建不了
如果是后者,可能我们队列里面有很多的消息,然后每条消息的过期时间又不一致,这个时候,如果队列出口处堵了很多没有设定过期时间的消息又不被消费的时候,队列后面的消息及时设定了过期时间也不会被丢弃,只有在设定了过期时间的消息到了队列该消费的位置,才会判定。在我们执行完成只有,我们可以看到,消息先被投递到了delay,该队列里面的消息,到达过期时间之后就被投递到了dead队列中去了。到这里,其实我们不难发现,我们无非是利用了TTL这个特性,让消息在过期的时候丢弃到指定队列,死信队列其实也是一个普通队列。原创 2024-05-13 00:13:07 · 297 阅读 · 0 评论 -
RabbitMQ没有延时队列?学会这一招玩转延时队列_rabbit延迟队列创建不了(2)
延时队列ROUTING_KEY。* 延时队列ROUTING_KEY。* 延时队列ROUTING_KEY。* 延时队列ROUTING_KEY。// 在延时交换器上绑定延时队列。原创 2024-05-13 00:12:32 · 613 阅读 · 0 评论 -
RabbitMQ没有延时队列?学会这一招玩转延时队列_rabbit延迟队列创建不了(1)
延时队列ROUTING_KEY。* 延时队列ROUTING_KEY。// 在延时交换器上绑定延时队列。原创 2024-05-13 00:11:56 · 264 阅读 · 0 评论 -
RabbitMQ安装教程(非常详细)从零基础入门到精通,看完这一篇就够了_rabbitmq安装详细教程
首先需要安装 Erlang环境,我这边安装的版本是:otp_win64_24.1.7点击NEXT按钮,选择安装路径,可以默认。点击install安装,中间会弹出安装C++库类,确认安装安装完成,关闭窗口。这样 就安装完了 Erlang然后就可以安装RabbitMQ了。原创 2024-05-13 00:11:18 · 6790 阅读 · 0 评论 -
Go最新Go语言入门心法(十四) Go操作Redis实战(1),2024年最新为什么阿里的程序员成长如此之快
IdleTimeout:最大的空闲连接等待时间,超过此时间后,空闲连接将被关闭。应该设置一个比redis服务端超时时间更短的时间。(3)通常使用Conn接口中的Do()方法执行Redis命令。MaxIdle:最大的空闲连接数,表示即使没有redis连接时依然可以保持N个空闲的连接,而不被清除,随时处于待命状态。(2)通常使用Dial()函数来连接Redis,当任务完成时,应用程序必须调用Close()函数来完成操作;DialConnectTimeout:连接Redis超时时间。// 1.连接到redis。原创 2024-05-12 20:23:12 · 586 阅读 · 0 评论 -
Go最新go语言中int和byte转换,阿里+头条+腾讯等大厂Golang笔试题目分享
/ | b3[0] | b3[1] | b3[2] | [3] | // 这里表示b3数组每个下标里面存放的值。// 在上面我们讲过,小端刚好和大端相反的,所以在转成小端模式的时候,只要将[]byte数组的下标首尾对换一下位置就可以了。// 将 256转成二进制就是。原创 2024-05-12 20:22:36 · 297 阅读 · 0 评论 -
Go最新Go网络编程——http(2),2024年最新Golang面试复习重点
从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!二、http客户端实现。三、http服务端实现。原创 2024-05-12 20:22:00 · 190 阅读 · 0 评论 -
Go最新Go爬虫学习笔记_go爬虫的知识储备(2),海量算法高频面试题精编解析
etcd 这个名字是 etc distributed 的缩写。我们知道,在 Linux 中 etc 目录存储了系统的配置文件,所以 etcd 代表了分布式的配置中心系统。然而,它能够实现的功能远不是同步配置文件这么简单。etcd 可以作为分布式协调的组件帮助我们实现分布式系统。原创 2024-05-12 20:21:23 · 919 阅读 · 0 评论 -
Go最全C++都有哪些就业方向?是否应该学习C++(2),2024年最新价值2000元的Golang学习资源泄露
至于是否要学习C++,以及C++卷不卷的这个问题,我想说的是,完全看你兴趣,编程开发语言一共就那几个,可以都了解了解,对哪个感兴趣就选哪个,其实差别也不大,关键还是人,我认为厉害的人选择哪个语言都会有好的前途,总是纠结这纠结那的人往往最后一事无成。现在游戏行业这么火爆,腾讯天美相当挣钱,年终奖也是特别高,好像有些团队有100多个月年终奖,它们的游戏引擎就都是使用C++开发的,而且现在各大公司都在布局游戏,网易、腾讯、字节都有游戏部门,还有像米哈游、莉莉丝、暴雪这些游戏公司也都有c++岗位。原创 2024-05-12 16:26:32 · 280 阅读 · 0 评论 -
Go最全C++引用10分钟入门教程_windows 快捷方式 原始 地址 c++,2024年最新面试官不讲武德
/这里用到了一点新知识,叫做运算符重载,我们会在《运算符重载》一章中详细讲解S operator+(const S &A, const S &B){ S C;这段代码在 GCC 和 Visual C++ 下都能够编译通过,这是因为将常引用绑定到临时数据时,编译器采取了一种妥协机制:编译器会为临时数据创建一个新的、无名的临时变量,并将临时数据放入该临时变量中,然后再将引用绑定到该临时变量。//输出A类型的大小。原创 2024-05-12 16:25:55 · 1060 阅读 · 0 评论 -
Go最全c++ 之 std move 原理实现与用法总结_std move,Golang开发环境
std::move(s) => std::move(string& &&) => 折叠后 std::move(string& )template struct remove_reference //左值引用。string&& move(string& t) //t为左值,移动后不能在使用t。// remove_reference::type为string。string&& move(string&& t) //t为右值。//整个std::move被实例如下。//原始的,最通用的版本。原创 2024-05-12 16:25:19 · 318 阅读 · 0 评论 -
Go最全c++ 之 std move 原理实现与用法总结_std move(1),2024年最新Golang经典面试
首先,函数参数T&&是一个指向模板类型参数的右值引用,通过引用折叠,此参数可以与任何类型的实参匹配(可以传递左值或右值,这是std::move主要使用的两种场景)。②对于static_cast的使用注意:任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_cast。简单来说,右值经过T&&传递类型保持不变还是右值,而左值经过T&&变为普通的左值引用.公式一)X& &、X&& &、X& &&都折叠成X&,用于处理左值。公式二)X&& &&折叠成X&&,用于处理右值。原创 2024-05-12 16:24:42 · 384 阅读 · 0 评论 -
2024年最新经历分享:我是如何出版了人生的第一本书的(5),2024年最新Golang开发必学
对很多互联网人来说,从输出、写文章到出书,是一个重要的里程碑节点。但很多人仅仅是停留在文章阶段,并没有对内容进行系统化整理,同时也不知道出书的流程,以及该如何进行准备。这篇文章,作者分享了自己出书的经历,希望能对大家有所帮助。全文共 2645 字,阅读需要 5 分钟自己十多年前就有写书的打算,当时想写一本关于Delphi编程语言工具书,后来由于Delphi语言市场需求不大,终止了Delphi编程语言图书的编写。回想十多年前,如果当时建立了产品思维,或是有高人指点,或许自己就可以少走很多弯路。原创 2024-05-12 12:26:40 · 654 阅读 · 0 评论 -
2024年最新经历分享:我是如何出版了人生的第一本书的(1),2024年最新附答案解析
工作这些年,接触了许多正处于毕业期准备步入职场的新人,在这些小伙伴身上看到了自己曾经的迷茫。自己非常希望可以为这些小伙伴带来一些帮助。随着工作经验和知识的进一步积累,也逐渐建立了自己的思维体系,时机也逐渐成熟 ,将这些知识整理为结构化的内容分享出来。用产品经理的思维去写一本书,去影响和带动更多的人,帮助更多的小伙伴快速成长,提升效率,减少内卷,这也是自己写书的初心所在。原创 2024-05-12 12:26:04 · 289 阅读 · 0 评论