- 图解数据结构python读书笔记_python cookbook3读书笔记第一章数据结构和算法
eternal?
pythonheapq模块查询一组序列中最大和最小的数据importheapqnums=[1,8,2,23,7,-4,18,23,42,37,]#获取序列中3个最大值#print(heapq.nlargest(3,nums))#获取序列中3个最小值#print(heapq.nsmallest(3,nums))#把数据压入堆中在堆中最小的那个数值永远排在最前面时间想取出最小的3个数值只需执行3次he
- python cookbook第二章笔记
czm123
2.1使用多个界定符分割字符串你需要将一个字符串分割成多个字段,但是分隔符(还有周围的空格)并不是固定的string对象的split()方法只适应于非常简单的字符串分割情形,它并不允许有多个分隔符或者是分隔符周围不确定的空格。当你需要更加灵活的切割字符串的时候,最好使用re.split()方法:>>>line='asdffjdk;afed,fjek,asdf,foo'>>>importre>>>r
- 显示当前的所有FreeRTOS任务,ESP-IDF FreeRTOS Cookbook
盼望孤独的二进制
c++c语言开发语言物联网嵌入式硬件
#include#include“esp_log.h”#include“freertos/FreeRTOS.h”#include“freertos/task.h”/*task_list()显示当前的所有FreeRTOS任务使用前,请在menuconfig中启动EnableFreeRTOStracefacilityEnableFreeRTOSstatsformattingfunctions/void
- 从零开始 TensorRT(3)Python 篇:解析 ONNX、PyTorch TensorRT 接口
秋山丶雪绪
TensorRTpythonpytorchTensorRT
前言学习资料:TensorRT源码示例官方文档:WorkingWithTensorRTUsingThePythonAPI官方文档:TensorRTPython官方文档:CUDAPythonB站视频教程视频配套代码cookbook示例:解析ONNX模型参考源码:cookbook→04-BuildEngineByONNXParser→pyTorch-ONNX-TensorRT源码 cookbook中
- 从零开始 TensorRT(2)Python 篇:原生 API 构建网络
秋山丶雪绪
TensorRTpythonTensorRTpycharm
前言学习资料:TensorRT源码示例官方文档:WorkingWithTensorRTUsingThePythonAPI官方文档:TensorRTPythonAPI官方文档:CUDAPythonB站视频:TensorRT教程|基于8.6.1版本B站视频配套代码cookbook 在Python篇中会仿照视频教程中的内容,按以下顺序介绍:(1)TensorRT原生API构建网络:示例中使用Tenso
- 从零开始 TensorRT(4)命令行工具篇:trtexec 基本功能
秋山丶雪绪
TensorRTTensorRTtrtexec
前言学习资料:TensorRT源码示例B站视频:TensorRT教程|基于8.6.1版本视频配套代码cookbook参考源码:cookbook→07-Tool→trtexec官方文档:trtexec在TensorRT的安装目录xxx/TensorRT-8.6.1.6/bin下有命令行工具trtexec,主要功能:(1)由ONNX文件生成TensorRT引擎并序列化为plan文件(2)查看ONNX或
- 零基础学Python,最受推荐的10本Python书籍
Python_入门教程
Python学习Python入门python学习python入门
目录适合初学者的最佳Python书籍1、《Python编程:从入门到实践》2、《Head-FirstPython(2ndedition)》3、《“笨方法”学Python》4、《Python程序设计(第3版)》最适合初学者的免费Python书籍5、《像计算机科学家一样思考Python(第2版)》6、《AByteofPython》适合中高级程序员的Python书籍7、《PythonCookbook(第
- Odoo 12开发者指南第二章 管理Odoo服务器实例
AlanHou
全书完整目录请见:Odoo12开发者指南(Cookbook)第三版本章中,我们将讲解如下内容:配置插件路径更新插件模块列表标准化你的实例目录布局安装并升级本地插件模块对插件应用修改应用及尝试建议的拉取请求引言在第一章安装Odoo开发环境中,我们学习了如何使用与编辑器一同发布的标准核心插件来设置Odoo实例。本章集中讲解为Odoo实例添加非核心插件。Odoo中,可以从多个目录中加载插件。此外,推荐将
- [NCTF2019]Fake XML cookbook
吃泡面不喝汤
xml安全
BUUCTF刷题[NCTF2019]FakeXMLcookbookBUUCTF刷题前言一、[NCTF2019]FakeXMLcookbook总结前言通过刷题拓宽自己的知识面一、[NCTF2019]FakeXMLcookbook(1)打开后如图所示(2)尝试了一下万能密码,没啥用。回到题目,XML,百度一波。XML被设计用来传输和存储数据。HTML被设计用来显示数据。XML指可扩展标记语言(eXte
- NCTF2019 Fake XML cookbook
Tajang
CTFxml前端CTF
打开靶机如图:蒙了几个username和password都显示错误,看来没有太多提示了。既然题目提示了XML那就百度一波。已知晓XML存在实体注入,引入实体文件,然后读取它就完成注入了。我们抓包看看存不存在相关XML语句。如下:发现使用XML存储username和password。将内容发送至Repeater,然后写入恶意实体,注意这里是使用file://协议读取flag文件,并且将这个文件赋给a
- [NCTF2019]Fake XML cookbook(特详解)
小小邵同学
xml网络安全
先试了一下弱口令,哈哈习惯了查看页面源码发现xmlfunctiondoLogin(){varusername=$("#username").val();varpassword=$("#password").val();if(username==""||password==""){alert("Pleaseentertheusernameandpassword!");return;}vardata=
- python3-cookbook-查找两字典的相同点
北方骑马的萝卜
python开发语言
第一章:数据结构和算法Python提供了大量的内置数据结构,包括列表,集合以及字典。大多数情况下使用这些数据结构是很简单的。但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题。因此,这一章的目的就是讨论这些比较常见的问题和算法。另外,我们也会给出在集合模块collections当中操作这些数据结构的方法。参考:https://python3-cookbook.readthedocs
- python3-cookbook-字典的运算
北方骑马的萝卜
python开发语言
第一章:数据结构和算法Python提供了大量的内置数据结构,包括列表,集合以及字典。大多数情况下使用这些数据结构是很简单的。但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题。因此,这一章的目的就是讨论这些比较常见的问题和算法。另外,我们也会给出在集合模块collections当中操作这些数据结构的方法。参考:https://python3-cookbook.readthedocs
- python3-cookbook-字典中的键映射多个值
北方骑马的萝卜
python开发语言
第一章:数据结构和算法Python提供了大量的内置数据结构,包括列表,集合以及字典。大多数情况下使用这些数据结构是很简单的。但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题。因此,这一章的目的就是讨论这些比较常见的问题和算法。另外,我们也会给出在集合模块collections当中操作这些数据结构的方法。参考:https://python3-cookbook.readthedocs
- python3-cookbook-字典排序
北方骑马的萝卜
python
第一章:数据结构和算法Python提供了大量的内置数据结构,包括列表,集合以及字典。大多数情况下使用这些数据结构是很简单的。但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题。因此,这一章的目的就是讨论这些比较常见的问题和算法。另外,我们也会给出在集合模块collections当中操作这些数据结构的方法。参考:https://python3-cookbook.readthedocs
- 2018-11-28
wangyou2550
python书籍入门:python基础教程第二版,笨方法学python进阶:流畅的python,effictivepython,Python编程实战,编写高质量代码:python,python核心编程第三版,PythonCookbook中文版第3版计算:python科学计算,利用Python进行数据分析前端:FlaskWeb开发:基于Python的Web应用开发实战,DjangoWeb开发指南网络
- 【读书笔记】《利用Python进行数据分析》第2版_第二章:Python语言基础、IPython及Jupyternotebook
is_colorful
pythonpythonpytorch深度学习
推荐使用IPython命令行和Jupyternotebook来实验代码示例,以及探索各种类型、函数和方法的文档。和其他键盘控制的命令行环境一样,练就常用命令的肌肉记忆也是学习曲线的一部分。优秀Python书籍推荐《PythonCookbook》(第3版),作者为DavidBeazley和BrianK.Jones(O’Reilly)《FluentPython》,作者为LucianoRamalho(O
- JVM问题排查手册
wtopps
深入理解JVM虚拟机开发语言javajvm
三万字长文:JVM内存问题排查Cookbook一、Heap快照#jmap命令保存整个Java堆(在你dump的时间不是事故发生点的时候尤其推荐)jmap-dump:format=b,file=heap.bin#jmap命令只保存Java堆中的存活对象,包含live选项,会在堆转储前执行一次FullGCjmap-dump:live,format=b,file=heap.bin#jcmd命令保存整个J
- 非官方 Bevy 作弊书02-03
zhanglz888
bevy学习bevy学习
BevyCookbook-UnofficialBevyCheatBook源于上述网页,个人用有道进行翻译,希望对大家有所帮助非官方Bevy作弊书2bevy食谱本章向您展示如何使用Bevy做各种实际的事情。每个页面都专注于一个特定问题,并提供解释和示例代码来教您如何解决它。假设您已经熟悉Bevy编程。您还应该查看Bevy的官方示例集。引擎的几乎每个区域都有一些东西,尽管它们通常只显示API的简单用法
- 【运维】Docker 基本使用教程 dockerhub cookbook
XD742971636
Dockerdockernvidiadockerhub教程cookbook
Docker入门指南文章目录Docker入门指南参考总览Docker安装centOS安装Ubuntu安装方式镜像命令容器命令从压缩包加载镜像容器>>镜像>>压缩包清除掉状态是停止的容器参考菜鸟教程:Docker教程狂神Docker笔记:链接总览Docker的入门重点包括镜像命令学习、容器命令学习,之后学习compose、网络。下面是关于Docker的一些图示:Docker安装centOS安装#1.
- Concurrency in CSharp Cookbook中文翻译 第七章Testing测试
自己的九又四分之三站台
#ConcurrencyinC#CookbookC#
Testingisanessentialpartofsoftwarequality.Unittestingadvocateshavebecomecommoninrecentyears;itseemsthatyoureadorhearaboutiteverywhere.Somepromotetest-drivendevelopment,astyleofcodingthatensuresyouhave
- Python语言的学习路线规划建议 从入门到熟练掌握,进阶到精通之路
陈序不懂程序
python学习开发语言
入门阶段必看书籍《Python编程:从入门到实践》必看网站PythoncookbookPythonCookbook3rdEditionDocumentation必看官方文档https://docs.python.org/zh-cn/3.8/tutorial/index.html照着教材敲代码练习与思考熟练掌握通读Python标准库文档https://docs.python.org/zh-cn/3/
- openai模型个性化训练Embedding和fine-tuning区别
程序员老狼
人工智能机器学习
现在基于自然语言和文档进行对话的背后都是使用的基于嵌入的向量搜索。OpenAI在这方面做的很好,它的Cookbook(github.com/openai/openai-cookbook)上有很多案例,最近他们对文档做了一些更新。GPT擅长回答问题,但是只能回答它以前被训练过的问题,如果是没有训练过的数据,比如一些私有数据或者最新的数据该怎么办呢?这种情况下通常有两种办法,一种是微调(fine-tu
- [2017专题] 前端安全
weixin_34114823
前端爬虫数据库ViewUI
过往专题搬运。前端安全开发视角反击爬虫,前端工程师的脑洞可以有多大?预防竞争对手用爬虫进行的信息抓取,我们除了可以在后端进行图灵测试,也可以前端在DOM处做手脚来混淆爬虫。前端防御之CSP详解针对XSS的前端防御,本文作者介绍了CSP的作用与绕过方式,最后给出结论:黑名单配合CSP仍然是最靠谱的防御方式。点击劫持小抄介绍了预防点击劫持的多个方案汇总。XSSCookBook介绍了XSS的3个分类与2
- RabbitMQ Cookbook译——自嗨
andywangzhen
最近工作中也遇到了RabbitMQ的使用瓶颈,一直想抽时间研究各种高级用法,所以就从RabbitMQCookbook一书开始吧。由于是英文原版读物,就一边学习一边翻译。放到的目的,也是平时搜资料,发现确实是,简单清晰,作者也都学富五车。为了给后来者提供更多的资料,我就打算将本次的学习过程,一并放入,也督促自己不断的更新。
- 一起学 RDKit Cookbook (1)
wufeil
药物设计rdkitpython机器学习深度学习
这部分内容来自于RDKIT的简单教程:https://www.rdkit.org/docs/Cookbook.htmlRDKIT算是化学生物的神器了,以前每一次都是即时查接口,现在按照这个简易教程走一遍,增加感觉。最好的办法就是全程过一遍。当然啦,在这些过程中,也有我自己对RDKit的一些理解吧。如果有不对的地方,请多多指正!一、画分子Chem.MolFromSmiles()输入的字符串是SMIL
- vs code测试vue代码
Hi_Abu
1.vue官网,找导航找到cookbook,在vscode中调试在vue.config.js文件中:这段代码的含义是在vue编译之后,在控制台依然使用源文件去查看代码。如果单纯使用DebuggerforChrome插件,选择启动调试,打断点的位置空心,点击提示是无法找到断点路径,是否修改"sourceMapPathOverrides",就是因为工具找不到断点路径。加入以下代码可以解决上述问题。mo
- Python 字典排序
limbo1996
Python字典排序《Python3CookBook》问题想创建一个字典,并且在迭代或序列化这个字典的时候能够控制元素的顺序。解决方案为了能控制一个字典中元素的顺序,可以使用collections模块中的OrderedDict类。可以在迭代的时候保持元素被插入时的顺序>>>fromcollectionsimportOrderedDict>>>d=OrderedDict()>>>d['foo']=1
- Rust 学习
擒贼先擒王
rust开发语言后端
Rust官网:https://www.rust-lang.org/zh-CN/Rust模块库:https://crates.io/官方文档:https://rustwiki.org/zh-CN/std/all.htmlRustCookbook:https://rust-lang-nursery.github.io/rust-cookbook/Rust爬虫:https://zhuanlan.zhih
- C# CookBook 基本语法
啊哈JC熙
笔记资料:C#开发轻松入门慕课网https://www.imooc.com/learn/422.NET开发简介Microsoft.NET.NET是微软公司推出的软件开发和运行平台,允许应用通过internet进行通讯和共享数据。.NET平台与编程与无关,可以用任意的你喜欢的语言进行开发,其中C#语言是.NET平台上比较好的语言。.NET的核心框架是.NETFramework,它赋予了.NET丰富强
- 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