- 安装uwsgi
安装uWSGIpip3installuwsgi启动命令/usr/local/python3/bin/uwsgi--socket0.0.0.0:8889--workersrun_server:app_server--master--processes4--threads2--stats0.0.0.0:9191在项目目录下新建[uwsgi]#web应用的入口模块名称module=run_server:
- ETL可视化工具 DataX -- 简介( 一)
dazhong2012
软件工具数据仓库dataxETL
引言DataX系列文章:ETL可视化工具DataX–安装部署(二)ETL可视化工具DataX–DataX-Web安装(三)1.1DataX1.1.1DataX概览DataX是阿里云DataWorks数据集成的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX实现了包括MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、
- 基于STM32金属探测器设计
摘要随着便携式金属探测器在安防,考古及工业检测等领域需求的增加,现有探测器的体积大,能耗高,操作复杂的缺点亟需解决。本文针对便携式金属探测器的设计进行探索,在硬件上使用了STM32F103C8T6单片机模块,WL02涡流传感器模块,ADS1115模数转换模块,蜂鸣器模块等设计出本系统的电路,在软件上设计出主程序,信号采集及报警子程序等,对系统进行基础功能,灵敏度,抗干扰和耐久性测试,测试结果表明探
- 显示遇到一些临时服务器问题,大师为你细说win10系统登录office提示“遇到一些临时服务器问题”的学习...
Love Snape
显示遇到一些临时服务器问题
我们在操作win10系统电脑的时候,常常会遇到win10系统登录office提示“遇到一些临时服务器问题”的情况,想必大家都遇到过win10系统登录office提示“遇到一些临时服务器问题”的情况吧,那么应该怎么处理win10系统登录office提示“遇到一些临时服务器问题”呢?我们依照按下win+R组合键打开运行,在框中输入regedit,打开”注册表辑器“;在注册表左侧菜单一次展开:HKEY_
- debian 安装 mysql5.7
你会忘记吃饭吗
debian运维
cd/usr/local/src:wgethttps://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.29-1debian10_amd64.deb-bundle.tartar-xvfxx.tarcdxx:执行dpkg-imysql-community-client_5.7.29-1debian10_amd64.deb返回S
- ABAP Excel文件数据读取(xstring文件流)
谢图图
功能速食abap
方式一:使用标准类CL_FDT_XL_SPREADSHEET,读取xlsx格式文件流数据,该类在note2468709–标准类CL_FDT_XL_SPREADSHEET的使用中说明不支持在BRFplus工作台之外的场景使用,但是实际使用中出问题的情况很少,属于方便,可用,但是不保证没问题的方式。示例如下DATA:document_nameTYPEstring,xdocumentTYPExstrin
- ubuntu第二次安装kivy打包环境(一次搞定,没有出错)
qq_45911550
ubuntu
kivy第一次打包的过程可谓十分艰辛,各种错误,很难解决,之前的我的笔记本以物理机的形式装了ubuntu,后面由于办公不便,又装回了win10。近段时间给笔记本加了一块ssd,就在这块ssd上又装了一ubuntu20.04,而这一次对kivy环境的安装却十分顺利,只是耗时有点长,大概两到3个小时(晚上12点开始打包,弄到凌晨1点半,还有好几个包没下载,我就直接睡了,第二天起来就打包好了)具体过程:
- Kotlin JVM 注解详解
前言Kotlin作为一门现代JVM语言,提供了出色的Java互操作性。为了更好地支持与Java代码的交互,Kotlin提供了一系列JVM相关注解。这些注解不仅能帮助我们控制Kotlin代码编译成Java字节码的行为,还能让我们的Kotlin代码更好地被Java代码调用。虽然在日常开发中我们最常用的是@JvmOverloads、@JvmStatic、@JvmName和@JvmField这几个注解,但
- python json 反序列化-V1
CATTLECODE
pythonjson开发语言
在编程中,反序列化函数用于将序列化后的数据(如JSON、XML等格式)重新转换为程序可操作的对象或数据结构。以下是不同语言和场景下的实现方式及特点:1.Python中的反序列化(1)标准库json模块json.loads():将JSON字符串反序列化为Python对象(如字典、列表)。importjsonjson_str='{"name":"Alice","age":25}'dat
- MS1112替代ADS1112
MS1112替代ADS1112MS1112是一款高精度,持续转换的自校准模数转换器,有2组差分输入或3组单端输入通道,高达16bits的转换精度。内部集成的2.048V基准源使差分输入范围达到±2.048V。使用了I2C兼容接口,并有2个地址管脚,可以让用户选择八个I2C从站地址。电源电压范围为2.7V到5.5V。MS1112转换速率为15、30、60或240SPS,集成有可编程增益放大器,增益最
- Linux/Unix线程及其同步(create、wait、exit、互斥锁、条件变量、多线程)
JeffersonZU
Unix/Linux系统编程linuxunixgnuc语言
线程文章目录线程I线程基本概念1、为什么引入线程2、PthreadsII线程基本操作1、创建线程2、终止线程3、线程ID4、连接已终止线程5、线程基本操作示例III通过互斥量同步线程1、基本概念2、互斥量(Mutex)3、静态分配互斥量4、互斥量锁定与解锁5、互斥量的死锁6、互斥量类型7、动态初始化互斥量IV通过条件变量同步线程1、条件变量2、静态分配的条件变量3、初始化动态分配的条件变量4、通知
- 【分享】打造Win10流畅稳定兼容+自动还原系统
alansoulKing
系统alan兼容稳定电脑游戏娱乐运维
=======win10稳定兼容,无闪退==========本人特分享给游戏闪退、辅助闪退,双进程,系统延迟、卡,游戏FPS不稳定的可参考:1、前提硬盘参考:》硬盘建议使用SSD固态全新的,旧的在使用过程中可能会造成系统蓝屏、黑屏、系统延迟不流畅等情况。(旧的指,使用时间在15年以上的,固态或机械盘)*我个人偏爱sata接口的。推荐西部或闪迪的。经济紧张的可试试长城(品质待看,他主要是做电源的。硬
- Linux 基础入门操作 第十四章 .U-Boot 编译 1
1U-Bboot编译1.1UBOOT介绍U-Boot,全称UniversalBootLoader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。但是U-Boot不仅仅支持嵌
- Python JSON操作完全指南
目录一、简介二、JSON和Python的对应关系三、核心函数1.json.dumps():将Python对象→JSON字符串2.json.loads():将JSON字符串→Python对象3.json.dump():将Python对象→JSON文件4.json.load():从JSON文件→Python对象四、常见错误处理1.JSON解析错误2.类型不支持错误五、总结六、常用函数1️⃣json.d
- win10 git ssh key 配置后仍然无法连接
问题描述:win10通过ssh-keygen命令生成id_rsakey,并将id_rsa.pub中的key配置到git服务器上,但是gitclone时仍然报错:permissiondenied修改:默认是rsa算法,配置成ed25519算法,生成id_ed25519文件ssh-keygen-ted25519-C"
[email protected]"原因:暂未查明,推测是安装的git版本太新,与服务器端
- Springboot和Python之间通过RabbitMQ进行双向异步消息交互demo示例
同心圆码农
后端java-rabbitmqspringbootpython
SpringBoot后端和Python算法之间解耦设计,采用通过消息总线RabbitMQ进行双向异步交互,以下是一个demo样例,罗列出了实现该功能需要做的工作,包括软件安装、RabbitMQ基本介绍、Springboot后端demo代码、Pythondemo代码、运行流程以及调试遇到问题软件安装Win10本地需要安装RabbitMQ,作为Springboot后端和Python模块通讯的消息中间件
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException,如果在安装32位Oracle 客户端组件的情况下64位模式运行,将出现此问题
尊治
自动化oracle数据库sql
1.错误发生的时的情况电脑软件配置:WIN10(64位)、Oracle12c(64位)、PLSQLDeveloper(64位),VS2019用VS2019工具栏里的连接到数据库功能连接Oracle时报错误,错误内容:尝试加载Oracle客户端库时引发BadImageFormatException,如果在安装32位Oracle客户端组件的情况下64位模式运行,将出现此问题根本原因:基本都是软件访问调
- python 删除pdf页面_使用PyPDF2库对pdf文件进行指定页面删除操作
weixin_39900045
python删除pdf页面
平台:win10家庭版,python3.7,PyPDF2思维过程:方法一:将pdf文件通过拆分为单页,放入一个文件夹,再删除其中不要的文件,最后再把剩余的文件进行合并为一个pdf文件第一步:使用原文件路径创建新文件夹,用于存放拆分后的单页文件defnewdir(self,path):self.new=os.path.splitext(path)[0]ifnotos.path.isdir(self.
- Android15音频进阶之高通Adsp触发ramdump(一百二十六)
Android系统攻城狮
AndroidAudio工程师进阶系列Android15音频进阶高通平台
简介:CSDN博客专家、《Android系统多媒体进阶实战》一书作者博主新书推荐:《Android系统多媒体进阶实战》AndroidAudio工程师专栏:Audio工程师进阶系列【原创干货持续更新中……】Android多媒体专栏:多媒体系统工程师系列【原创干货持续更新中……】推荐1:车载系统实战课:
- 算法题目记录
iamwiam
java
数据空间研究院-后端试题题目一:线程安全的链表描述:实现题目二:自定义注解与反射描述:实现题目三:简化的消息队列描述实现题目一:线程安全的链表描述:实现一个线程安全的链表类ThreadSafeLinkedList,支持以下操作:add(Telement)-在链表末尾添加元素。remove(Telement)-移除链表中的指定元素。contains(Telement)-检查链表中是否包含指定元素。要
- java毕业设计图书馆座位预约管理系统维修端源码+lw文档+mybatis+系统+mysql数据库+调试
木林网络
mybatisjava数据库
java毕业设计图书馆座位预约管理系统维修端源码+lw文档+mybatis+系统+mysql数据库+调试java毕业设计图书馆座位预约管理系统维修端源码+lw文档+mybatis+系统+mysql数据库+调试本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、
- HTML媒体查询
宽度=768小屏,PADsm(small)>=992中等屏幕PC(这个标准有点过时,现在PC屏都很大)md(middle)>=1200超大屏lg(longgram)@mediaalland(min-width:1px)and(max-width:450px){div{background-color:deepink;}}
- 宽带有哪几种接入方式
weixin_30252709
转:https://zhidao.baidu.com/question/1025089.html目前的家庭接入方式主要有三种:一是普通电话线的非对称数字用户环路技术(ADSL)方式、二是基于光纤IP网的FTTB+LAN技术方式(小区宽带),三是有线电视的CableModem技术方式(有线通)。ADSL使用一种调制解调传输技术,在普通电话线上将现有电话线路的频宽经由调制解调技术处理后扩大,其中较高容
- mysql下载不是运作宝教程_MySQL下载与安装 8.0详细版
喵琛CC
mysql下载不是运作宝教程
MySQL下载与安装一、下载地址:https://dev.mysql.com/downloads/mysql/当前最新是8.0版本,我选择上一个最新的mysql-5.7.24-winx64.zip二、安装MySQL安装文件分两种.msi和.zip,.msi需要安装zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行环境变量配置zip格式是自己解压我的电脑->属性->高级->环境变
- 推荐与广告区别
ActionReaction
TheDifferencebetweenaRecommendationandanAdAquickthoughtregardingFacebook’snewSocialAdsplatform.Arecommendationissomethingyougetfromsomeonewhoknowssomethingaboutyou.Theyhaveseenanitemofinterestandthoug
- mysql 主从复制原理、实现方式 以及 主从同步延迟的处理方式
mysql主从复制原理、实现方式MySQL主从复制是实现高可用、读写分离和灾难恢复的核心机制,其本质是主库(Master)将数据变更异步同步到从库(Slave)。以下是深度解析:一、主从复制核心原理1.三线程协作模型BinlogDumpThreadI/OThreadSQLThread主库Master从库SlaveRelayLogSlaveDB线程所在位置职责BinlogDumpThread主库监听
- SVN 安装使用教程
小奇JAVA面试
安装使用教程svn
一、SVN简介SVN(Subversion)是一个流行的集中式版本控制系统,用于跟踪文件的更改历史,常用于软件开发项目的代码管理。虽然Git更加流行,但SVN仍在很多传统企业和大型项目中被广泛使用。二、SVN安装2.1Windows安装(使用TortoiseSVN)下载地址:https://tortoisesvn.net/downloads.html安装后系统右键菜单会添加SVN功能;推荐安装中文
- Node.js worker_threads:并发 vs 并行
红衣大叔
nodejs帮助文档node.js
一、核心结论Node.js的worker_threads模块实现的是并行计算,而非传统意义上的“并发”。其通过操作系统级线程实现多核CPU的并行执行,同时保留Node.js单线程事件循环的并发模型。二、关键概念解析1.并发(Concurrency)vs并行(Parallelism)并发:指系统同时处理多个任务的能力,但任务可能交替执行(如单核CPU通过时间片轮转)。Node.js主线程的事件循环是
- Android-NDK的linux交叉编译环境
qq_33955482
嵌入式Androidandroid
NDK工具包下载NDK下载|AndroidNDK|AndroidDevelopershttps://github.com/android/ndk/wiki/Unsupported-Downloads以android-ndk-r26c下载为例,下载后将压缩包解压至/usr目录下CMakeLists编译选项设置编译平台变量判断条件中增加一下android条件下CMake的变量CMAKE_MINIMUM
- Java学习之鸡兔同笼问题
崇志广勤
Javajava
案例介绍:编写程序:解决鸡兔同笼问题。鸡和兔在同一只笼子里,共有100条腿,40只脑袋,问鸡兔各有多少只?案例代码:publicclassChickenHare{publicstaticvoidmain(String[]args){intlegs=100;intheads=40;intchick;inthare;for(chick=0;chick<=50;chick++){for(hare=0;h
- 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