- Django ORM 1. 创建模型(Model)
博观而约取
Pythondjango数据库python
1.ORM介绍什么是ORM?ORM,全称Object-RelationalMapping(对象关系映射),一种通过对象操作数据库的技术。它的核心思想是:我们不直接写SQL,而是用Python对象(类/实例)来操作数据库表和记录。ORM就像一个“翻译官”,帮我们把Python代码翻译成数据库能听懂的SQL命令。为什么使用ORM?Django中的ORM提供了一个高层次、抽象化的接口来操作数据库,它的优
- 关于Xcode安装不上/安装慢
行云流水zzz
xcodexcodemacos
我之前在appstore下载的Xcode,一直卡上安装上,到最后还是没有安装成功,最后在官网下载Xcode,xcode下载,点击其他下载,然后选择在web页面下,成功。(看清楚你的mac版本,最新版Xcode只兼容mac最新系统,不兼容旧系统
- JAVA基础--异常
wzdashuaibi
java开发语言jvm
一、异常分类基类:Throwable,Error和Exception继承Throwable一、运行时异常1.RuntimeException2.NullPointerException3.ClassCastException4.ArrayIndexOutOfBoundsException如果不对这些异常进行处理,那么默认遇到这些异常就会终止程序二、已检查异常1.Exception2.FileNot
- PettingZoo:多智能体强化学习的标准API
资源存储库
多智能体强化学习人工智能深度学习
PettingZoo:AStandardAPIforMulti-AgentReinforcementLearningPettingZoo:多智能体强化学习的标准API目录Abstract摘要1Introduction1介绍2BackgroundandRelatedWorks2背景及相关工作2.1PartiallyObservableStochasticGamesandRLlib2.1部分可观察随机
- Java-Matcher类
Lowjin_
Java开发语言java
Matcher类是Java正则表达式API的核心组件之一(位于java.util.regex包),用于执行复杂的字符串匹配操作。它与Pattern类配合使用,提供查找、替换、分组提取等功能。1.Matcher类的作用对输入字符串执行匹配操作(查找、替换等)支持分组提取(通过()捕获的子表达式)提供位置信息(匹配的起始和结束索引)支持多次匹配和重置2.创建Matcher对象Matcher对象必须通过
- C++学习笔记.2
Lowjin_
C++c++学习笔记
类和对象封装语法:class关键字{访问权限属性行为}#includeusingnamespacestd;constdoublepi=3.14;//设计一个圆类classcircle{//访问权限//公共权限public://属性intr;//行为doublec(){return2*pi*r;}};intmain(){//通过圆类创建具体的圆(对象)circlec1;c1.r=10;cout#in
- 【鸿蒙开发】响应式设计
harmonyos-next
前言响应式设计(ResponsiveWebDesign,简称RWD)在Web网站设计领域是一种网页设计方法论,旨在让网站在不同设备和屏幕尺寸上都能提供良好的阅读和交互体验,而无需为每一个新设备或屏幕尺寸创建单独的版本。这种设计方法的核心在于页面布局和内容可以根据用户所使用的设备特性(如屏幕尺寸、分辨率、方向等)进行灵活调整。实现断点响应式布局中最常使用的特征是窗口宽度及窗口高宽比,可以将窗口宽度及
- HarmonyOSNext应用无响应全解析:从机制到实战的卡死问题排查
HarmonyOSNext应用无响应全解析:从机制到实战的卡死问题排查\##HarmonyOSNext##ArkTs##教育本文适用于教育科普行业进行学习,有错误之处请指出我会修改。喂喂喂!应用卡成PPT了?点啥都没反应?别慌!这是你的应用无响应急救指南!系统检测到应用卡死后会生成appfreeze日志,本文手把手教你从日志里挖出元凶!先划重点!本文使用范围//仅适用于Stage模型!看日志前请确
- Wheeltec G60 launch报错记录:nmea_navsat_driver报错和raise OsNotDetected报错
努力glow .
pythonopencv人工智能计算机视觉c++
WheeltecG60launch报错记录我以为我遇到了一个问题,其实是两个问题,所以在这里记录一下。我的系统是Ubuntu18.04melodicnmea_navsat_driver报错Traceback(mostrecentcalllast):File"/home/zyy/LZY/catkin_ws/src/nmea_navsat_driver/scripts/nmea_serial_driv
- manjaro linux桌面更换
tboqi1
linuxmanjarokdexfcedeepin
本来安装的xfce版本的manjaro装好后安装了输入法qq微信等,还是喜欢win10那种小图标的样子,然后开始折腾,换其他桌面先是换成了deepin桌面,网上有教程,不过是kde-》deepin,能用---换入deepin桌面后感觉确实比xfce桌面好用,但opera无法打开(不喜欢firefox上面一大条标题,Opera比较简洁),不知道为什么(请路过的高手指点一下)--继续折腾,换成kde桌
- kde截图工具报错
翻滚吧键盘
openSUSE服务器运维
Anerroroccurredwhiletakingascreenshot.KWinscreenshotrequestfailed:TheprocessisnotauthorizedtotakeascreenshotPotentiallyrelevantinformation:-Method:CaptureScreen-Methodspecificarguments:"eDP-2"好的,感谢您提供
- Python个人学习基础笔记-3.爬虫(1)
孜宸润泽
python学习笔记
一.爬虫的定义爬虫(crawler/spider)是模拟浏览器行为,按照编写规则,自动接收网页信息的工具。通常而言爬虫首先从初始URL集选择URL,向目标网页发起请求,获取网页的HTML源码,然后将获取的数据进行解析过滤,保存我们所需要的标题、内容等,最后提取新的URL加入待爬序列。爬虫常见所需要的库包括Request库、BeautifulSoup4库、Scrapy库和Selenium库等。二.R
- 和李沐老师学深度学习--2.数据操作部分代码实现(学习笔记)
大家对代码有不懂地方都可以上网去查找,最好是有一定的数据分析基础比较容易理解,李沐老师课程视频链接我放在这里了大家有不懂都可以观看课程进行学习04数据操作+数据预处理【动手学深度学习v2】_哔哩哔哩_bilibili深度学习课程电子书:大家可以使用翻译插件观看书的内容Preface—DiveintoDeepLearning1.0.3documentation深度学习github项目:https:/
- 生成树协议(STP)技术详解:原理、演进与配置实践
生成树协议(SpanningTreeProtocol,简称STP)是局域网交换网络中的“防堵大师”,旨在解决环路问题,确保数据传输稳定无阻。从经典的IEEE802.1DSTP,到思科的PVST(每VLAN生成树)、快速的RSTP(IEEE802.1w),再到高效的MSTP(IEEE802.1s),STP家族历经演进,满足了现代网络的多样化需求。一、STP概述:局域网的防环基石1.1STP的定义与背
- ts学习笔记七:泛型
//泛型的用处在于当我们调用的时候确定类型,而不是一开始就写好类型,类型不确定,只有在执行的时候才能确定//1.单个泛型声明的时候需要用(times:number,value:T):Array{//根据对应参数的类型给T赋值//letresult=[];//for(leti=0;i{//[key:number]:T//}//interfaceICreateArray{//interface后面的类
- AEPR人像磨皮润肤美容插件的使用指南
觉昧
本文还有配套的精品资源,点击获取简介:AEPR人像磨皮润肤美容插件是一款结合AdobeAfterEffects和Photoshop的专业图像处理工具,用于视频和图像后期制作。该插件简化了人像美容过程,提供美白、磨皮和润色功能,帮助用户获得理想的视觉美感。通过使用该插件,用户能够轻松改善肤色和皮肤质地,而高斯模糊、斑点修复和色彩平衡调整等技术则保证了皮肤质感的自然与细腻。为了实现最佳效果,用户需要遵
- TS 函数泛型和泛型约束
邱志刚
TS前端
仅供参考,自己学习记笔记。//函数泛型functionAdd(a:T,b:T):Array{return[a,b]}Add(1,2);Add('1','2');//多个泛型functionSub(a:T,b:B):Array{return[a,b]}Sub(1,'aa')//泛型约束interfaceLen{length:Number}functiongetLength(arg:T){return
- C++快速排序算法详解与实现
小小的博客
排序算法c++算法排序算法c++排序算法
快速排序(QuickSort)是一种高效的排序算法,由英国计算机科学家东尼·霍尔(TonyHoare)于1960年发明。本文将详细讲解快速排序算法的原理和实现,并通过C++语言展示其代码实现。1.快速排序算法原理快速排序算法的基本思想是分治法(DivideandConquer),其核心步骤如下:1.选择一个基准元素(pivot),通常选择序列中的第一个或最后一个元素。2.将序列分为两部分,一部分是
- LangChain入门教学:(1)LangChain表达式
LangChain表达式LangChain表达式语言(LCEL)使得从基本组件构建复杂链条变得容易,并且支持诸如流式处理、并行处理和日志记录等开箱即用的功能LCEL基本示例:提示+模型+输出解析器将提示模板和模型链接在一起,让它为我们实现一个语言翻译的功能首先需要安装库文件pipinstall--upgrade--quietlangchain-corelangchain-communitylang
- DeLorean联手Sui网络推出最新区块链订车,XBIT平台xaut今日价格行情飙升引热议
caijingshiye
区块链
币界网6月24日讯,全球豪华汽车领域迎来颠覆性变革!DeLorean汽车公司今日宣布,基于SuiNetwork打造的全球首个区块链汽车预订市场正式上线,用户可通过加密货币直接预订其旗舰电动跑车Alpha5,并在等待交付期间通过质押资产赚取收益。这一创新模式不仅解决了传统汽车预订的退款难、周期长等痛点,更将区块链技术的透明性与金融属性深度融合。受此消息刺激,去中心化交易所XBIT平台上的黄金稳定币x
- Spring Cloud Ribbon核心负载均衡算法详解
代码的余温
springcloudribbon负载均衡
Ribbon作为SpringCloud生态中的客户端负载均衡工具,提供多种动态负载均衡算法,根据后端服务状态智能分配请求。其核心算法及适用场景如下:一、Ribbon负载均衡算法算法名称工作原理引用来源轮询(RoundRobinRule)按服务列表顺序依次分发请求,实现均匀分摊负载随机(RandomRule)从可用服务列表中随机选择一个实例处理请求加权响应时间(WeightedResponseTim
- JS学习日记(jQuery库)
红中马喽
javascript学习jquery笔记开发语言
前言今天先更新jQuery库的介绍,它是一个用来帮助快速开发的工具介绍jQuery是一个快速,小型且功能丰富的JavaScript库,jQuery设计宗旨是“writeless,domore”,即倡导写更少的代码,做更多的事,它封装JavaScript常用的功能代码,提供一种简便的方式进行使用,大大提高了开发效率,jQuery目前支持的浏览器包括Chrome,edge,firefox,ie9+,S
- 快速排序(快排)实现及原理
hixiaoyang
排序算法算法java
一、算法概述快速排序(QuickSort)是由TonyHoare在1960年提出的一种分治算法,平均时间复杂度为O(nlogn),最坏情况下为O(n²)。它是目前实践中最高效的通用排序算法之一。核心思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后递归地对这两部分记录继续进行排序。二、算法原理1.基本步骤选择基准(pivot):从数组中选择一个元素作
- 后端开发的新选择:Spring Cloud 事件驱动架构
大厂资深架构师
SpringBoot开发实战springcloud架构springai
后端开发的新选择:SpringCloud事件驱动架构关键词:事件驱动架构、SpringCloudStream、微服务解耦、消息中间件、异步通信摘要:传统微服务架构中,服务间的直接调用常导致紧耦合和扩展性瓶颈。本文将以“快递物流”为类比,从事件驱动架构(EDA)的核心概念出发,结合SpringCloudStream等工具,详细讲解如何用SpringCloud构建松耦合、高弹性的事件驱动系统。涵盖概念
- TS泛型笔记
红中马喽
笔记
1.泛型基础概念定义:泛型是TypeScript中允许创建可复用组件的特性,这些组件可以支持多种数据类型,而非单一特定类型。核心优势:代码复用性:同一组件可处理不同类型数据类型安全:在编译阶段捕获类型错误灵活性:保持代码的灵活性同时提供强类型支持泛型函数//基础泛型函数语法functionidentity(arg:T):T{returnarg;}//使用方式constresult=identity
- tcpdump 抓取icmp数据包
洪大宇
Linuxtcpdump网络linux
#eth1可以替换成你的网卡名称-nn显示IP地址和Mac地址tcpdump-nn-ieth1icmp今天正好有时间做一个简单的补充tcpdump其实和wireshark一样都会识别BPF语法所以做一个简单的补充:BPF语法:dst//目的地址src//原地址host//主机名称port//端口号icmp//icmp协议tcp//tcp协议udp//udp协议一般情况下我们只做一些简单的数据包分析
- sam9x60 uart 中断列表
洪大宇
java前端linux
节选自邮件列表Allthemailmirroredfromlore.kernel.orghelp/color/mirror/Atomfeed[PATCHv30/2]updateat91usartcompatibleforsam9x60@2023-07-186:57`DuraiManickamKR0siblings,0replies;11+messagesinthreadFrom:DuraiMani
- 布线后优化(PostRoute Optimization)解析
weixin_45371279
innovus
AboutPostRouteOptimization一、PostRoute优化的核心功能与默认行为在PostRoute模式下,软件默认执行以下操作(除非手动指定其他目标):违规修复优先级:首先处理寄存器到寄存器(Reg2Reg)路径及寄存器到时钟(Reg2Clock)路径组。其次处理默认路径组的建立时间(Setup)违规和设计规则违规(DRV)。技术流程:RC参数提取:计算布线后的寄生电阻(R)和
- Flutter (Retrofit + Dio) - 3 - Retrofit方式使用dio
梨花炖海棠
flutterflutter
建议先将Flutter官方文档过一遍,本系列教程FlutterSDK>=3.10.0考虑篇幅长度,这里将分成几片文章创建实体类封装dioRetrofit方式使用dio一、创建基础请求APIlib/api/douyin.dartimport'package:dio/dio.dart';import'package:lhdht_flutter_app/model/request/douyin_user
- Flutter 中封装 Dio 网络请求的详细步骤
Larry_zhang双栖
flutter
在Flutter中,通过封装Dio网络请求,可以将请求、响应处理和错误处理的逻辑集中在一起,减少代码重复并提升代码的可维护性。我们将在RequestClient类中创建一个通用的请求方法,支持GET和POST请求,并结合EasyLoading和Lottie动画,实现更好的用户体验。步骤1:创建RequestConfig基础配置类首先定义请求的基本配置。RequestConfig类负责存放API的b
- Algorithm
香水浓
javaAlgorithm
冒泡排序
public static void sort(Integer[] param) {
for (int i = param.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int current = param[j];
int next = param[j + 1];
- mongoDB 复杂查询表达式
开窍的石头
mongodb
1:count
Pg: db.user.find().count();
统计多少条数据
2:不等于$ne
Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});
查询id不等于3的数据。
3:大于$gt $gte(大于等于)
&n
- Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space
0624chenhong
jvmjboss
转自
http://blog.csdn.net/zou274/article/details/5552630
解决办法:
window->preferences->java->installed jres->edit jre
把default vm arguments 的参数设为-Xms64m -Xmx512m
----------------
- 文件上传 下载 解析 相对路径
不懂事的小屁孩
文件上传
有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。
下面总结一下遇到的问题:
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。
在上传图片,或者文件时,使用form表单来操作。
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下:
<form action=&
- 怎么实现qq空间批量点赞
换个号韩国红果果
qq
纯粹为了好玩!!
逻辑很简单
1 打开浏览器console;输入以下代码。
先上添加赞的代码
var tools={};
//添加所有赞
function init(){
document.body.scrollTop=10000;
setTimeout(function(){document.body.scrollTop=0;},2000);//加
- 判断是否为中文
灵静志远
中文
方法一:
public class Zhidao {
public static void main(String args[]) {
String s = "sdf灭礌 kjl d{';\fdsjlk是";
int n=0;
for(int i=0; i<s.length(); i++) {
n = (int)s.charAt(i);
if((
- 一个电话面试后总结
a-john
面试
今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。
然后对list和map分别举几个类型:
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了
- MSSQL中Escape转义的使用
aijuans
MSSQL
IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC
create table #ABC
(
PATHNAME NVARCHAR(50)
)
insert into #ABC
SELECT N'/ABCDEFGHI'
UNION ALL SELECT N'/ABCDGAFGASASSDFA'
UNION ALL
- 一个简单的存储过程
asialee
mysql存储过程构造数据批量插入
今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:
DELIMITER $$
DROP PROCEDURE IF EXISTS inse
- annot convert from HomeFragment_1 to Fragment
百合不是茶
android导包错误
创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;
创建类时引入包是:import android.app.Fragment;
创建队列和对象时使用的包是:import android.support.v4.ap
- Weblogic10两种修改端口的方法
bijian1013
weblogic端口号配置管理config.xml
一.进入控制台进行修改 1.进入控制台: http://127.0.0.1:7001/console 2.展开左边树菜单 域结构->环境->服务器-->点击AdminServer(管理) &
- mysql 操作指令
征客丶
mysql
一、连接mysql
进入 mysql 的安装目录;
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p
输入密码,回车,接连;
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效]
1、赋权
mys
- 【Hive一】Hive入门
bit1129
hive
Hive安装与配置
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。
Hive安装和配置的步骤
1. 从如下地址下载Hive0.14.0
http://mirror.bit.edu.cn/apache/hive/
2.解压hive,在系统变
- ajax 三种提交请求的方法
BlueSkator
Ajaxjqery
1、ajax 提交请求
$.ajax({
type:"post",
url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
dataType : "json",
success : function(result) {
try {
for(v
- mongodb开发环境下的搭建入门
braveCS
运维
linux下安装mongodb
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz
2)linux 解压
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz;
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-
- 编程之美-最短摘要的生成
bylijinnan
java数据结构算法编程之美
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ShortestAbstract {
/**
* 编程之美 最短摘要的生成
* 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran
- json数据解析及typeof
chengxuyuancsdn
jstypeofjson解析
// json格式
var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
+' {"firstName": "CCC&
- 流程系统设计的层次和目标
comsci
设计模式数据结构sql框架脚本
流程系统设计的层次和目标
 
- RMAN List和report 命令
daizj
oraclelistreportrman
LIST 命令
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的
信息。使用此命令可列出:
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本
• 可用的且可以用于还原操作的数据文件备份和副本
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份
• 包含指定名称或范围的所有归档日志备份的备份集和副本
• 由标记、完成时间、可
- 二叉树:红黑树
dieslrae
二叉树
红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.
红黑树必须遵循红黑规则,规则如下
1、每个节点不是红就是黑。 2、根总是黑的 &
- C语言homework3,7个小题目的代码
dcj3sjt126com
c
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,
- 自定义按钮, 图片在上, 文字在下, 居中显示
dcj3sjt126com
自定义
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa
- MySQL查询语句练习题,测试足够用了
flyvszhb
sqlmysql
http://blog.sina.com.cn/s/blog_767d65530101861c.html
1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR
- 转:MyBatis Generator 详解
happyqing
mybatis
MyBatis Generator 详解
http://blog.csdn.net/isea533/article/details/42102297
MyBatis Generator详解
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.
- 让程序员少走弯路的14个忠告
jingjing0907
工作计划学习
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助
1.不要害怕在工作中学习。
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放
- nginx和NetScaler区别
流浪鱼
nginx
NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。
3.策略灵活度方
- 第11章 动画效果(下)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- FAQ - SAP BW BO roadmap
blueoxygen
BOBW
http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq
Besides, I care that how to integrate tightly.
By the way, for BW consultants, please just focus on Query Designer which i
- 关于java堆内存溢出的几种情况
tomcat_oracle
javajvmjdkthread
【情况一】:
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx
- Manifest.permission_group权限组
阿尔萨斯
Permission
结构
继承关系
public static final class Manifest.permission_group extends Object
java.lang.Object
android. Manifest.permission_group 常量
ACCOUNTS 直接通过统计管理器访问管理的统计
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限
D