- ctfshow-反序列化(web267-web270)
网安小t
反序列化CTFSHOW反序列化反序列化漏洞渗透测试网络安全
目录web267web268web269web270总结web267页面用的什么框架不知道看源码看一下框架就是一种软件工具,它提供了一些基础功能和规范,可以帮助开发者更快地构建应用程序。比如Yii框架和ThinkPHP框架就是两个流行的PHP框架,它们提供了很多现成的功能和工具,让开发者可以更轻松地编写代码,不需要从零开始。使用框架可以加快开发速度、提高代码质量,并且有助于维护和扩展应用程序。查看
- 腾讯企业邮箱:创建邮件授权码
.卡
问题记录php开发语言后端
文章目录申请官网绑定生成密码PHP脚本发送代码(465端口)Yii框架发送代码(587端口)申请官网腾讯企业邮箱绑定生成密码PHP脚本发送代码(465端口)require_once__DIR__."/vendor/autoload.php";usePHPMailer\PHPMailer\PHPMailer;usePHPMailer\PHPMailer\SMTP;...$mail=newPHPMai
- Yii CSRF验证的原理解析及编程实现
后端架构魔术师
csrf前端数据库编程
CSRF(Cross-SiteRequestForgery)跨站请求伪造是一种常见的网络攻击方式,攻击者通过构造恶意请求来利用用户在目标网站上的身份认证信息。为了防止CSRF攻击,Yii框架提供了内置的CSRF验证机制。本文将详细解析Yii框架中CSRF验证的原理,并给出相应的编程实现。CSRF验证原理:CSRF验证的基本原理是在用户提交的表单中添加一个CSRF令牌(Token),该令牌与用户的会
- Yii学习--使用Yii来建立博客
wbj0110
计算机php框架使用Yii来建立博客YIIGIIZIIphp
Yii之初体验安装Yii创建应用骨架应用的工作流程在这一部分里,我们将讲解怎样建立一个程序的骨架作为着手点。为简单起见,我们假设Web服务器根目录是/wwwroot,相应的URL是http://www.example.com/。1.安装Yii首先,我们来安装Yii框架。从www.yiiframework.com获取一份Yii的拷贝,解压缩到/wwwroot/yii。再次检查以确保/wwwroot/
- PHP开源yii框架,Yii - 开发框架 - PHP开源项目 - 开源吧
黑猫厨房
PHP开源yii框架
相关开源项目AlloyFramework:AlloyFramework是一个轻量级分层MVCPHP框架。采用模块化组织,以REST为核心,支持PHP5.3.2+。P4A:P4A是一个PHPRAD与面向对象的PHP框架用于开发事件驱动的Web应用程序。它的特点TablelessHTML,accesskey支持,point&click应用生成器,自动数据类型识别,UTF-8/i18n/l10n支持,P
- yii框架封装拼多多开放平台sdk
yshir-phper
php及后台框架
yii框架封装拼多多开放平台sdk'https://mms.pinduoduo.com/open.html?','H5'=>'https://mai.pinduoduo.com/h5-login.html?','JINBAO'=>'https://jinbao.pinduoduo.com/open.html?',];//无需授权/**@varstring获取购买应用订单列表*/constAPI_P
- php视图,PHP的Yii框架中View视图的使用进阶
weixin_39577964
php视图
视图名渲染视图时,可指定一个视图名或视图文件路径/别名,大多数情况下使用前者因为前者简洁灵活,我们称用名字的视图为视图名.视图名可以依据以下规则到对应的视图文件路径:视图名可省略文件扩展名,这种情况下使用.php作为扩展,视图名about对应到about.php文件名;视图名以双斜杠//开头,对应的视图文件路径为@app/views/ViewName,也就是说视图文件在yii\base\Appli
- 今日小记
薛灵均
1.今天被yii框架气到吐血,感觉只要改动一小点,整个文件夹的代码就报废了,偏偏你还不知道错在哪。后来无意问同学的情况,才知道是model那块出了问题,对于他原来的代码只能注释掉和增加,不能删除或修改。改了一整天,从早上到下午,比较欣慰的是自己实现了原有代码没有的查询功能。2.吃晚饭的时候开始搬东西到新宿舍。新宿舍挺宽敞,挺喜欢的,就是没人帮自己搬太累了,又没有借推车。整个胳膊酸的要死。明天还要继
- PHP之ThinkPHP框架
-恰饭第一名-
php学习笔记php
一、框架概述1、什么是框架框架就是一些代码类、方法(函数)、变量、常量的集合,这些代码是功能结构性的代码(并非业务代码)。业务代码其实就是具体的一些模块的增删改查逻辑代码。使用框架开发项目,有便于代码重用、开发效率高、代码规范好、便于功能扩展等优点。2、php中的主流框架ZendFrameword框架,PHP官方框架YII框架,又叫易框架Symfony框架。通常用于借鉴引用Laravel框架,市场
- phpyii框架倒叙_PHP中Yii框架的基本用法
weixin_39619433
phpyii框架倒叙
本篇文章主要介绍PHP中Yii框架的基本用法,感兴趣的朋友参考下,希望对大家有所帮助。在Yii自动生成的代码里,我们总能在admin的界面看到CGridView的身影。这是一个很好用的展示数据的表格控件,用的好可以明显地加快开发进度。下面就让我们来探索一下CGridView的基本使用吧:droptableifexists`tbl_user`;CREATETABLEtbl_user(`user_id
- yii2反序列化漏洞总结
Z3eyOnd
Web安全网络安全linux
文章目录yii2框架反序列化漏洞复现yii框架搭建过程CVE-2020-15148复现链子2链子3链子4链子5链子6参考链接yii2框架反序列化漏洞复现yii框架Yii是一个适用于开发Web2.0应用程序的高性能PHP框架。Yii是一个通用的Web编程框架,即可以用于开发各种用PHP构建的Web应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应用,如门户网站、社区、内容管理系统
- 好用的composer包记录
gao922699
https://github.com/kartik-vyii框架高产库https://github.com/yiisoftyii框架官方库jwt(jsonwebtoken)加密解密:firebase/php-jwt[https://github.com/firebase/php-jwt](https://github.com/firebase/php-jwt"https://github.com/
- yii1 使用memcache 缓存不更新、过期时间不生效
Mr_jinhua
杂七杂八缓存memcached数据库
YII中使用memcacheYII框架中使用memcache的方法详解(IT技术)上链接为引入使用方法但今天突然发现设置的缓存不更新,导致页面不更新1.先排查缓存,发现加的有页面片段缓存5min,关闭页面缓存,还是不更新2.关闭数据缓存,生效,但打开页面缓慢,且数据库压力较大、排除方案(保底方案,捂脸)3.重启memcache,清除所有缓存,生效。查看memcache状态容量无异常这块有坑建议不乱
- 项目笔记整理
村长王无敌
YII框架:Yii::$app->db->createCommand($sql)->query()//返回DataReader对象,并返回查询结果集Yii::$app->db->createCommand($sql)->queryOne()//返回结果集的第一行数据Yii::$app->db->createCommand($sql)->queryAll();//查询所有行数据Yii::$app->
- 小程序-小程序登录微信昵称头像接口升级(Yii框架版本)
眼眸间的深情
小程序微信微信小程序头像昵称获取wx.uploadFileJSON.parse的具体使用小程序头像图片获取与上传服务器YiiAPI
1.问题描述小程序登录接口升级之后,将之前的微信昵称和头像返回为微信用户和灰色头像,如下图所示:2.解决方案处理方案引入微信小程序的最新临时对接方案:选择或者上传微信头像选择或者填写微信昵称思路梳理①微信授权获取空白头像和微信用户昵称②新增获取最新用户数据代码,与数据库进行存储对接工作③更新之后的用户则无需第二次的头像昵称信息的修改操作效果展示点击个人中心的灰色头像显示操作页面微信头像操作微信昵称
- CTFshow 反序列化
Sn_u
php服务器开发语言
目录CTFshow反序列化web262-SoapClient类的利用web263-PHPsession反序列化什么是session?PHPsession的存储机制web265-变量引用web266-类和方法不区分大小写web267-yii框架反序列化漏洞web268-yii第二条链子web269-yii第三条链子web270-yii第四条链子web271-laravel5.7反序列化漏洞web27
- ctfshow 反序列化篇(下)
XiLitter
#web安全phpweb安全
web267(yii框架)开启靶机,是一个网站,试着搜索有没有重要信息。在这里发现是yii框架。我们使用弱口令admin/admin就可以登录进来了,那就继续收集重要信息。在源代码中发现了重要注释。让我们传一个view-source参数。出现了传参点,百度搜索yii反序列化漏洞,有相关的poc可以直接打。想知道构造思路可以看这篇文章:yii框架反序列化相关poc为:checkAccess='she
- yii2+sign签名认证 demo
yunxixiao
phpyiiphpyii2sign签名认证
代码下载yii2框架+sign签名认证-PHP文档类资源-CSDN下载签名认证要注意满足以下几点:可变性:每次的签名必须是不一样的。时效性:每次请求的时效,过期作废等。唯一性:每次的签名是唯一的。完整性:能够对传入数据进行验证,防止篡改。yii框架行为类增加如下部分接口想要跳过认证的yii添加如下代码签名认证接口Sign.php具体的使用方式参考readme说明学习笔记,仅供参考!如有侵权,请联系
- Centos 安装 memcached, 并增加到php应用中. yii框架
张燊Jason
100.上线运维开发阶段-PHP
安装yuminstallmemcached安装完phpinfo测试,看php是否已经支持.如果没有,则需要php.ini文件中增加extension="memcache.so"启动/bin/memcached-d-m1024-uroot-l127.0.0.1-p11211-c1024-P/tmp/memcached.pid-d选项是启动一个守护进程,-m是分配给Memcache使用的内存数量,单位
- [LNMP]php程序注释建议规范和工具
tumg的LNMP_IOS小集
说明本注释建议适用于php程序开发,包括基于Yii框架的php开发,不局限于本规范所列出的注释参数,但至少遵循phpDoc的标准进行注释。类文件注释适用于自定义的类文件或其他php文件的注释,放在文件的头部/***描述你的类或文件的作用**@package所属的模块名或函数组名,例如:本类文件是Gather模块的其中一个数据处理类,那填上Gather*@author你的名字简称或账户名*@copy
- TP笔记1、TP框架概述
欧文Z-phone
ThinkPHP
1框架框架本质就是半成品的源码库框架一般包含很多内置功能(数据库的操作、分页、验证码)1.1PHP常用框架zendfromeworkYII框架:典型特点将代码的重用率使用到极限Laravel框架thinkPHP框架:简称TP1.2TP框架的优点国人开发。符合国人编程思想TP社区较活跃(使用人多),文档充足国内使用量较大。可以支持很多种项目1.3TP文件目录解释Application:TP默认的应用
- Yii 框架学习(三)
一生一场戏
yii框架是基于model模型开发的,开发过程中需要熟练使用yii框架的模型规则,才可以更好的开发项目。Snipaste_2019-05-09_18-07-32.png
- Yii 框架的下载
一生一场戏
yii框架的安装分为两种方式:1、composer安装,2、归档文件下载安装一、composer安装最新发布的是2.0.18(2019年4月23日)此版本和旧版本的更改升级说明所有Yii2.x版本的列表通过Composer安装(推荐)此处描述的安装说明是一个简短的摘要,您可能需要查看“权威指南”以获取更详细的说明。选择一个应用程序模板以开始安装Yii2.0。应用程序模板是一个包,其中包含用Yii编
- Yii框架的安装
一生一场戏
访问我们的yii框架了。在浏览器中输入http://localhost/basic/web/index.php进行访问,首次访问会出现一个报错。火狐截图_2019-05-07T08-20-13.334Z.png需要在config/web.php文件中的'cookieValidationKey'=>'',添加密钥,如下图所示:Snipaste_2019-05-07_16-22-57.png我们再回到
- Yii 框架学习(一)
一生一场戏
一、Yii框架数据库配置文件位于:web/db.php文件中,根据自己的需求对数据库文件进行配置。如下图示:Snipaste_2019-05-08_16-59-11.png二、创建新的控制器方法,根据已存在的siteController.php方法,学习。三、前台css文件放在web\assets文件夹下四、去掉yii2默认头部和底部Snipaste_2019-05-08_17-07-36.png
- 在类中使用 behaviors 时,如何避免序列化失败
天蓬小号
现象有时候在类中使用了TimestampBehavior或其他AttributeBehavior,突然缓存就不能用了,写入缓存时抛出异常:Exception:Serializationof'Closure'isnotallowedin...这可能是因为在将数据写入缓存前,要用到PHP的serialize()函数对数据进行序列化,从而导致异常。分析以Yii框架为例,定义一个Team对象,并使用Att
- yii+swoole上手websocket(1)—— demo
JUNE言JUNE语
给自己找一点事情做~说明:利用yii框架纯粹只是避免重复造轮子~~先撸一个helloworld吧[Talkischeap.Showmethecode]这一段是从官网copy下来的服务端代码,贼好使use\Swoole\WebSocket\Server;$server=newServer("0.0.0.0",9501);$server->on('open',function(Server$serve
- Yii框架下的where条件查询
白云证心
条件查询cond)->all();$cond就是我们所谓的条件,条件的写法也根据查询数据的不同存在差异,那么如何用yii2的方式来写查询条件呢?【简单条件】1,'status'=>2]//SQL:(idIN(1,2,3))AND(status=2)$cond=['id'=>[1,2,3],'status'=>2]//SQL:statusISNULL$cond=['status'=>null]【an
- Yii笔记-如何理解事件
李楠30
官网文档一直没理解Yii的事件怎么用,今天突然看到一个文章用前端的视角来解释后端事件的使用,突然明白了一些。在前端表格提交之前都会进行各种验证,这里会根据表单的输入、焦点离开、点击事件来编写各种事件处理函数。Yii的事件也是这么用就很好理解了,Yii框架提供了很多事件这就和js中的onclick一样是实现提供好的,只要定义好事件处理函数就会在特定事件触发时执行。另一种是自定义事件,这种是最灵活的用
- YII框架user表结构,admin账号数据
九点四十
--Database:`yii`------------------------------------------------------------表的结构`user`CREATETABLE`user`(`id`int(11)NOTNULL,`username`varchar(255)NOTNULL,`auth_key`varchar(32)NOTNULL,`password_hash`var
- PHP如何实现二维数组排序?
IT独行者
二维数组PHP排序
二维数组在PHP开发中经常遇到,但是他的排序就不如一维数组那样用内置函数来的方便了,(一维数组排序可以参考本站另一篇文章【PHP中数组排序函数详解汇总】)。二维数组的排序需要我们自己写函数处理了,这里UncleToo给大家分享一个PHP二维数组排序的函数:
代码:
functionarray_sort($arr,$keys,$type='asc'){
$keysvalue= $new_arr
- 【Hadoop十七】HDFS HA配置
bit1129
hadoop
基于Zookeeper的HDFS HA配置主要涉及两个文件,core-site和hdfs-site.xml。
测试环境有三台
hadoop.master
hadoop.slave1
hadoop.slave2
hadoop.master包含的组件NameNode, JournalNode, Zookeeper,DFSZKFailoverController
- 由wsdl生成的java vo类不适合做普通java vo
darrenzhu
VOwsdlwebservicerpc
开发java webservice项目时,如果我们通过SOAP协议来输入输出,我们会利用工具从wsdl文件生成webservice的client端类,但是这里面生成的java data model类却不适合做为项目中的普通java vo类来使用,当然有一中情况例外,如果这个自动生成的类里面的properties都是基本数据类型,就没问题,但是如果有集合类,就不行。原因如下:
1)使用了集合如Li
- JAVA海量数据处理之二(BitMap)
周凡杨
java算法bitmapbitset数据
路漫漫其修远兮,吾将上下而求索。想要更快,就要深入挖掘 JAVA 基础的数据结构,从来分析出所编写的 JAVA 代码为什么把内存耗尽,思考有什么办法可以节省内存呢? 啊哈!算法。这里采用了 BitMap 思想。
首先来看一个实验:
指定 VM 参数大小: -Xms256m -Xmx540m
- java类型与数据库类型
g21121
java
很多时候我们用hibernate的时候往往并不是十分关心数据库类型和java类型的对应关心,因为大多数hbm文件是自动生成的,但有些时候诸如:数据库设计、没有生成工具、使用原始JDBC、使用mybatis(ibatIS)等等情况,就会手动的去对应数据库与java的数据类型关心,当然比较简单的数据类型即使配置错了也会很快发现问题,但有些数据类型却并不是十分常见,这就给程序员带来了很多麻烦。
&nb
- Linux命令
510888780
linux命令
系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示C
- java常用JVM参数
墙头上一根草
javajvm参数
-Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制
-Xmx:最大堆大小,默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制
-Xmn:新生代的内存空间大小,注意:此处的大小是(eden+ 2
- 我的spring学习笔记9-Spring使用工厂方法实例化Bean的注意点
aijuans
Spring 3
方法一:
<bean id="musicBox" class="onlyfun.caterpillar.factory.MusicBoxFactory"
factory-method="createMusicBoxStatic"></bean>
方法二:
- mysql查询性能优化之二
annan211
UNIONmysql查询优化索引优化
1 union的限制
有时mysql无法将限制条件从外层下推到内层,这使得原本能够限制部分返回结果的条件无法应用到内层
查询的优化上。
如果希望union的各个子句能够根据limit只取部分结果集,或者希望能够先排好序在
合并结果集的话,就需要在union的各个子句中分别使用这些子句。
例如 想将两个子查询结果联合起来,然后再取前20条记录,那么mys
- 数据的备份与恢复
百合不是茶
oraclesql数据恢复数据备份
数据的备份与恢复的方式有: 表,方案 ,数据库;
数据的备份:
导出到的常见命令;
参数 说明
USERID 确定执行导出实用程序的用户名和口令
BUFFER 确定导出数据时所使用的缓冲区大小,其大小用字节表示
FILE 指定导出的二进制文
- 线程组
bijian1013
java多线程threadjava多线程线程组
有些程序包含了相当数量的线程。这时,如果按照线程的功能将他们分成不同的类别将很有用。
线程组可以用来同时对一组线程进行操作。
创建线程组:ThreadGroup g = new ThreadGroup(groupName);
&nbs
- top命令找到占用CPU最高的java线程
bijian1013
javalinuxtop
上次分析系统中占用CPU高的问题,得到一些使用Java自身调试工具的经验,与大家分享。 (1)使用top命令找出占用cpu最高的JAVA进程PID:28174 (2)如下命令找出占用cpu最高的线程
top -Hp 28174 -d 1 -n 1
32694 root 20 0 3249m 2.0g 11m S 2 6.4 3:31.12 java
- 【持久化框架MyBatis3四】MyBatis3一对一关联查询
bit1129
Mybatis3
当两个实体具有1对1的对应关系时,可以使用One-To-One的进行映射关联查询
One-To-One示例数据
以学生表Student和地址信息表为例,每个学生都有都有1个唯一的地址(现实中,这种对应关系是不合适的,因为人和地址是多对一的关系),这里只是演示目的
学生表
CREATE TABLE STUDENTS
(
- C/C++图片或文件的读写
bitcarter
写图片
先看代码:
/*strTmpResult是文件或图片字符串
* filePath文件需要写入的地址或路径
*/
int writeFile(std::string &strTmpResult,std::string &filePath)
{
int i,len = strTmpResult.length();
unsigned cha
- nginx自定义指定加载配置
ronin47
进入 /usr/local/nginx/conf/include 目录,创建 nginx.node.conf 文件,在里面输入如下代码:
upstream nodejs {
server 127.0.0.1:3000;
#server 127.0.0.1:3001;
keepalive 64;
}
server {
liste
- java-71-数值的整数次方.实现函数double Power(double base, int exponent),求base的exponent次方
bylijinnan
double
public class Power {
/**
*Q71-数值的整数次方
*实现函数double Power(double base, int exponent),求base的exponent次方。不需要考虑溢出。
*/
private static boolean InvalidInput=false;
public static void main(
- Android四大组件的理解
Cb123456
android四大组件的理解
分享一下,今天在Android开发文档-开发者指南中看到的:
App components are the essential building blocks of an Android
- [宇宙与计算]涡旋场计算与拓扑分析
comsci
计算
怎么阐述我这个理论呢? 。。。。。。。。。
首先: 宇宙是一个非线性的拓扑结构与涡旋轨道时空的统一体。。。。
我们要在宇宙中寻找到一个适合人类居住的行星,时间非常重要,早一个刻度和晚一个刻度,这颗行星的
- 同一个Tomcat不同Web应用之间共享会话Session
cwqcwqmax9
session
实现两个WEB之间通过session 共享数据
查看tomcat 关于 HTTP Connector 中有个emptySessionPath 其解释如下:
If set to true, all paths for session cookies will be set to /. This can be useful for portlet specification impleme
- springmvc Spring3 MVC,ajax,乱码
dashuaifu
springjquerymvcAjax
springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决
Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里。具体实现AnnotationMethodHandlerAdapter类handleResponseBody方法,具体实
- 搭建WAMP环境
dcj3sjt126com
wamp
这里先解释一下WAMP是什么意思。W:windows,A:Apache,M:MYSQL,P:PHP。也就是说本文说明的是在windows系统下搭建以apache做服务器、MYSQL为数据库的PHP开发环境。
工欲善其事,必须先利其器。因为笔者的系统是WinXP,所以下文指的系统均为此系统。笔者所使用的Apache版本为apache_2.2.11-
- yii2 使用raw http request
dcj3sjt126com
http
Parses a raw HTTP request using yii\helpers\Json::decode()
To enable parsing for JSON requests you can configure yii\web\Request::$parsers using this class:
'request' =&g
- Quartz-1.8.6 理论部分
eksliang
quartz
转载请出自出处:http://eksliang.iteye.com/blog/2207691 一.概述
基于Quartz-1.8.6进行学习,因为Quartz2.0以后的API发生的非常大的变化,统一采用了build模式进行构建;
什么是quartz?
答:简单的说他是一个开源的java作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。并且还能和Sp
- 什么是POJO?
gupeng_ie
javaPOJO框架Hibernate
POJO--Plain Old Java Objects(简单的java对象)
POJO是一个简单的、正规Java对象,它不包含业务逻辑处理或持久化逻辑等,也不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。如果项目中使用了Hiber
- jQuery网站顶部定时折叠广告
ini
JavaScripthtmljqueryWebcss
效果体验:http://hovertree.com/texiao/jquery/4.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>网页顶部定时收起广告jQuery特效 - HoverTree<
- Spring boot内嵌的tomcat启动失败
kane_xie
spring boot
根据这篇guide创建了一个简单的spring boot应用,能运行且成功的访问。但移植到现有项目(基于hbase)中的时候,却报出以下错误:
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.Lif
- leetcode: sort list
michelle_0916
Algorithmlinked listsort
Sort a linked list in O(n log n) time using constant space complexity.
====analysis=======
mergeSort for singly-linked list
====code======= /**
* Definition for sin
- nginx的安装与配置,中途遇到问题的解决
qifeifei
nginx
我使用的是ubuntu13.04系统,在安装nginx的时候遇到如下几个问题,然后找思路解决的,nginx 的下载与安装
wget http://nginx.org/download/nginx-1.0.11.tar.gz
tar zxvf nginx-1.0.11.tar.gz
./configure
make
make install
安装的时候出现
- 用枚举来处理java自定义异常
tcrct
javaenumexception
在系统开发过程中,总少不免要自己处理一些异常信息,然后将异常信息变成友好的提示返回到客户端的这样一个过程,之前都是new一个自定义的异常,当然这个所谓的自定义异常也是继承RuntimeException的,但这样往往会造成异常信息说明不一致的情况,所以就想到了用枚举来解决的办法。
1,先创建一个接口,里面有两个方法,一个是getCode, 一个是getMessage
public
- erlang supervisor分析
wudixiaotie
erlang
当我们给supervisor指定需要创建的子进程的时候,会指定M,F,A,如果是simple_one_for_one的策略的话,启动子进程的方式是supervisor:start_child(SupName, OtherArgs),这种方式可以根据调用者的需求传不同的参数给需要启动的子进程的方法。和最初的参数合并成一个数组,A ++ OtherArgs。那么这个时候就有个问题了,既然参数不一致,那