- Camera Framework 架构了解下
2401_89828732
架构
.├——camera2│├——CaptureRequest.aidl│├——ICameraDeviceCallbacks.aidl│├——ICameraDeviceUser.aidl│├——impl││├——CameraMetadataNative.aidl││└——CaptureResultExtras.aidl│├——params││├——OutputConfiguration.aidl││├
- 【leetcode 27】459.重复的子字符串==❗还不会❗==
椰椰荔枝糖
刷题leetcode算法java
classSolution{publicbooleanrepeatedSubstringPattern(Strings){if(s.equals(""))returnfalse;intlen=s.length();//原串加个空格(哨兵),使下标从1开始,这样j从0开始,也不用初始化了s=""+s;char[]chars=s.toCharArray();int[]next=newint[len+1
- 【leetcode 26】28.找出字符串中第一个匹配项的下标 | 实现 strStr()==❗不会❗==
椰椰荔枝糖
刷题leetcode算法职场和发展java
在一个串中查找是否出现过另一个串,这是KMP的看家本领。//方法一classSolution{publicvoidgetNext(int[]next,Strings){intj=-1;next[0]=j;for(inti=1;i=0&&s.charAt(i)!=s.charAt(j+1)){j=next[j];}if(s.charAt(i)==s.charAt(j+1)){j++;}next[i]
- 【第二天】零基础入门刷题Python-Selenium-自动化测试-打开百度的首页搜索B站-By类的八种定位方法-find_element方法-send_keys方法
Long_poem
pythonselenium测试工具
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、By类是什么?time模块是什么?二、使用步骤1.通过ID定位的方法在百度的首页上搜索B站2.通过Name定位的方法在百度的首页上搜索B站3.通过ClassName定位的方法在百度的首页上搜索B站4.通过TagName定位的方法在百度的首页上搜索B站5.通过LinkText定位的方法在百度的首页上搜索B站6.通过Par
- 编译汇编链接--从此看懂之后遇到的每一个.ld链接文件
绒绒毛毛雨
MIT6.S081汇编c语言系统架构builderpattern
文章目录〇前言一、预备知识1.源代码文件(.c)➡️可执行文件2.汇编文件(.s)➡️可执行文件3.链接器脚本(.ld)二、基本语法1.ENTRY(程序的入口点)2.MEMORY(系统的内存布局)3.SECTIONS(各个段的布局)o.前置语法讲解.的含义ALIGN语句ASSERT语句PROVIDE语句a.`.text`段b.`.rodata`段c.`.data`段d.`.bss`段4.其他a.O
- 什么是 Next.js 中的代码分割?如何提升性能?
javascript前端
CSS技巧与案例详解vue2与vue3技巧合集VueUse源码解读什么是Next.js中的代码拆分?它如何提升性能?代码拆分是现代Web开发中一个重要的性能优化技术,特别是在Next.js应用中。代码拆分的核心思想是将应用的代码分解成更小、更易管理的部分,并在需要时动态加载这些部分。通过减少应用的初始加载时间,这一技术显著提升了性能和用户体验。在本文中,我们将深入探讨代码拆分的概念、它在Next.
- PyQt5中各种控件的功能及属性介绍
就让往事随风去...
Python相关pyqtpython
目录一、PyQt介绍二、导入相关库三、控件功能及属性介绍1.应用程序——`QApplication`2.基本窗口——`QWidget`3.多行文本编辑——`QTextEdit`4.垂直布局——`QVBoxLayout`(`QHoxLayout`为水平)5.可滚动视区——`QScrollArea`6.项目列表——`QListWidget`7.项目列表的项——`QListWidgetItem`8.创建
- PHP之laravel框架
phpweiyi
phplaravel数学建模vue.js
写在开头的一些话下面的图片是我用laravel框架做出的一个作品,接下来我会用我学到的知识来讲解laravel框架。目录序言laravel简介一、foreach循环语句二、if循环语句三、extends四、csrf五、自动加载类(ClassAuto-loading)六、单元测试(Unit-Testing)1.创建测试类:2.编写测试方法:3.运行单元测试:4.查看测试结果:七、数据缓存1.缓存一个
- 鸿蒙5.0版开发:媒体数据封装
炫酷盖茨猫先生
鸿蒙5.0开发ArkTS组件harmonyos华为视频编解码androidArkTS媒体前端
往期鸿蒙全套实战文章必看:鸿蒙开发核心知识点,看这篇文章就够了最新版!鸿蒙HarmonyOSNext应用开发实战学习路线鸿蒙HarmonyOSNEXT开发技术最全学习路线指南鸿蒙应用开发实战项目,看这一篇文章就够了(部分项目附源码)媒体数据封装开发者可以调用本模块的NativeAPI接口,完成音视频封装,即将音频、视频等编码后的媒体数据,按一定的格式存储到文件里。当前支持的封装能力如下:封装格式视
- ElasticSearch第十六讲 ES 索引模板Index Template与Dynamic Template
程序员路同学
ElasticSearchelasticsearchjava大数据
IndexTemplateIndexTemplates可以帮助你设定Mappings和Settings,并按照一定的规则,自动匹配到新创建的索引之上。模版仅在一个索引被新创建时,才会产生作用。修改模版不会影响已创建的索引,你可以设定多个索引模版,这些设置会被“merge”在一起,你可以指定“order”的数值,控制“merging”的过程索引模板中的内容settings:指定index的配置信息,
- 基于HarmonyOS 5.0 Next的应用开发设计模式与前端框架的架构整合与实践【附代码实例】
一键难忘
精通AI实战千例专栏合集harmonyos设计模式前端框架
文章目录HarmonyOS5.0Next应用开发:架构设计中的设计模式与前端框架设计HarmonyOS5.0Next概览设计模式在HarmonyOS应用开发中的应用单例模式工厂模式观察者模式设计模式的使用分层架构设计1.公共能力层(CommonLayer)2.基础特性层(FeatureLayer)3.产品定制层(ProductLayer)模块化设计1.模块化结构2.模块化代码示例前端框架的设计Ar
- Erpnext安装
人间不值得T皿T
开源项目pythonerp开源项目javascript
Erpnext安装环境要求Ubuntu23.04x86_64Python3.10.12pip23.0.1nodev18.16.0npm9.5.1yarn1.22.22MariaDB10.11.2Redis7.0.8wkhtmltox0.12.6.1bench5.22.6环境安装Reids安装//安装7.0.8也可不指定版本直接执行sudoaptinstallredis-serversudoapti
- python调用git在windows,ImportError在Windows 10 Git Bash上使用Anaconda Python导入_ssl
Kuchiki Touko
ContextIamworkingbehindacorporateproxywithaself-signedcertificate.Ihavedocumentedthisextensively.TheissuenowisthatTLS/SSLmoduleisnotloadingcorrectlytoevenverifythecertificates.Windows10Anaconda2018.12
- 【转载】通过 GetMessageExtraInfo 方法判断当前收到的鼠标消息是否来自触控板和 Pen
涟幽516
windowsmicrosoft
大家都知道,在不开启WM_Pointer的情况下,无论是走WM_Touch或者是RealTimeStylus等方式,默认下触摸都会提升为鼠标消息从而更好兼容应用程序的逻辑如果此时应用程序想要根据消息循环里面接收到的Win32消息判断一个鼠标消息的来源是否来自于触摸框触摸屏或者是Pen笔等,可以通过GetMessageExtraInfo方法获取更多的信息根据GetMessageExtraInfo方法
- 重定向和渲染的区别。
old_man31
pythondjango
defnew_topic(request):#如果提交方法不是post则显示表单ifrequest.method!='POST':returnrender(request,'new_topic.html')else:text=request.POST.get('text')ifall((text)):try:#凡是可能存在没有数据的地方,需要用try或者if,把可能出现的问题更改下。Topic.o
- 深入浅出之xml文件解析(python)
浩瀚之水_csdn
#Python学习xmlpython数据库
XML(eXtensibleMarkupLanguage,可扩展标记语言)是一种用于存储和传输数据的标记语言。与HTML相似,XML也使用标签(tags)来定义数据,但XML的标签不是预定义的,而是由用户根据需要自定义的。这使得XML成为一种非常灵活和强大的数据表示方式。一、XML的特点自描述性:XML文档中的每个元素都通过标签来描述,这使得数据易于理解和使用。结构化:XML提供了一种结构化的方式
- 磁盘文件系统问题排查
inquisiter
linux
1.ext4磁盘结构块组:超级块:块位图:inode位图:inode表:空闲inode表:空闲块表:2.块组结构Group0:(Blocks0-32767)csum0xfd42[ITABLE_ZEROED]Primarysuperblockat0,Groupdescriptorsat1-125ReservedGDTblocksat126-1149Blockbitmapat1150(+1150),c
- 2025蛇年喜庆HTML5代码
学习&实践爱好者
HTML5与CSS3JavaScrip技术编程实践系列html5前端html
2025蛇年喜庆HTML5代码以下是一个简单的HTML5+CSS+JavaScript代码示例,用于庆祝2025年蛇年。先看效果图:源码如下:2025年蛇年快乐!body{font-family:'Arial',sans-serif;background-color:#0a0a23;/*深蓝色背景*/color:#ffffff;/*白色文字*/text-align:center;margin:0;
- 代码随想录day4
独正己身
c语言算法数据结构c++
24.两两交换链表:注意虚拟头节点的使用ListNode*swapPairs(ListNode*head){ListNode*dummy=newListNode();dummy->next=head;ListNode*current=dummy;while(current->next!=nullptr&¤t->next->next!=nullptr){ListNode*tmp=curr
- Android 图片高斯模糊
又双㕛叕、
Android
1.RenderScript/***将传入的图片进行高斯模糊**@parammContext上下文*@parambitmap图片对象*@paramradius高斯模糊半径*@return模糊之后的对象*/publicstaticBitmapblur(ContextmContext,Bitmapbitmap,floatradius){longtime=System.currentTimeMillis
- C++顺序栈的出栈入栈
晚墨ning
数据结构c++数据结构栈
#includeusingnamespacestd;typedefstructNode{intdata;//数据域structNode*pNext;//指针域}NODE,*PNODE;typedefstructStack{PNODEPTop;PNODEpBottom;}STACK,*PSTACK;//初始化voidinit(PSTACKps){ps->PTop=ps->pBottom=(PNODE
- Autogen_core源码:_agent_instantiation.py
ZHOU_WUYI
autogenagent人工智能
目录_agent_instantiation.py代码代码解释代码示例示例1:使用`populate_context`正确设置上下文示例2:尝试在上下文之外调用`current_runtime`和`current_agent_id`示例3:模拟AgentRuntime使用`AgentInstantiationContext`_agent_instantiation.py代码fromcontextl
- 前端的核心技术
善良的小乔
前端
前端开发的核心技术主要围绕HTML、CSS、JavaScript三大基础语言展开,同时结合现代前端开发的需求,还包括前端框架、构建工具、前端安全和性能优化等内容。下面,我们详细解析前端开发中的核心技术。一.HTML(超文本标记语言)详解HTML(HyperTextMarkupLanguage)是前端开发的基础,用于构建网页的结构。HTML由各种标签(Tag)组成,每个标签都有不同的作用,主要用于定
- Kivy基础教程
PoolPoolIsTryingHard
python开发语言
文章目录一、Kivy是什么?二、安装kivy1.安装kivy2.第一个kivy界面hello,kivy!二,Label三,Button四,Spinbox五,TextInput一、Kivy是什么?Tkinter是Python的图形用户界面(GUI)模块,您可以使用Python制作桌面应用程序。您可以制作窗口、按钮、显示文本和图像等。你也可以用kivy开发Android应用,或者用于iOS开发。二、安
- 修改训练配置记录
positive546
深度学习人工智能机器学习
1.learning_rate:作用:学习率。修改影响:调整此值可以显著影响模型的训练速度和最终性能。在train.py代码的设置训练配置中:trainer=SFTTrainer(model=model,tokenizer=tokenizer,train_dataset=dataset,dataset_text_field="text",max_seq_length=max_seq_length,
- 探索MVIKotlin:多平台MVI架构的强大框架
朱龙阔Philippa
探索MVIKotlin:多平台MVI架构的强大框架MVIKotlinExtendableMVIframeworkforKotlinMultiplatformwithpowerfuldebuggingtools(loggingandtimetravel),inspiredbyBadooMVICorelibrary项目地址:https://gitcode.com/gh_mirrors/mv/MVIKo
- python中name is not defined怎么解决_python name 'file' is not defined的解决办法
weixin_39900582
python中nameisnotdefined怎么解决
python版本3.11源码:poem='''\ProgrammingisfunWhentheworkisdoneifyouwannamakeyourworkalsofun:usePython!'''f=file('poem.txt','w')#openfor'w'ritingf.write(poem)#writetexttofilef.close()#closethefilef=file('po
- 鸿蒙Next实战:环境搭建
v.15889726201
harmonyos华为
前言作为独立开发者,如果我们错过了传统移动App,和后起小程序的红利,那万物互联+AI的应用开发就得抓住了。虽然个人上架应用平台难易都差不多,但是鸿蒙生态当前正需要广大开发者参与,一旦上架,相比其他平台,流量扶持力度更大,变现能力也更容易。所以,我们可以先开发一些应用占个位置,后面再逐渐迭代完善;那么,第一步就先从搭建开发环境开始吧。b4e9d22450fabee5ca1f8ca70e9d36d2
- SpringBoot集成DingTalk钉钉机器人实现消息同步/异步预警推送1.0版本
Jaemon
Jaemon教程类Java类库
V2.0版本新增支持以下功能新增Dinger层对消息对象配置指定钉钉机器人新增Dinger层统一管理消息对象,仅支持text和markdown格式支持xml方式配置支持注解方式配置新增关闭指定消息体和XXXDinger内定义的所有消息体SpringBoot集成DingTalk钉钉机器人实现消息同步/异步预警推送2.0版本开发环境说明JDK1.8springboot版本:2.0.3.RELEASE快
- node.js基础入门语法总结
@dahai
node.jsnode.jsnpm前端
目录目录1.node内置fs模块1.fs.readFile()2.fs.writeFile()3.注意点2.path模块1.path.join()2.path.basename()3.path.extname()3.http模块1.创建基本的web服务器步骤2.res.end返回中文乱码问题4.模块化1.模块作用域2.module对象,向外共享模块作用域中的成员3.module.exports对象
- 矩阵求逆(JAVA)初等行变换
qiuwanchi
矩阵求逆(JAVA)
package gaodai.matrix;
import gaodai.determinant.DeterminantCalculation;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* 矩阵求逆(初等行变换)
* @author 邱万迟
*
- JDK timer
antlove
javajdkschedulecodetimer
1.java.util.Timer.schedule(TimerTask task, long delay):多长时间(毫秒)后执行任务
2.java.util.Timer.schedule(TimerTask task, Date time):设定某个时间执行任务
3.java.util.Timer.schedule(TimerTask task, long delay,longperiod
- JVM调优总结 -Xms -Xmx -Xmn -Xss
coder_xpf
jvm应用服务器
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。
典型设置:
java -Xmx
- JDBC连接数据库
Array_06
jdbc
package Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtil {
//完
- Unsupported major.minor version 51.0(jdk版本错误)
oloz
java
java.lang.UnsupportedClassVersionError: cn/support/cache/CacheType : Unsupported major.minor version 51.0 (unable to load class cn.support.cache.CacheType)
at org.apache.catalina.loader.WebappClassL
- 用多个线程处理1个List集合
362217990
多线程threadlist集合
昨天发了一个提问,启动5个线程将一个List中的内容,然后将5个线程的内容拼接起来,由于时间比较急迫,自己就写了一个Demo,希望对菜鸟有参考意义。。
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
public c
- JSP简单访问数据库
香水浓
sqlmysqljsp
学习使用javaBean,代码很烂,仅为留个脚印
public class DBHelper {
private String driverName;
private String url;
private String user;
private String password;
private Connection connection;
privat
- Flex4中使用组件添加柱状图、饼状图等图表
AdyZhang
Flex
1.添加一个最简单的柱状图
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
<?xml version=
"1.0"&n
- Android 5.0 - ProgressBar 进度条无法展示到按钮的前面
aijuans
android
在低于SDK < 21 的版本中,ProgressBar 可以展示到按钮前面,并且为之在按钮的中间,但是切换到android 5.0后进度条ProgressBar 展示顺序变化了,按钮再前面,ProgressBar 在后面了我的xml配置文件如下:
[html]
view plain
copy
<RelativeLa
- 查询汇总的sql
baalwolf
sql
select list.listname, list.createtime,listcount from dream_list as list , (select listid,count(listid) as listcount from dream_list_user group by listid order by count(
- Linux du命令和df命令区别
BigBird2012
linux
1,两者区别
du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
- AngularJS中的$apply,用还是不用?
bijian1013
JavaScriptAngularJS$apply
在AngularJS开发中,何时应该调用$scope.$apply(),何时不应该调用。下面我们透彻地解释这个问题。
但是首先,让我们把$apply转换成一种简化的形式。
scope.$apply就像一个懒惰的工人。它需要按照命
- [Zookeeper学习笔记十]Zookeeper源代码分析之ClientCnxn数据序列化和反序列化
bit1129
zookeeper
ClientCnxn是Zookeeper客户端和Zookeeper服务器端进行通信和事件通知处理的主要类,它内部包含两个类,1. SendThread 2. EventThread, SendThread负责客户端和服务器端的数据通信,也包括事件信息的传输,EventThread主要在客户端回调注册的Watchers进行通知处理
ClientCnxn构造方法
&
- 【Java命令一】jmap
bit1129
Java命令
jmap命令的用法:
[hadoop@hadoop sbin]$ jmap
Usage:
jmap [option] <pid>
(to connect to running process)
jmap [option] <executable <core>
(to connect to a
- Apache 服务器安全防护及实战
ronin47
此文转自IBM.
Apache 服务简介
Web 服务器也称为 WWW 服务器或 HTTP 服务器 (HTTP Server),它是 Internet 上最常见也是使用最频繁的服务器之一,Web 服务器能够为用户提供网页浏览、论坛访问等等服务。
由于用户在通过 Web 浏览器访问信息资源的过程中,无须再关心一些技术性的细节,而且界面非常友好,因而 Web 在 Internet 上一推出就得到
- unity 3d实例化位置出现布置?
brotherlamp
unity教程unityunity资料unity视频unity自学
问:unity 3d实例化位置出现布置?
答:实例化的同时就可以指定被实例化的物体的位置,即 position
Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object
这样你不需要再用Transform.Position了,
如果你省略了第二个参数(
- 《重构,改善现有代码的设计》第八章 Duplicate Observed Data
bylijinnan
java重构
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusE
- struts2更改struts.xml配置目录
chiangfai
struts.xml
struts2默认是读取classes目录下的配置文件,要更改配置文件目录,比如放在WEB-INF下,路径应该写成../struts.xml(非/WEB-INF/struts.xml)
web.xml文件修改如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class&g
- redis做缓存时的一点优化
chenchao051
redishadooppipeline
最近集群上有个job,其中需要短时间内频繁访问缓存,大概7亿多次。我这边的缓存是使用redis来做的,问题就来了。
首先,redis中存的是普通kv,没有考虑使用hash等解结构,那么以为着这个job需要访问7亿多次redis,导致效率低,且出现很多redi
- mysql导出数据不输出标题行
daizj
mysql数据导出去掉第一行去掉标题
当想使用数据库中的某些数据,想将其导入到文件中,而想去掉第一行的标题是可以加上-N参数
如通过下面命令导出数据:
mysql -uuserName -ppasswd -hhost -Pport -Ddatabase -e " select * from tableName" > exportResult.txt
结果为:
studentid
- phpexcel导出excel表简单入门示例
dcj3sjt126com
PHPExcelphpexcel
先下载PHPEXCEL类文件,放在class目录下面,然后新建一个index.php文件,内容如下
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if (PHP_SAPI == 'cli')
die('
- 爱情格言
dcj3sjt126com
格言
1) I love you not because of who you are, but because of who I am when I am with you. 我爱你,不是因为你是一个怎样的人,而是因为我喜欢与你在一起时的感觉。 2) No man or woman is worth your tears, and the one who is, won‘t
- 转 Activity 详解——Activity文档翻译
e200702084
androidUIsqlite配置管理网络应用
activity 展现在用户面前的经常是全屏窗口,你也可以将 activity 作为浮动窗口来使用(使用设置了 windowIsFloating 的主题),或者嵌入到其他的 activity (使用 ActivityGroup )中。 当用户离开 activity 时你可以在 onPause() 进行相应的操作 。更重要的是,用户做的任何改变都应该在该点上提交 ( 经常提交到 ContentPro
- win7安装MongoDB服务
geeksun
mongodb
1. 下载MongoDB的windows版本:mongodb-win32-x86_64-2008plus-ssl-3.0.4.zip,Linux版本也在这里下载,下载地址: http://www.mongodb.org/downloads
2. 解压MongoDB在D:\server\mongodb, 在D:\server\mongodb下创建d
- Javascript魔法方法:__defineGetter__,__defineSetter__
hongtoushizi
js
转载自: http://www.blackglory.me/javascript-magic-method-definegetter-definesetter/
在javascript的类中,可以用defineGetter和defineSetter_控制成员变量的Get和Set行为
例如,在一个图书类中,我们自动为Book加上书名符号:
function Book(name){
- 错误的日期格式可能导致走nginx proxy cache时不能进行304响应
jinnianshilongnian
cache
昨天在整合某些系统的nginx配置时,出现了当使用nginx cache时无法返回304响应的情况,出问题的响应头: Content-Type:text/html; charset=gb2312 Date:Mon, 05 Jan 2015 01:58:05 GMT Expires:Mon , 05 Jan 15 02:03:00 GMT Last-Modified:Mon, 05
- 数据源架构模式之行数据入口
home198979
PHP架构行数据入口
注:看不懂的请勿踩,此文章非针对java,java爱好者可直接略过。
一、概念
行数据入口(Row Data Gateway):充当数据源中单条记录入口的对象,每行一个实例。
二、简单实现行数据入口
为了方便理解,还是先简单实现:
<?php
/**
* 行数据入口类
*/
class OrderGateway {
/*定义元数
- Linux各个目录的作用及内容
pda158
linux脚本
1)根目录“/” 根目录位于目录结构的最顶层,用斜线(/)表示,类似于
Windows
操作系统的“C:\“,包含Fedora操作系统中所有的目录和文件。 2)/bin /bin 目录又称为二进制目录,包含了那些供系统管理员和普通用户使用的重要
linux命令的二进制映像。该目录存放的内容包括各种可执行文件,还有某些可执行文件的符号连接。常用的命令有:cp、d
- ubuntu12.04上编译openjdk7
ol_beta
HotSpotjvmjdkOpenJDK
获取源码
从openjdk代码仓库获取(比较慢)
安装mercurial Mercurial是一个版本管理工具。 sudo apt-get install mercurial
将以下内容添加到$HOME/.hgrc文件中,如果没有则自己创建一个: [extensions] forest=/home/lichengwu/hgforest-crew/forest.py fe
- 将数据库字段转换成设计文档所需的字段
vipbooks
设计模式工作正则表达式
哈哈,出差这么久终于回来了,回家的感觉真好!
PowerDesigner的物理数据库一出来,设计文档中要改的字段就多得不计其数,如果要把PowerDesigner中的字段一个个Copy到设计文档中,那将会是一件非常痛苦的事情。