- Redis学习总结(15)——Redis 基本数据类型使用场景
一杯甜酒
RedisRedis基本数据类型使用场景
一、StringStrings数据结构是简单的key-value类型,value其实不仅是String,也可以是数字.常用命令:set,get,decr,incr,mget等。应用场景:String是最常用的一种数据类型,普通的key/value存储都可以归为此类.即可以完全实现目前Memcached的功能,并且效率更高。还可以享受Redis的定时持久化,操作日志及Replication等功能。除
- SprutCAM 入门级铝板案例仿真
SprutCAMX
数控编程CAM数控机床编程数控机床加工动态仿真
四重风险拦截:动态碰撞检测实时标红刀具干涉深度,过切保护识别,奇异点规避映射关节突变,可达性验证预报警超行程区域,综合拦截率>95%;简单的铝板案例仿真
- pytorch官方文档60分钟入门笔记
xiaodidadada
机器学习
文章目录1.张量(Tensors)定义张量张量操作2.自动求导(autograd)变量Variable3.神经网络4.训练一个分类器载入数据5.数据并行day63参考:官方文档https://blog.csdn.net/u014630987/article/details/786690511.张量(Tensors)tensors和numpy的ndarray类似,但是tensors可以使用GPU加快
- 笔记本安装linux系统_“老笔记本”操作系统的安装
彭英韬
笔记本安装linux系统
现在科技发展电脑更新速度很很,有很多人已经换了几台电脑了。一是工作需要电脑满足不了需求;二是经济条件好经常更换满足心里需求;三是只会使用电脑不会维修,修不好就换等情况。现在电脑出现问题比较多的操作系统,由于经常上网有一些软件自动就安装了,使用一段时间电脑速度就慢了,有时自己清理电脑就出现进不了系统。还有时候安装自己需要系统时,由于不匹配等因素,导致电脑死机或出现蓝屏现象。虽然上网关系系统安装的软件
- 关于YII2使用mssql/SqlServer的问题
aisicongg
yiiSqlServer
场景:配置了多个db连接,包含mysql和mssql等多个。本人在配置使用mssql的的过程中发现表名和字段名自动转义成`分隔符。例如SELECT`id`,`username`FROM`user`该语句在mssql是无法执行的,因为mssql不支持`分隔符,这个时候你需要在yii2调用的时候指定对应的配置db,比如我的申请了SqlServer是db2,那么我的写法如下:$query->create
- MAC 多应用切换技巧,单应用切换技巧
在Mac上,有几种快捷键可以帮助你快速切换应用程序窗口:1.Command(⌘)+Tab-这是最常用的快捷键,用于在打开的应用程序之间进行循环切换。按住Command键不放,然后反复按下Tab键可以选择下一个应用程序。当你松开Command键时,会激活选中的应用程序。-如果你在切换过程中改变了主意,可以在保持Command键按下的同时,使用Shift键反向选择。2.Command(⌘)+`(反引号
- 在LINUX下使用模拟器运行Android
renjin252252252
linuxandroidpathx86c
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://glizardy.blogbus.com/logs/42812304.html1到http://developer.android.com/sdk/1.5_r3/index.html下载Linux(i386)android-sdk-linux_x86-1.5_r3.zip178117561bytes350d0211678
- 用于 Yii 2 的 AuthClient 扩展--安装
topofgods
Yii
https://github.com/yiisoft/yii2-authclient/blob/master/docs/guide-zh-CN/installation.md安装安装扩展要安装该扩展,请使用Composer。运行composerrequire--prefer-distyiisoft/yii2-authclient"~2.1.0"或在你的composer.json文件的“requir
- API,异常
qq_42822008
API:应用程序编程接口,即jdk文档手册,里面以类的形式提供了很多常用的功能。常用的包与类:java.lang包:因为常用,所以不需要导包字符串,线程java.util包:数组工具类,日期,集合等java.net包:网络相关的类型java.io包:输入输出类型java.math包:数学应用的相关类型打包工具:javadoc(1)使用命令提示符界面:类信息中没有声明包,即使用默认包javadoc-
- Yii2 连接SqlServer(windows)
aaa阿阿qiu~~
php环境windowssqlserverphp
最开始的问题:连接mysql没问题,连接sqlserver一直不行,但是在客户端可以连接,说明肯定程序或者是扩展哪里没弄对,就一直报couldnotfinddriver这个错误1、php扩展,可以使用phpinfo()来查看是否成功加载了pdo_sqlsrv模块,没问题扩展下载链接地址:https://docs.microsoft.com/zh-cn/sql/connect/php/release
- java面试题47你工作过程用过哪些设计模式?说出“代理模式”的原理?
码农颜
java设计模式代理模式
在工作中,我虽然没有直接的“开发经历”,但处理用户请求和设计响应时,设计模式是解决问题的核心逻辑。我高频使用的模式包括:策略模式(动态切换算法/行为)观察者模式(事件通知/状态更新)责任链模式(分步处理请求)工厂模式(封装对象创建)代理模式(控制对象访问)深入解析:代理模式(ProxyPattern)核心思想:用一个代理对象作为真实对象的替身,从而控制对真实对象的访问。本质:在客户端和目标对象之间
- 构建 Android,编译Android 源码
请按照本页中的说明构建Android。设置构建环境在您的工作目录中,获取envsetup.sh脚本的源代码以设置构建环境:sourcebuild/envsetup.sh此脚本会导入若干命令(包括本页中使用的命令),让您能够使用Android源代码。如需查看脚本的源代码,请参阅platform/build/envsetup.sh。如需查看内置帮助,请输入hmm。选择目标在构建Android之前,您必
- Ubuntu/Linux运行安卓全攻略
海洋月亮
ubuntulinuxandroiddockerscrapy
Ubuntu中使用scrcpy进行Android投屏,当我们手头没开发板没有屏幕的时候,就可以借助ADB和scrcpy进行投屏,很方便:A.这里展示如何在Ubuntu中使用scrcpy+adb+docker方案运行手机Android系统B.使用的模拟器方案基于redroid,能够非常简单方便地在任何Linux上运行Android模拟器C.测试环境:Ubuntu24.04D.需要用到的工具:scrc
- Linux 系统运行 Android 应用的几种方案
云水木石
linuxandroid运维服务器
这几年,国产操作系统替代正在有条不紊地进行中。但生态是绕不过去的一道坎,指望应用厂商一下子完成国产系统适配也不现实。之前介绍过使用Wine运行Windows应用的方案,减少了国产系统应用偏少的难题。比如我在办公室使用最多的企业微信,一直没有开发Linux版本,就是通过Wine运行的。除了Windows应用,还有新的目标,那就是手机应用。这些年移动互联网蓬勃发展,手机app从数量上已经远远超过桌面应
- 基于改进扩散模型与注意力机制的影像到转基因数据预测系统
基于改进扩散模型与注意力机制的影像到转基因数据预测系统1.项目概述本系统利用改进的扩散模型结合注意力机制,从医学影像中预测转基因数据。系统采用PyTorch框架实现,包含数据预处理、模型架构、训练流程和评估指标等完整模块。importtorchimporttorch.nnasnnimporttorch.nn.functionalasFimporttorch.optimasoptimfromtorc
- Nodejs源码解析之module
leoleocs
Javascriptnodejs
module管理是Nodejs中比较有特色的部分,官方有详细的文档https://nodejs.org/api/modules.html哪里介绍了一些基本的使用规则,主要的内容如下,文件和模块之间是一一对应关系:使用方法就是require,后续源码解析中会详细介绍什么是require,以及如何实现的。文件的名字就是一个id,也就是标志符。如何访问和被确认为主模块:简单的说就是被nodejs启动的模
- 全平台QQ聊天数据库解密项目常见问题解决方案
管旭韶
全平台QQ聊天数据库解密项目常见问题解决方案qq-win-db-keyQQNT/WindowsQQ聊天数据库解密项目地址:https://gitcode.com/gh_mirrors/qq/qq-win-db-key项目基础介绍本项目是一个开源项目,旨在为用户提供全平台QQ聊天数据库的解密方法。项目主要使用Python、JavaScript和C++等编程语言实现。新手常见问题及解决步骤问题一:如何
- 深入剖析AI大模型:关于模型训练
chilavert318
熬之滴水穿石人工智能
今天说的是模型训练,在AI模型里,它是点亮智慧星辰的关键引擎。今天将围绕开源预训练模型的使用、数据与模型的集成、模型的部署管理,以及大规模模型的可扩展性与效率提升展开,带大家开启一场深入浅出的模型训练实战之旅。一、使用开源预训练模型1、如何利用开源模型(如BERT、GPT)进行微调开源预训练模型就像是已经搭建好框架的摩天大楼,BERT、GPT等模型便是其中声名赫赫的标志性建筑。它们经过海量数据的“
- RAG技术栈详解:构建智能问答系统的核心组件
认知超载
AI人工智能
本文深度剖析RAG(Retrieval-AugmentedGeneration)技术栈的核心构成,助你快速搭建企业级知识增强系统一、RAG技术架构全景图二、核心组件技术选型1.检索模块(Retriever)向量数据库主流选择:Pinecone、Milvus、Qdrant、Weaviate新兴势力:ChromaDB(开源轻量级)、腾讯云向量数据库嵌入模型(Embedding)OpenAItext-e
- 微调 || RAG,项目落地怎么选?LLM应用选型指南,适用场景全解析
认知超载
AI人工智能
基本定义微调:是指利用更小、更具针对性的数据集对经过预先训练的大语言模型进一步训练的过程。在这个过程中,模型基于新数据集修改权重和参数,学习特定于任务的模式,同时保留来自最初预训练模型的知识。RAG:即检索增强生成,是将检索大量外部知识的过程与文本生成结合在一起的一种方法。它会从大型外部数据库中检索与输入问题相关的信息,将这些信息作为上下文提供给大语言模型,辅助其生成回答。微调适用场景1.特定领域
- Linux操作系统笔记3
wu2790
笔记
接口管理命令:ip命令字符终端nmcli命令字符终端nmtui命令可视化终端ip命令:使用ip命令可以配置临时网络的连接信息,相关命令如下:iplink:显示网络设备运行状态ip-slink:显示更详细的设备信息iplinkshow[网络设备名]:仅显示指定的网络设备名的信息iplinkshowup:仅显示当前处于激活状态的设备信息iplinkset[网络设备名]down:将指定的网络设备下线ip
- linux操作系统笔记1
wu2790
linux笔记服务器
基本命令格式[redhat@localhost~]$$:使用的shell,$表示普通用户,#表示root(管理员)用户redhat:表示当前登录的用户,su(-)切换用户,whoami查看当前登录的用户localhost:表示主机名称,hostname查看主机名称,还可以临时修改(hostname英文名称),永久修改(hostnamectlset-hostname英文名称)~:表示当前的工作目录,
- 颠覆传统!飞算JavaAI:一键自动化开发流程,复制粘贴从此成为传说!
飞算JavaAI开发助手
自动化java人工智能开发语言
在软件开发的漫长历史中,程序员们长期被繁琐的流程所困扰。从理解业务需求,到设计接口、搭建架构,再到一行行地敲下代码,每一个环节都充满了挑战和艰辛。而复制粘贴,这个看似便捷的操作,却也常常伴随着代码冗余、错误传播等隐患,更无法从根本上解决开发效率低下的问题。然而,飞算JavaAI的横空出世,犹如一场科技风暴,彻底颠覆了传统的开发模式,让一键自动化开发流程成为现实,也让复制粘贴彻底成为了过去式的传说。
- Java AI 开发智能体:从入门到实践
培风图南以星河揽胜
javajava人工智能开发语言
在人工智能(AI)技术蓬勃发展的今天,智能体作为AI领域的核心概念之一,正逐渐渗透到各个行业与应用场景。而Java凭借其跨平台性、丰富的类库和强大的生态系统,成为开发智能体的热门选择。本文将深入探讨如何使用Java进行AI开发智能体,从基础概念到实践应用,解答常见问题,为你揭开JavaAI开发智能体的神秘面纱。一、Java在AI开发中的优势1.跨平台性Java的“一次编写,到处运行”特性,使得基于
- Spring MVC 详解
蟒蛇boy
springmvcjava
在JavaWeb开发中,SpringMVC是一个强大而广泛使用的框架,它为构建高效、可维护的企业级应用提供了坚实的基础。本文将深入介绍SpringMVC,并提供示例代码帮助你更好地理解其工作原理。一、SpringMVC简介SpringMVC是Spring框架的一个模块,全称为SpringWebMVC。它实现了模型-视图-控制器(MVC)设计模式,将应用程序分为三个主要部分:模型(Model)、视图
- Liunx 操作系统笔记4
wu2790
笔记
进程管理命令ps命令:功能是显示当前系统的进程状态使用ps命令可以查看到进程的所有信息,例如进程的号码,发起者,系统资源使用占比,运行状态等,ps命令可帮助我们及时发现哪些进程出现“僵死”或“不可中断”等异常情况。ps命令经常会与kill命令搭配使用,以中断和删除不必要的服务进程,避免服务器的资源浪费语法格式:ps参数常用参数:-a显示所有进程信息-t显示属于指定终端主机的程序状态-c不显示程序路
- linux下的libpng下载,编译,安装,配置等,
wushuang443
libpng
libpng的使用|在Linux系统下编译、安装与使用_1234567890@world的博客-CSDN博客
- Linux 虚拟机里面系统自动校准时间,
wushuang443
linux
首先查看下系统时间:输入date或者timedatectlstatus查看时间信息先启用NTP(网络时间协议)timedatectlset-ntptrue1现在发现日期对上了,但是准确的时钟分钟没对上,输入:这点时区的设置很重要timedatectlset-timezone"Asia/Shanghai"1修改时区为上海注意:若提示权限不足可以加上sudo提权或者使用root账户
- 傻瓜式安装QT+ROS2+Ubuntu22环境(可直接在pro中使用)
牛顶顶大王
Rosqt开发语言性能优化
结果展示QT版本的订阅者实例/官网的发布者实例1.安装qt我使用的版本5.14.2下载地址现在qt下载无法访问了,需要0.0下载qt-opensource-linux-x64-5.14.2.run直接运行其他环境的安装sudoaptinstallgccsudoaptinstallg++sudoaptinstallclangsudoaptinstallclang++sudoaptinstallmak
- ubuntu环境搭建四:安装和使用git
小坚学Linux
ubuntu环境搭建gitubuntugithub
1.安装gitsudoapt-getinstallgit2.配置git的名字和邮箱gitconfig--globaluser.name"jian"gitconfig--globaluser.email"
[email protected]"gitconfig--globalcore.editorvim提交内核patch的配置gitconfig--globaluser.name"RuijianLi"gi
- 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