- 重温React框架
向贤
前端开发技术面试react.js前端前端框架
文章目录一、React的核心设计哲学1.声明式编程(Declarative)2.组件化(Component-Based)3.单向数据流(UnidirectionalDataFlow)二、React的核心技术机制1.虚拟DOM(VirtualDOM)2.JSX语法3.ReactFiber架构三、React的核心API与生态1.组件生命周期(类组件)2.Hooks(函数组件)3.生态系统四、React
- 深入理解前端防抖(Debounce)与节流(Throttle):原理、区别与实战示例
A-Kamen
前端状态模式
深入理解前端防抖(Debounce)与节流(Throttle):原理、区别与实战示例引言在前端开发中,我们经常需要处理高频事件(如输入框输入、滚动、窗口调整大小等)。如果不加限制,浏览器会频繁触发回调函数,导致性能问题,甚至页面卡顿。防抖(Debounce)和节流(Throttle)是两种优化方案,可以有效控制事件触发的频率,提高应用的性能和用户体验。本篇文章将详细解析防抖和节流的原理、适用场景及
- 【智能体架构:Agent】LangChain智能体类型ReAct、Self-ASK的区别
星星点点洲
LangChain开发过程langchain
1.什么是智能体将大语言模型作为一个推理引擎。给定一个任务,智能体自动生成完成任务所需步骤,执行相应动作(例如选择并调用工具),直到任务完成。2.先定义工具:Tools可以是一个函数或三方API也可以把一个Chain或者Agent的run()作为一个Tool#需要注册SerpAPI(限量免费),并将SERPAPI_API_KEY写在环境变量中fromlangchain_community.util
- Python之self
小洁子_2009
#04Pythonpython开发语言后端
Python之self一、Self特性:self是类的实例对象本身,self代表类的实例,而非类self是类方法默认的第一个参数而且是必须的,不写会报错self的名字并不是规定死的,但是最好还是按照约定是用selfself的作用主要表示这个变量是类的公共变量self的属性,名称前加上两个下划线,就变成了一个私有变量(private),只有内部可以访问,外部不能访问一个独立的函数不需要加self函数
- 《Python实战进阶》第32集:使用 TensorFlow 构建神经网络
带娃的IT创业者
Python实战进阶pythontensorflow神经网络
第32集:使用TensorFlow构建神经网络摘要TensorFlow是一个功能强大的深度学习框架,广泛应用于构建和训练神经网络模型。本集将带领您学习如何使用TensorFlow构建简单的神经网络,并深入理解其核心概念(如张量、计算图)以及神经网络的基本组件(如层、激活函数、损失函数)。通过实战案例,我们将使用MNIST数据集构建一个手写数字识别模型,帮助您掌握TensorFlow的基本用法。核心
- python self理解_如何理解Python类中的self?
weixin_39535283
pythonself理解python中self
许多python初学者,在接触到python面向对象的时候,就被类中包含的方法中的self打败了,不知道self是何物?既然写在方法中,是必须参数,为何在调用方法的时候不给它传参数还能正常运行?和我们前面学的函数传参这块矛盾么?勇哥在这里给慢慢大家揭开self的神秘面纱。首先我们看下如下代码:改进上述代码,我们来探索下self到底是个什么东西?大家应该记得python中有一个id()内置函数,它可
- python类中的self怎么理解_python 中self理解
weixin_39559559
python类的方法和普通函数的区别--python中类的方法必须有一个额外的参数:self,self代表类的实例假如创建一个新的类Myclass,类中有一个方法method(arg1,arg2),b实例化Myclass得到Myobject这个对象,然后调用这个对象中的Myobject.method(arg1,arg2),这个过程中python会自动转为Myclass.method(MyObjec
- 第二十章:类型属性的重载_《C++ Templates》notes
郭涤生
c/c++c++开发语言笔记
类型属性的重载核心知识点测试用例与编译验证多选题设计题测试用例说明关键总结核心知识点基于类型属性的函数重载通过type_traits和SFINAE实现条件编译,选择不同函数实现:#include#include//基础模板:处理非指针类型template,int>=0>voidprocess(constT&value){std::cout,int>=0>voidprocess(Tptr){std:
- 第二十一章:模板与继承_《C++ Templates》notes
郭涤生
c/c++c++笔记开发语言
模板与继承重点和难点编译与测试说明第一部分:多选题(10题)第二部分:设计题(5题)答案与详解多选题答案:设计题参考答案测试说明重点和难点21.1空基类优化(EBCO)知识点空基类优化(EmptyBaseClassOptimization)允许编译器在派生类中优化空基类的存储空间。若基类没有非静态成员变量、虚函数或虚基类,其大小可被优化为0字节,避免空间浪费。代码示例#include//空基类cl
- Python中self的理解
lengyue_wy
Python相关pythonjavac#idec
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。虽然你可以给这个参数任何名称,但是强烈建议你使用self这个名称——其他名称都是不赞成你使用的。使用一个标准的名称有很多优点——你的程序读者可以迅速识别它,如果使用self的话,还有些IDE(集成开
- 【QT入门】 Qt内存管理机制详解
不吃~香菜
QT入门qt开发语言内存管理对象树智能指针
往期回顾:【QT入门】Qt槽函数五种常用写法介绍-CSDN博客【QT入门】Qt实现自定义信号-CSDN博客【QT入门】Qt自定义信号后跨线程发送信号-CSDN博客【QT入门】Qt内存管理机制详解Qt中的内存管理主要是通过对象树和智能指针来实现的,下面一一列举各类方法:一、对象树(ObjectTree):1、什么是对象数:Qt中的对象可以形成一个层次结构,其中一个对象可以拥有子对象。当父对象被销毁时
- OpenCV 基础全方位剖析:夯实计算机视觉开发根基
2201_75491841
计算机视觉opencv人工智能
在计算机视觉的广袤领域中,OpenCV是一座极为关键的里程碑。无论是在前沿的学术研究,还是在蓬勃发展的工业界,OpenCV凭借其强大的功能与高效的性能,为开发者提供了丰富的图像处理和计算机视觉算法,助力无数项目落地。本文将深入探讨OpenCV的基础知识,包括其核心概念、安装配置、常用操作以及实际应用,希望能帮助读者全面掌握OpenCV,为后续的计算机视觉开发筑牢根基。1.OpenCV是什么?Ope
- 感受 lambda 之美!
技术宅小强
java开发语言
我们以省市区为例,使用函数式及反射实现地区名称的显示model类importlombok.Data;importlombok.NoArgsConstructor;importjava.io.Serializable;/***数据库表名称:t_dict_region**/@Data@NoArgsConstructorpublicclassDictRegionimplementsSerializabl
- 还在苦于数据量不足?快来看看数据生成全家桶,新增基于NMF非负矩阵分解的数据生成,采用SVM分类模型评估
机器学习之心
数据生成矩阵支持向量机非负矩阵分解数据生成
还在苦于数据量不足?快来看看数据生成全家桶,新增基于NMF非负矩阵分解的数据生成,采用SVM分类模型评估目录还在苦于数据量不足?快来看看数据生成全家桶,新增基于NMF非负矩阵分解的数据生成,采用SVM分类模型评估预测效果基本介绍程序设计参考资料预测效果基本介绍该研究旨在探索基于非负矩阵分解(NMF)的合成数据生成方法,并评估其在分类任务中的有效性。运行环境Matlab2018b及以上,研究以经典的
- 堆栈溢出常见原因
越甲八千
数据结构【道阻且长C++】算法开发语言
文章目录栈溢出原因堆溢出原因栈溢出原因函数调用层级过深:当函数不断地调用自身或相互调用,形成了过深的调用栈层次,就可能导致栈空间被耗尽。例如,没有正确设置终止条件的递归函数,会无限次地调用自身,很快就会使栈溢出。//错误示例:没有终止条件的递归函数voidrecursiveFunction(){recursiveFunction();}intmain(){recursiveFunction();r
- 红宝书第九讲:JavaScript对象创建与属性描述符详解
前端javascript
红宝书第九讲:JavaScript对象创建与属性描述符详解资料取自《JavaScript高级程序设计(第5版)》。查看总目录:红宝书学习大纲一、对象创建的三种方式JavaScript中创建对象主要有以下方式:1.对象字面量(直接创建)直接在代码中写键值对:letperson={name:"Alice",age:25};2.构造函数(new关键字)1通过构造函数创建对象实例:functionPers
- STM32标准库开发
SundayBear
stm32嵌入式硬件单片机
代码来源江协科技。延时Delay函数主频为72M,所以LOAD=72*us。可自行根据芯片的主频进行修改。#include"stm32f10x.h"/***@brief微秒级延时*@paramxus延时时长,范围:0~233015*@retval无*/voidDelay_us(uint32_txus){/*主频为72M*/SysTick->LOAD=72*xus;//设置定时器重装值SysTick
- 8.函数定义与使用
恸流失
Python学习基础python开发语言pycharm
一.定义函数必备参数默认参数不定长参数return返回值文本文档print与return的区别其他用法传参二.匿名函数基本用法单参数函数无参数函数作为参数传递列表推导式与函数式编程三.作用域全局变量与局部变量global()函数nonlocal()函数一.定义函数语法格式:def函数名():执行语句#函数作用函数名()#调用函数print(函数名)#输出函数名的储存代码,内存地址参数分为:1.形式
- LeetCode Hot100【回溯-39. 组合总和】
_Yeps
LeetCodeHot100【个人学习】leetcode算法职场和发展
题目:39.组合总和代码实现classSolution{public:vector>result;//存储所有满足条件的组合vectorpath;//当前正在构建的组合//回溯函数:尝试从当前数字开始组合voidbacktracking(vector&candidates,inttarget,intsum,intstartIndex){if(sum>target)return;//当前和大于目标,
- 容积卡尔曼滤波
传感器研习社
多维容积卡尔曼滤波(CKF)的函数https://download.csdn.net/download/irving8/5669329CKF.m容积卡尔曼滤波在室内定位技术中的应用https://download.csdn.net/download/qq_43706643/11739147容积卡尔曼ckf——基站测距定位解算https://download.csdn.net/download/qq
- PCL点云学习(2)点云拓扑结构
清风墨竹-
c++学习计算机视觉
一、k-dTree点云分解1.1kd树的创建KdTreeFLANNkdtree;pcl::KdTreeFLANN是PCL中用于高效空间搜索的KD树,通过pcl::KdTreeFLANNkdtree;创建KD树。1.2setInputCloud函数kdtree.setInputCloud(cloud);1、setInputCloud用于设置算法要处理的输入点云数据,使其能够基于这些数据构建空间索引结
- Illustrator(AI)CS6 - 2025 软件安装包+安装教程
初心领域
win软件illustrator软件需求平面设计
软件名称:Illustrator界面语言:简体中文运行系统:Win7及以上版本运行环境:64位硬件要求:CPU@2.0GHz内存@4G(或更高)软件简介:AdobeIllustrator,简称Ai,是一种应用于出版、多媒体和在线图像的工业标准矢量插画的软件。该软件主要应用于印刷出版、海报书籍排版、专业插画、多媒体图像处理和互联网页面的制作等,也可以为线稿提供较高的精度和控制,适合生产任何小型设计到
- C++ 仿函数
azaz_plus
C++c++开发语言仿函数
1.仿函数的基本用法仿函数是一个类或结构体对象,它通过重载函数调用运算符operator(),使得该对象可以像普通函数一样被调用。示例1:实现一个加法器classAdder{public:Adder(intnum):num_(num){}//构造函数保存状态(加数)//重载operator(),执行加法intoperator()(intx)const{returnx+num_;}private:i
- 多线程编程
Ye1l0vv
linux
多线程编程pthread_create创建线程#includeintpthread_create(pthread_t*thread,//线程标识符(输出参数)constpthread_attr_t*attr,//线程属性(通常设为NULL)void*(*start_routine)(void*),//线程入口函数void*arg//传递给线程函数的参数);//成功返回0,失败返回错误码(非errn
- python基础语法中的内置函数与拆包
Cccc吃吃吃
python开发语言
目录一、内置函数abssummax和minzipmapreduce二、拆包一、内置函数Python语言中有许多内置函数,以下是一些基础的内置函数:print():打印输出内容到控制台。type():返回对象的类型。len():返回对象的长度。input():接受用户输入。int():将输入转换为整数。float():将输入转换为浮点数。str():将输入转换为字符串。list():将输入转换为列表
- 深度剖析 C 语言存储类:掌控变量与函数的存储奥秘
烂蜻蜓
C语言c语言java算法
的可见性与生存周期,让程序更加高效、稳定地运行。接下来,我们将深入探究C语言中auto、register、static和extern这四种主要存储类的特性与应用场景。二、auto存储类:局部变量的默认归属(一)auto存储类的基本特性auto存储类是C语言中所有局部变量的默认存储类。当我们在函数内部定义变量时,如{intmount;autointmonth;},mount和month本质上都具有a
- Python中range()函数的用法是什么?
让你五行代码
Pythonpython开发语言range函数
在Python中,range()函数用于生成一个整数序列,它可以帮助你在循环中生成一系列连续的整数。range()函数有多种用法,下面是一些常见的示例:1.基本用法:range(stop)。生成从0到stop-1的整数序列。foriinrange(5):print(i)输出:012342.指定起始值和终止值:range(start,stop)。生成从start到stop-1的整数序列。foriin
- Python中range函数的用法及示例代码
编码实践
python开发语言Python
range函数是Python中常用的内置函数之一,用于生成一个整数序列。它的基本语法如下:range(start,stop,step)其中,start表示序列的起始值(默认为0),stop表示序列的终止值(不包含在序列中),step表示序列中相邻两个元素的间隔(默认为1)。range函数返回一个可迭代对象,可以通过循环或者转换为列表等形式来使用。下面是一些示例代码,帮助理解range函数的用法:示
- 每日一课 | range()函数用法
Python大本营
列表luatapestryportletpython
range()函数:如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:>>>foriinrange(5):... print(i)...01234>>>foriinrange(5,9): print(i)5678>>>>>>foriinrange(0,10,3): print(i)0369>>>>>>foriinrange(-10,-100,-30): print
- python raw socket_python raw socket 介绍
weixin_39605278
pythonrawsocket
因为要使用python底层发包模块,也就是rawsocket发包模式,所以在此深入了解一下pythonsocket通信。涉及到的函数:importsocketsocket()setsockopt()sendto()recvfrom()因为使用的是原始套接字,所以我们不使用bind/connect函数,参照《unix网络编程》bind函数仅仅设置本地地址。就输出而言,调用bind函数设置的是将用于从
- 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