- docker-compose部署onlyoffice8.3.0并支持ssl,且支持通过nginx代理,关闭JWT配置
luopeng207663436
dockersslnginx
编写docker-compose文件mkdir-p/data/onlyoffice&&echo"version:'3'services:onlyoffice:container_name:OnlyOfficeimage:onlyoffice/documentserver:8.3.0restart:alwaysports:-8088:80-64431:443environment:TZ:Asia/S
- 使用 LangChain 掌握检索增强生成 (RAG) 的终极指南:1、使用Langchain与RAG构建问答系统
Hugo_Hoo
使用LangChain掌握RAG的指南langchain人工智能AI编程
1.使用Langchain实现基本RAG在本节中,我们将使用OpenAI和Langchain创建一个简单的QARAG。在下面的笔记本中,我们将进一步深入探讨RAG管道的复杂性。%load_extdotenv%dotenvsecrets/secrets.envfromlangchain_community.document_loadersimportPyPDFLoader,DirectoryLoad
- 迅为itop-RK3568指导手册:解锁RK3568芯片的无限潜能
戴瑾靓
迅为itop-RK3568指导手册:解锁RK3568芯片的无限潜能【下载地址】迅为itop-RK3568指导手册迅为itop-RK3568指导手册项目地址:https://gitcode.com/Open-source-documentation-tutorial/a1af8项目介绍在嵌入式开发领域,选择合适的芯片和获取高质量的技术文档是成功的关键。迅为itop-RK3568指导手册正是为此而生。
- 生成网页链接二维码
小雨滴答滴答
html5javascript
生成二维码#qrcode{margin-top:20px;}生成网页链接二维码生成二维码functiongenerateQRCode(){consturl=document.getElementById('urlInput').value;constqrcodeDiv=document.getElementById('qrcode');//清空之前的二维码qrcodeDiv.innerHTML='
- layui获取select 文本_layui下拉框获取下拉值(select)的例子
weixin_39658966
layui获取select文本
layui下拉框获取下拉值(select)的例子如下所示:$(document).ready(function(){layui.use('form',function(){varform=layui.form;form.render();form.on('select',function(data){//alert(data.value);console.log(data.value);});})
- HTML5 Geolocation地理定位
清华小菜
笔记html5
HTML5GeolocationAPI用于获得用户的地理位置。鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。使用getCurrentPosition()方法来获得用户的位置:菜鸟教程(runoob.com)点击按钮获取您当前坐标(可能需要比较长的时间获取):点我varx=document.getElementById("demo");functiongetLocation
- JS Dom元素的获取 事件 this
jingerh126
Web元素事件
一、DOM(文档对象模型)元素获取:1.html/head/body元素的获取console.log(document);//获取的是html元素console.log(document.documentElement);//获取的是html元素document.getElementsByTagName("html")[0];//获取的是html元素console.log(document.hea
- vue实现侧边定位栏
什么什么什么?
前端vue.jsjavascript前端
实现思路:通过点击侧边栏,定位到响应的内容滑动滑动栏,侧边栏同步高亮对应的item效果图如下:1.通过点击侧边栏,定位到响应的内容如果是用html的话我们可以用锚点的办法进行定位;在vue中,我们可以通过获取组件的高度,将滑动栏定位到对应的位置在进入主题之前我们需要先了解3个关于获取高度的属性scrollTop滑动栏中的滑块离视区最顶部的距离document.documentElement.scr
- Geo3D城市引擎大规模建筑植被渲染
苹果园dog
WebGLGIS3d
import*asGeo3Dfrom"../src";importInitHelperfrom"./InitHelper";//3D场景初始化constsceneControl=InitHelper.init3D();constcontainer=document.querySelector("#map")asHTMLElement;container&&sceneControl.render(c
- 向量数据库milvus部署
一方有点方
milvus
官方文档MilvusvectordatabasedocumentationRunMilvusinDocker(Linux)|MilvusDocumentationMilvusvectordatabasedocumentation按部署比较简单,这里说一下遇到的问题一:DockerCompose方式部署1、镜像无法拉取,(docker.io被禁)只能获取以下镜像,image:quay.io/core
- Python工厂模式封装Webhook群聊机器人
忆想不到的晖
python机器人开发语言webhook飞书钉钉
引言企业存在给特定群组自动推送消息的需求,比如:监控报警推送、销售线索推送、运营内容推送等。你可以在群聊中添加一个自定义机器人,通过服务端调用webhook地址,即可将外部系统的通知消息即时推送到群聊中。飞书自定义机器人使用指南:https://open.feishu.cn/document/ukTMukTMukTM/ucTM5YjL3ETO24yNxkjN钉钉自定义机器人使用指南:https:/
- React面试(一)
束尘
vue.jsjavascript前端react.js
文章目录1.vue和react有什么异同2.useEffect中为什么不能使用异步3.useEffect和useLayoutEffect的区别4.react的生命周期5.state和prop的区别6.受控组件和非受控组件7.为什么react16之后不把事件挂载到document上了8.讲一下react的hoc,它可以用来做什么?9.讲一下对reactfiber的理解10.讲一下react.comp
- Linux 常用命令大全及详解
诚信爱国敬业友善
Linuxlinux服务器
在使用Linux系统时,掌握一些常用的命令是非常重要的。这些命令可以帮助我们高效地完成各种任务。本文将介绍30个以上的Linux常用命令,并详细说明它们的作用和用法。一、目录操作命令1.pwd作用:显示当前所在的工作目录的全路径名称。示例:pwd常用参数:无需参数。2.cd作用:更改当前工作目录。示例:cdDocuments常用参数:目标目录名称。3.ls作用:列出指定目录中的文件和子目录名称。示
- 《从零到全栈:JavaScript入门指南(二)》
CodeComposer
javascript前端学习
DOM操作1、DOM基础概念定义:文档对象模型(DocumentObjectModel),将HTML/XML文档解析为树形结构,提供操作页面元素的接口。核心作用:通过JavaScript动态操作网页内容(增删改查元素、样式、属性、事件等)。节点类型:元素节点(如)文本节点(如标签内的文字)属性节点(如class="box")2、document对象入口对象:代表整个文档,提供访问和操作页面的属性和
- Python使用阿里云发送短信的两种方式
菲宇
python项目实战python
参考文档https://help.aliyun.com/document_detail/215764.html安装依赖包pipinstallalibabacloud_tea_openapipipinstallalibabacloud_dysmsapi20170525==2.0.9第一种方式fromaliyunsdkcore.clientimportAcsClientfromaliyunsdkcor
- 使用HyDE进行高效文档检索:原理与实战
eahba
python
近年来,信息检索领域取得了长足的进步,其中HypotheticalDocumentEmbeddings(HyDE)方法引人瞩目。本文将深入解析HyDE的核心原理,并通过实际代码演示,展示如何利用HyDE进行高效的文档检索。一、技术背景介绍HyDE,全称HypotheticalDocumentEmbeddings,是一种增强检索的方法。它的核心理念在于,对输入查询生成一个假设文档,将该文档进行嵌入,
- NVIDIA CUDA Compiler Driver NVCC
Yongqiang Cheng
NVIDIAGPU-CUDA-cuDNNNVIDIACUDACompilerNVCC
NVIDIACUDACompilerDriverNVCC4.2.8.23.`--list-gpu-code`(`-code-ls`)4.2.8.24.`--list-gpu-arch`(`-arch-ls`)Referenceshttps://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/Thedocumentationfornvcc,theCUDA
- JavaScript函数的命名方式
哲子君
jsjavascript
函数的命名方式JavaScript代码服用单位是函数,函数可以包含一段可执行代码,也可以接受调用者传入的参数。JavaScript定义函数主要有以下三种方式:第一种方式:命名函数function函数名(参数列表){//function声明函数的关键字要执行的语句块;}functionmyAge(age){document.write('我的年龄是'+age)//我的年龄是19}myAge(19)/
- DOM编程
晚安720
前端javascript服务器
DOM编程what主要是对页面中标签的增删改查。文档对象模型(DocumentObjectModel,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中。why学习DOM操作就是操作页面中的标签/节点/元素/标记的对节点的操作what:什么是节点?文档是一个文档节点。(页面中的汉字、空格符、特殊符号)所有的HTML元素都是元素
- CSS3过渡效果小练习-进度条
nuomi_w
css3css前端
Document.bar{width:150px;height:15px;border:1pxsolidred;border-radius:7px;}.bar_in{width:50%;height:100%;background-color:red;transition:all0.8s;}.bar:hover.bar_in{width:100%;border-radius:7px;}
- 如何动态向HTML中插入SVG元素(包括Line,path,marker..等)
junzhen_chen
前端HTMLSVGhtmlsvg
1.使用dodument对象创建一个SVG元素marker,为元素引入svg的命名空间(必需引入命名空间,不然浏览器将此元素当做普通html标签插入文档流)varmarker=document.createElementNS("http://www.w3.org/2000/svg","marker");2.使用标签元素对象的setAttribute函数为元素的属性设值marker.setAttri
- flex布局子元素间距问题
萧寂173
csscsscss3前端
Document.father{display:flex;flex-wrap:wrap;gap:20px;/*左右间距和上下间距都是20px*/}.son{width:100px;height:100px;background-color:red;}.father2{display:flex;flex-wrap:wrap;gap:50px20px;/*上下间距50px,左右间距20px*/}.so
- HTML之JavaScript DOM编程获取元素的方式
录大大i
前端HTMLJavaScriptjavascripthtml前端
HTML之JavaScriptDOM编程获取元素的方式1.获得documentDOM树window.document(是window的属性)2.从document中获取要操作的元素1.直接获取varaaa=document.getElementById("username")//根据元素的id值获取页面上的唯一一个元素,有同名的则返回找到的第一个varbbb=document.getElement
- 2.部署kafka:9092
AustinCien
kafkazookeeperelk
官方文档:http://kafka.apache.org/documentation.html(虽然kafka中集成了zookeeper,但还是建议使用独立的zk集群)Kafka3台集群搭建环境:操作系统:centos7防火墙:全关3台zookeeper集群内的机器,1台logstash软件版本:zookeeper-3.4.12.tar.gz软件版本kafka_2.12-2.1.0.tgz安装软件
- Flutter开发者必备面试问题与答案05
flutter
Flutter开发者必备面试问题与答案05视频https://youtu.be/gl0a4QD6KYMhttps://www.bilibili.com/video/BV1RvyZYgEaH/前言原文Flutter完整面试问题及答案05本文是flutter面试问题的第五讲。正文41.FirestoregetDocuments()与snapshots()之间的区别?在Flutter中,getDocum
- CSS 真的会阻塞文档解析吗?从浏览器渲染原理深入探究一下
银之夏雪
css前端浏览器浏览器渲染
在网页开发领域,一个常见的疑问是CSS是否会阻塞文档解析。理解这一问题对于优化网页性能、提升用户体验至关重要。要深入解答这个问题,需要从浏览器渲染网页的原理说起。浏览器渲染网页的基本流程浏览器在接收到HTML文档后,会依次进行以下几个主要步骤:解析HTML:浏览器从网络或本地获取HTML文件,然后开始解析,将HTML代码转换为DOM(DocumentObjectModel,文档对象模型)树。DOM
- CSS实现一张简易的贺卡
StarPlatinum2
简单的CSS程序css前端
效果当你把鼠标移至贺卡上时,贺卡会缓慢打开。代码如下Document*{margin:0;padding:0;box-sizing:border-box;}body{display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;background:#2e3c50;}.card{width:300px
- 深度学习笔记——循环神经网络RNN
好评笔记
补档深度学习rnn人工智能机器学习计算机视觉神经网络AIGC
大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍面试过程中可能遇到的循环神经网络RNN知识点。热门专栏机器学习机器学习笔记合集深度学习深度学习笔记合集文章目录热门专栏机器学习深度学习文本特征提取的方法1.基础方法1.1词袋模型(BagofWords,BOW)工作原理举例优点缺点1.2TF-IDF(TermFrequency-InverseDocumentFr
- 后端导出时前端如何处理
灯光下的投影
导出导出
前段时间在写导出功能,通过后端导出,但是前端要怎么写才能完成这个导出功能呢,上网查了一下,发现还是有不少方法的,最后选择了其中一个比较简单可行的方法,那就是通过创建form表单然后配置相关的参数,最后提交表单,这种方式是同步的,相对简单,当然也有异步方式,但是要复杂一些。下面是我的导出功能代码部分:letformElement=document.createElement('form');//创建
- 使用python接入腾讯云DeepSeek
一个水货程序员
python#fastapi使用笔记python腾讯云fastapi
本文主要从提供SSE方式接入DeepSeek,并通过fastapiwebsocket对外提供接入方法。参考文档:腾讯云大模型:https://cloud.tencent.com/document/product/1759/109380fastAPI官网:https://fastapi.tiangolo.com/WebSocketManager提供WebsocketManager对websocket
- Java常用排序算法/程序员必须掌握的8大排序算法
cugfy
java
分类:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(基数排序)
所需辅助空间最多:归并排序
所需辅助空间最少:堆排序
平均速度最快:快速排序
不稳定:快速排序,希尔排序,堆排序。
先来看看8种排序之间的关系:
1.直接插入排序
(1
- 【Spark102】Spark存储模块BlockManager剖析
bit1129
manager
Spark围绕着BlockManager构建了存储模块,包括RDD,Shuffle,Broadcast的存储都使用了BlockManager。而BlockManager在实现上是一个针对每个应用的Master/Executor结构,即Driver上BlockManager充当了Master角色,而各个Slave上(具体到应用范围,就是Executor)的BlockManager充当了Slave角色
- linux 查看端口被占用情况详解
daizj
linux端口占用netstatlsof
经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序
1、lsof -i:port
port为端口号
[root@slave /data/spark-1.4.0-bin-cdh4]# lsof -i:8080
COMMAND PID USER FD TY
- Hosts文件使用
周凡杨
hostslocahost
一切都要从localhost说起,经常在tomcat容器起动后,访问页面时输入http://localhost:8088/index.jsp,大家都知道localhost代表本机地址,如果本机IP是10.10.134.21,那就相当于http://10.10.134.21:8088/index.jsp,有时候也会看到http: 127.0.0.1:
- java excel工具
g21121
Java excel
直接上代码,一看就懂,利用的是jxl:
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import
- web报表工具finereport常用函数的用法总结(数组函数)
老A不折腾
finereportweb报表函数总结
ADD2ARRAY
ADDARRAY(array,insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。
示例:
ADDARRAY([3,4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7].
ADDARRAY([3,4, 1, 5, 7], "测试&q
- 游戏服务器网络带宽负载计算
墙头上一根草
服务器
家庭所安装的4M,8M宽带。其中M是指,Mbits/S
其中要提前说明的是:
8bits = 1Byte
即8位等于1字节。我们硬盘大小50G。意思是50*1024M字节,约为 50000多字节。但是网宽是以“位”为单位的,所以,8Mbits就是1M字节。是容积体积的单位。
8Mbits/s后面的S是秒。8Mbits/s意思是 每秒8M位,即每秒1M字节。
我是在计算我们网络流量时想到的
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
Spring 3 系列
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- 高性能mysql 之 选择存储引擎(一)
annan211
mysqlInnoDBMySQL引擎存储引擎
1 没有特殊情况,应尽可能使用InnoDB存储引擎。 原因:InnoDB 和 MYIsAM 是mysql 最常用、使用最普遍的存储引擎。其中InnoDB是最重要、最广泛的存储引擎。她 被设计用来处理大量的短期事务。短期事务大部分情况下是正常提交的,很少有回滚的情况。InnoDB的性能和自动崩溃 恢复特性使得她在非事务型存储的需求中也非常流行,除非有非常
- UDP网络编程
百合不是茶
UDP编程局域网组播
UDP是基于无连接的,不可靠的传输 与TCP/IP相反
UDP实现私聊,发送方式客户端,接受方式服务器
package netUDP_sc;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Ine
- JQuery对象的val()方法执行结果分析
bijian1013
JavaScriptjsjquery
JavaScript中,如果id对应的标签不存在(同理JAVA中,如果对象不存在),则调用它的方法会报错或抛异常。在实际开发中,发现JQuery在id对应的标签不存在时,调其val()方法不会报错,结果是undefined。
- http请求测试实例(采用json-lib解析)
bijian1013
jsonhttp
由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。
package com;
import java.util.HashMap;
import java.util.Map;
import
- 【RPC框架Hessian四】Hessian与Spring集成
bit1129
hessian
在【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中介绍了基于Hessian的RPC服务的实现步骤,在那里使用Hessian提供的API完成基于Hessian的RPC服务开发和客户端调用,本文使用Spring对Hessian的集成来实现Hessian的RPC调用。
定义模型、接口和服务器端代码
|---Model
&nb
- 【Mahout三】基于Mahout CBayes算法的20newsgroup流程分析
bit1129
Mahout
1.Mahout环境搭建
1.下载Mahout
http://mirror.bit.edu.cn/apache/mahout/0.10.0/mahout-distribution-0.10.0.tar.gz
2.解压Mahout
3. 配置环境变量
vim /etc/profile
export HADOOP_HOME=/home
- nginx负载tomcat遇非80时的转发问题
ronin47
nginx负载后端容器是tomcat(其它容器如WAS,JBOSS暂没发现这个问题)非80端口,遇到跳转异常问题。解决的思路是:$host:port
详细如下:
该问题是最先发现的,由于之前对nginx不是特别的熟悉所以该问题是个入门级别的:
? 1 2 3 4 5
- java-17-在一个字符串中找到第一个只出现一次的字符
bylijinnan
java
public class FirstShowOnlyOnceElement {
/**Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
* 1.int[] count:count[i]表示i对应字符出现的次数
* 2.将26个英文字母映射:a-z <--> 0-25
* 3.假设全部字母都是小写
*/
pu
- mongoDB 复制集
开窍的石头
mongodb
mongo的复制集就像mysql的主从数据库,当你往其中的主复制集(primary)写数据的时候,副复制集(secondary)会自动同步主复制集(Primary)的数据,当主复制集挂掉以后其中的一个副复制集会自动成为主复制集。提供服务器的可用性。和防止当机问题
mo
- [宇宙与天文]宇宙时代的经济学
comsci
经济
宇宙尺度的交通工具一般都体型巨大,造价高昂。。。。。
在宇宙中进行航行,近程采用反作用力类型的发动机,需要消耗少量矿石燃料,中远程航行要采用量子或者聚变反应堆发动机,进行超空间跳跃,要消耗大量高纯度水晶体能源
以目前地球上国家的经济发展水平来讲,
- Git忽略文件
Cwind
git
有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。使用git status时,会在Untracked files里面看到这些文件列表,在一次需要添加的文件比较多时(使用git add . / git add -u),会把这些所有的未跟踪文件添加进索引。
==== ==== ==== 一些牢骚
- MySQL连接数据库的必须配置
dashuaifu
mysql连接数据库配置
MySQL连接数据库的必须配置
1.driverClass:com.mysql.jdbc.Driver
2.jdbcUrl:jdbc:mysql://localhost:3306/dbname
3.user:username
4.password:password
其中1是驱动名;2是url,这里的‘dbna
- 一生要养成的60个习惯
dcj3sjt126com
习惯
一生要养成的60个习惯
第1篇 让你更受大家欢迎的习惯
1 守时,不准时赴约,让别人等,会失去很多机会。
如何做到:
①该起床时就起床,
②养成任何事情都提前15分钟的习惯。
③带本可以随时阅读的书,如果早了就拿出来读读。
④有条理,生活没条理最容易耽误时间。
⑤提前计划:将重要和不重要的事情岔开。
⑥今天就准备好明天要穿的衣服。
⑦按时睡觉,这会让按时起床更容易。
2 注重
- [介绍]Yii 是什么
dcj3sjt126com
PHPyii2
Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。
Yii 最适合做什么?
Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应
- Linux SSH常用总结
eksliang
linux sshSSHD
转载请出自出处:http://eksliang.iteye.com/blog/2186931 一、连接到远程主机
格式:
ssh name@remoteserver
例如:
ssh
[email protected]
二、连接到远程主机指定的端口
格式:
ssh name@remoteserver -p 22
例如:
ssh i
- 快速上传头像到服务端工具类FaceUtil
gundumw100
android
快速迭代用
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOExceptio
- jQuery入门之怎么使用
ini
JavaScripthtmljqueryWebcss
jQuery的强大我何问起(个人主页:hovertree.com)就不用多说了,那么怎么使用jQuery呢?
首先,下载jquery。下载地址:http://hovertree.com/hvtart/bjae/b8627323101a4994.htm,一个是压缩版本,一个是未压缩版本,如果在开发测试阶段,可以使用未压缩版本,实际应用一般使用压缩版本(min)。然后就在页面上引用。
- 带filter的hbase查询优化
kane_xie
查询优化hbaseRandomRowFilter
问题描述
hbase scan数据缓慢,server端出现LeaseException。hbase写入缓慢。
问题原因
直接原因是: hbase client端每次和regionserver交互的时候,都会在服务器端生成一个Lease,Lease的有效期由参数hbase.regionserver.lease.period确定。如果hbase scan需
- java设计模式-单例模式
men4661273
java单例枚举反射IOC
单例模式1,饿汉模式
//饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton1 {
//私有的默认构造函数
private Singleton1() {}
//已经自行实例化
private static final Singleton1 singl
- mongodb 查询某一天所有信息的3种方法,根据日期查询
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
// mongodb的查询真让人难以琢磨,就查询单天信息,都需要花费一番功夫才行。
// 第一种方式:
coll.aggregate([
{$project:{sendDate: {$substr: ['$sendTime', 0, 10]}, sendTime: 1, content:1}},
{$match:{sendDate: '2015-
- 二维数组转换成JSON
tangqi609567707
java二维数组json
原文出处:http://blog.csdn.net/springsen/article/details/7833596
public class Demo {
public static void main(String[] args) { String[][] blogL
- erlang supervisor
wudixiaotie
erlang
定义supervisor时,如果是监控celuesimple_one_for_one则删除children的时候就用supervisor:terminate_child (SupModuleName, ChildPid),如果shutdown策略选择的是brutal_kill,那么supervisor会调用exit(ChildPid, kill),这样的话如果Child的behavior是gen_