- 使用 C# 实现 FTP 上传的方法,包括详细的代码示例和测试代码
zhxup606
李工篇C#实战教程c#开发语言
以下是使用C#实现FTP上传的方法,包括详细的代码示例和测试代码。以下代码使用System.Net.FtpWebRequest实现文件上传,并附带一个简单的测试用例。C#FTP上传方法csharpusingSystem;usingSystem.IO;usingSystem.Net;publicclassFtpClient{//////上传文件到FTP服务器//////FTP服务器地址,例如ftp:
- C# 单问号 ? 与 双问号 ??
三分明月墨
C#
https://www.runoob.com/csharp/csharp-nullable.html
- 一文读懂 IP 证书:与 SSL 证书的差异及独特价值
Arwen303
tcp/ipssl网络协议
一、核心定义与基础功能IP证书是由权威CA机构颁发的数字证书,直接绑定到公网IP地址而非域名,为通过IP直接访问的服务提供加密和身份验证。其核心功能包括:数据加密:通过SSL/TLS协议对传输数据进行对称加密(如AES),防止中间人攻击。身份验证:验证IP地址的控制权归属,确保通信双方的真实性。SSL证书(基于域名)则是为域名设计的证书,通过域名验证所有者身份,实现HTTPS加密。两者均依赖公钥加
- tablespace Encryption Convert Default 表空间加密 数据文件并行加密
jnrjian
数据库sql
三个命令一样,其实加密就是加密的datafile头CREATETABLESPACEtps_secENCRYPTIONDEFAULTSTORAGE(ENCRYPT);createtablespacetestencryptionusing'AES256'DEFAULTSTORAGE(ENCRYPT);createtablespacetestencryptionusing'AES256'ENCRYPT;
- 使用@RequestBodyAdvice处理客户端的加密请求体
SpringBoot中文社区
业务场景:客户端把json数据进行加密后,编码成Base64字符串,提交给服务器。服务器再进行解密。使用@RequestBodyAdvice,可以在不修改任何Controller代码的前提下,轻松完成。之前写过一篇帖子,使用@ResponseBodyAdvice统一对响应的数据进行处理。演示了,使用ResponseBodyAdvice统一对响应给客户的json进行AES加密。RequestBody
- 使用阿里云 ESA 边缘函数转发代理 docker registry
ESADockerRegistryProxy这是一个基于AlibabaESA(EdgeSecurityAcceleration)的DockerRegistry转发代理,为中国大陆用户提供更快的Docker镜像下载服务,并实现镜像白名单功能以增强安全性。开源地址:https://github.com/jqknono/esa-registry-proxy功能特性DockerRegistry代理:转发D
- C# 安全高效玩转内存:深入剖析 Span 的本质
bpluo42657
算法
在C#开发中,你是否曾为以下问题困扰?需要处理多种内存(数组、栈内存、非托管内存)但写法各异大量数组切片操作导致复制开销使用unsafe指针时如履薄冰Span正是为解决这些问题而生的利器!它提供了一种统一、安全且高效的内存操作方式。一、Span的本质:内存的“安全视图”Span的核心价值在于它自身不拥有内存,而是为现有内存提供类型安全且高性能的视图。csharp//1.基于数组的视图byte[]b
- Python密码学库之pycryptodome使用详解
Rocky006
python开发语言
概要pycryptodome是一个功能强大的Python密码学库,是pycrypto库的现代化替代品。它提供了全面的密码学功能,包括对称加密、非对称加密、哈希算法、数字签名等。该库具有良好的性能、安全性和易用性,广泛应用于网络安全、数据保护、身份验证等领域。安装1、安装命令pipinstallpycryptodome2、验证安装from Crypto.Cipher import AESfrom C
- Java开发:Spring Boot的配置加密与解密
AI开发架构师
javaspringboot开发语言ai
Java开发:SpringBoot的配置加密与解密关键词:SpringBoot、配置加密、Jasypt、敏感数据保护、AES加密、环境安全、配置管理摘要:本文深入探讨了在SpringBoot应用中实现配置加密与解密的完整方案。我们将从安全需求分析开始,详细介绍Jasypt库的使用方法,剖析AES加密算法原理,并通过实际案例展示如何在生产环境中安全地管理数据库密码、API密钥等敏感配置信息。文章还涵
- 零侵入加解密方案:Spring Boot + Jasypt + AOP实现敏感数据自动保护
1.添加依赖在pom.xml中添加Jasypt和AOP依赖:com.github.ulisesbocchiojasypt-spring-boot-starter3.0.5org.springframework.bootspring-boot-starter-aop2.配置Jasypt在application.yml中配置加密密钥和算法:jasypt:encryptor:password:your_
- 总结三类非对称加密算法
0x00前言网络中存在两大类加解密算法-对称加密和非对称加密。对称加密例如DES、AES、TEA、RC4等算法,对称加密的特性使得和服务器交互的客户端也必须知道密钥,所以在一般在应用中(例如安卓的APK)通过逆向手段能够轻松获取加解密密钥,从而解密网络数据(所以外面的免费wifi可不能乱连接,一不小心不法份子就能够获取到你的私人信息)。为了增强加密强度,出现了非对称加密算法,例如RSA、DH、EC
- 对称加密算法和非对称加密算法区别
对称加密算法加密和解密使用同一个密钥。发送方用密钥加密数据,接收方用相同的密钥解密数据。优点:比非对称加密算法更高效,适合处理大量数据。缺点:使用同一个秘钥,如果密钥泄露就没了信息安全。常见算法:DES:较老,已被AES取代3DES:DES的改进版本,安全性更高但效率较低AES:高效且广泛非对称加密算法每个用户拥有一对密钥,●公钥(PublicKey):用于加密数据,公钥公开表示谁都可以加密给我发
- C#注释技巧与基础编程示例
无规则ai
C#c#算法开发语言
以下是一个包含基础注释的C#程序示例,展示了C#中各类注释的使用方法:usingSystem;namespaceBasicCSharpProgram{//////Program类是应用程序的入口点///包含Main方法作为程序执行的起点///publicclassProgram{//程序入口点,程序从这里开始执行//args参数接收命令行传入的参数publicstaticvoidMain(stri
- 前后端AES加解密,java使用CipherOutputStream加密输出时,前端分段解密方案
running17
前端javascript安全
如果java输出的数据是使用CipherOutputStream按1024(假设)个字节加密输出的,那么如果前端也必须按照1024个字节分段进行解密,不然将会解密失败,以下是前端的具体解密逻辑:前端依赖:详细逻辑:convertWordArrayToUint8Array为将CryptoJs解密后的wordArray对象转化为保存文件可用的Uint8Array的字节流对象,下方会使用到functio
- Python 6 - 2
.YYY
Python基础知识python面试开发语言云计算网络
目录12.接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed"→"abcde"→“edcba"。【源代码】13.接收用户输入的一句英文,将其中的单词以反序输H,"hellocsharp"_"sharpchello".【源代码】14.从请求地址中提取出用户名和域名http://www.163.com?userName=admin&pwd=123456【源代码】15.
- 【加解密与C】Rot系列(四)Rot8000
阿捏利
加解密与Cc语言Rot8000
Rot8000简介Rot8000是一种基于Unicode字符集的旋转加密算法,类似于经典的Rot13,但扩展到了更大的字符范围(通常是Unicode的基本多语言平面,即U+0000到U+FFFF)。Rot13仅适用于26个拉丁字母,而Rot8000通过覆盖更多字符(如中文、符号等),增强了加密的灵活性和趣味性。Rot8000加密原理Rot8000的核心思想是将每个Unicode字符的码点值加上0x
- AES加密算法简要介绍
° 安如少年初如梦662
Java学习记录后端前端
前言项目中需要在接口中添加加密,简单了解关于AES的有关知识,低质低创见谅。什么是AESAES(AdvancedEncryptionStandard,高级加密标准)是一种对称加密算法,被广泛应用于数据加密领域。它是由美国国家标准与技术研究院(NIST)于2001年发布,作为一种公开标准,用于保护电子数据的安全。值得一提的是微信小程序的加密传输就是用这个加密算法基本原理和加解密过程由于站内有很详细,
- 学习小结记录
歪歪驴
学习网络
一、TLS(TransportLayerSecurity)握手是建立安全通信通道的关键过程,确保客户端与服务器之间的通信加密和身份验证。以下是TLS1.2和TLS1.3的握手流程详解及对比:TLS1.2握手流程目标:协商加密套件、交换密钥、验证身份步骤:1.ClientHello-客户端发送支持的TLS版本、加密套件列表(如`AES256-GCM-SHA384`)、随机数(ClientRandom
- https交互原理
黑塞123
Modernc++https网络协议
Https交互时序图:HTTPS通信中结合RSA和AES加密的流程,本质是利用RSA的安全特性交换AES密钥,再用高效的AES加密实际数据传输。HTTPS交互核心流程(TLS/SSL握手)1.建立TCP连接客户端通过TCP三次握手连接服务器的443端口。2.TLS/SSL握手(密钥协商阶段)ClientHello客户端发送支持的功能列表:TLS版本、支持的加密套件(如TLS_RSA_WITH_AE
- python 密码学 模块_Python加密与解密 No module named 'Crypto'
weixin_39827304
python密码学模块
DES加密全称为DataEncryptionStandard,即数据加密标准,是一种使用密钥加密的块算法入口参数有三个:Key、Data、ModeKey为7个字节共56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密3DES(即TripleDES)是DES向AES过渡的加密算法使用两个密钥,执行三次DES算法加密的过程是
- Python 报错:ModuleNotFoundError: No module named ‘Crypto‘
Crypto报错解决方案Python报错:ModuleNotFoundError:Nomodulenamed'Crypto'前言问题解决方案Python报错:ModuleNotFoundError:Nomodulenamed‘Crypto’前言Crypto是一个加密模块,它包含了多种加密算法,如AES、DES、RSA等。它不是Python标准库的一部分,需要使用pip安装。pycrypto和Cry
- 非对称加密算法(RSA、ECC、SM2)——密码学基础
对称加密算法(AES、ChaCha20和SM4)Python实现——密码学基础(Python出现Nomodulenamed“Crypto”解决方案)这篇的续篇,因此实践部分少些;文章目录一、非对称加密算法基础二、RSA算法2.1RSA原理与数学基础2.2RSA密钥长度与安全性2.3RSA实现工具与库2.4RSA的局限性三、椭圆曲线密码学(ECC)3.1ECC原理与数学基础3.2常用椭圆曲线标准3.
- 【干货】pythonJA3指纹绕过
kisloy
爬虫逆向python爬虫
requests/scrapyJA3指纹绕过requests绕过importrequestsimportrandomfromrequests.adaptersimportHTTPAdapterfromrequests.packages.urllib3.util.ssl_importcreate_urllib3_contextORIGIN_CIPHERS=("ECDH+AESGCM:DH+AESGC
- 【2024网鼎杯 青龙组 crypto ASE & 凯撒 writup】
牛排烧鸡
python开发语言
importgmpy2fromhashlibimportsha256fromCrypto.CipherimportAESfromCrypto.Util.PaddingimportunpadimportbinasciifromCrypto.Util.numberimportlong_to_bytes#题目已知的参数n=0xfffffffffffffffffffffffffffffffebaaedce
- JAVA工具类AES加密,模式:CBC(开箱即用)
一行一步
没有那么多废话,我知道这是一个简单的加密工具类,但是网上的工具类很杂,我这至少保证全都是自己试验过的可以直接使用!/***AES加密工具模式:CBC补码方式:PKCS5Padding*@authorAdministrator**/publicclassAESCBCUtils{//加密publicstaticStringencrypt(StringsSrc,StringencodingFormat,
- 值得推荐的五大文件加密系统
Synfuture阳途
安全
在当今数字化时代,文件加密系统已成为企业和个人用户保护数据安全的重要工具,本文将为您介绍五款备受推崇的文件加密系统。1.阳途文件加密系统阳途文件加密系统采用先进的Windows驱动层加密技术,在不影响员工正常办公的前提下,对文件进行自动加解密处理。系统支持多种加密模式,可以满足不同用户在不同场景下的加密需求;系统可以设置不能级别的访问权限,确保敏感数据不被未经授权的用户访问;系统支持解密外发和防泄
- python爬虫-国家企业信用信息公示系统_GitHub - yong771/Crack-JS: Python3爬虫项目进阶实战、JS加解密、逆向教程 - 犀牛数据 | 美团美食 | 企名片 | 七麦...
日向夕阳
Crack-JSPython3爬虫实战、JS加解密、逆向教程犀牛数据|美团美食|企名片|七麦数据|淘大象|梦幻西游藏宝阁|漫画柜|财联社|中国空气质量在线监测分析平台|66ip代理|零度ip|国家企业信用信息公示系统|中国产品大目录Author咸鱼微信公众号咸鱼学PythonIntroduce数据解密、反爬处理、逆向教程一、代码配套说明目录JS解密案例│├──lingduip//-----零度ip
- 【加解密与C】Base系列(六)Base45
Base45编码简介Base45是一种基于ASCII字符的编码方式,主要用于紧凑地表示二进制数据(如二维码中的内容)。它由45个可打印字符组成,包括数字、大写字母及部分符号,优化了数据压缩率和可读性。Base45字符集Base45使用以下45个字符(按顺序排列):0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$%*+-./:每个字符对应一个数值(0-44),编码时将二进制
- 海量文件快速复制(断点续传+验证+快速)
古承风
运维linux
#本地rsync-az--partial--append-verify--info=progress2--exclude="*.ext"/源目录//目标目录/#跨机器rsync-az-e"
[email protected]"--info=progress2--exclude="*.ext"user@remote:/源目录//本地目录/
- 【加解密与C】Rot系列(二)Rot13
Rot13简介Rot13(Rotateby13places)是一种简单的字母替换加密算法,属于凯撒密码(Caesarcipher)的特例。它将字母表中的每个字母替换为字母表中距离它13个位置的字母。例如,字母A替换为N,B替换为O,以此类推。由于英文字母有26个字符,Rot13的特点是加密和解密使用相同的算法。Rot13算法规则对字母表中的每个字母,进行如下替换:大写字母A-Z:A→N,B→O,…
- 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。那么这个时候就有个问题了,既然参数不一致,那