采用CloudFlare进行飞牛NAS的远程访问【安全免费】无需公网IP、端口号,NAS外网访问新方法_网络存储_什么值得买sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<
kuberay 安装和使用
CHEN_RUI_2200
数据库
KubeRay是一个基于Kubernetes的项目,旨在简化在Kubernetes上部署和管理Ray集群的过程。先贴点正确的废话:1.简化集群管理KubeRay提供了一个易于使用的界面和工具,允许用户快速创建、配置和管理Ray集群,而不需要深入了解底层Kubernetes的细节。2.自动化部署通过使用Kubernetes的自定义资源定义(CRD),用户可以通过简单的YAML配置文件来定义Ray集群
【python学习】loguru日志库用法大全!附代码示例
NLP仙人
pythonpython学习开发语言
Loguru是一个用于Python的简单且强大的日志库。它的目标是使日志记录变得简单和优雅,同时提供许多有用的功能。Loguru的主要特点包括:简单易用:不需要复杂的配置,开箱即用。丰富的功能:支持异步日志、日志文件轮转、日志格式化、过滤器等。优雅的语法:通过logger对象的直接方法调用记录日志。下面通过代码演示Loguru的几个最核心的功能:安装Loguru可以通过pip安装Loguru:pi
【Python】 使用pygame库实现新年烟花
Nerous_
pythonpygame开发语言
祝大家金蛇衔财,蛇来运转首先,确保你已经安装了pygame库。如果还没有安装,可以通过以下命令安装:pipinstallpygame接下来是烟花效果的Python代码:importpygameimportrandomimportmathimportsys#初始化pygamepygame.init()#设置窗口尺寸和颜色WIDTH,HEIGHT=800,600screen=pygame.displa
Scala在大数据和分布式计算领域的应用与优势
夜色呦
scala大数据开发语言
大数据和分布式计算是当今信息技术领域的热点话题,它们处理着海量数据并需要高效的计算能力。Scala,作为一种多范式编程语言,因其在并发编程和函数式编程方面的优势,成为大数据和分布式计算领域的理想选择。本文将探讨Scala在这些领域的应用,并分析其带来的优势。1.大数据和分布式计算的挑战在大数据时代,数据量呈指数级增长,传统的数据处理方法已经无法满足需求。分布式计算提供了一种解决方案,通过在多个物理
oracle数据库无法open,报“ORA-01113 file 1 needs media recovery”错误,教你用“六脉神剑”来开库
老苏畅谈运维
oracle数据恢复数据库oracle运维
作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。在系统断电或数据库异常宕机后,数据库启动过程中可能出现ORA-01113ORA-01110这些错误,而你又没有备份,未开归档或者归档已经被删除了,那要怎么办呢?启动报错如下:SQL>startup;FixedSiz
mongodb php 日志分析,MongoDB Slowquery慢查询日志分析平台
抱玉于浮光
mongodbphp日志分析
简介MongoDB的慢SQL日志是记录到业务库的system.profile表里,当线上DB运行缓慢时,开发通常联系DBA去排查问题,那么可以将这种机械化的工作,做成一个平台化、可视化的工具出来,让开发在网页里点点鼠标即可查看数据库运行状况,这将大大提高工作效率,降低对DBA的依赖。参考了Perconapt-mongodb-query-digest工具抓取分析的展示思路,并用PHP重构,将分析结果
python动态全局缓存配置
king9666
python缓存
在内存中缓存配置,但提供手动或自动刷新机制。使用文件的修改时间戳(mtime)来判断文件是否更新,只有在文件更新时重新读取importosimportjson_cached_config=None_cached_config_mtime=Nonedefread_config():global_cached_config,_cached_config_mtimeconfig_file=os.path
Git 2.45.0-64官方安装包(24.4.29新发布)百度网盘
mangoac
资源分享安装包网盘资源git分布式微信小程序
官网下载也太慢了还很容易中断找了找网上的网盘资源版本都比较旧了所以分享给大家希望能方便一点~链接:https://pan.baidu.com/s/1utDID9Kdnf5aRvrqHZXzBA?pwd=dmyy提取码:dmyy
[补题]C. Light Switches
Flower#
题解/补题c语言c++算法
C.LightSwitches思路:注意到有周期为2∗k2*k2∗k的周期性,所以需要做的就是先排序(也可以不排序,只需要找到最晚安装芯片的房间即可),最晚的芯片安装时间为an−1a_{n-1}an−1,则答案区间为[an−1,an−1+k)[a_{n-1},a_{n-1}+k)[an−1,an−1+k)然后枚举前面的每个房间的芯片安装时间,根据周期性可以判断该房间的灯在答案区间内的状态,据此不断
【Python】探索自然语言处理的利器:THULAC 中文词法分析库详解
技术无疆
Python人工智能自然语言处理人工智能python数据挖掘机器学习深度学习神经网络
THULAC(THULexicalAnalyzerforChinese)是清华大学开发的一款中文词法分析工具,集成了分词和词性标注两大功能。THULAC拥有强大的分词能力和高效的词性标注,适用于多种中文文本处理场景。该工具能够在保证高准确率的同时保持较快的处理速度,非常适合大规模中文数据处理。⭕️宇宙起点THULAC的特点安装与配置1.使用pip安装2.使用GitHub源码安装♨️使用方法1.分词
Mongodb 慢查询日志分析 - 1
草明
mongodbmongodbpython数据库
Mongodb慢查询日志分析使用mloginfo处理过的日志会在控制台输出,显示还是比较友好的.但是如果内容较大,就不方便查看了,如果可以导入到excel就比较方便筛选/排序.但是mloginfo并没有提供生成到excel的功能.可以通过一个python脚本辅助生成:importpandasaspdimportre#定义文件路径mloginfo_output_file="mloginfo_outp
【Prometheus】【 Blackbox Exporter】CentOS 上安装 Blackbox Exporter 的操作步骤
张声录1
prometheus实战prometheuscentoslinux
目录1.下载BlackboxExporter1.1下载稳定版二进制文件1.2解压文件1.3移动可执行文件⚙️2.配置BlackboxExporter2.1创建配置文件2.2添加基础配置️3.创建Systemd服务3.1创建systemd单元文件3.2添加以下内容3.3重新加载Systemd3.4检查服务状态4.验证BlackboxExporter是否正常运行4.1访问Web界面5.在Prometh
Python软件打包工具Pyinstaller
码农NoError
人工智能python自然语言处理智能对话智能闲聊人工智能
需求:我们需要把自己使用python开发好的程序发给朋友体验一下这就需要让朋友安装python的解释器,安装程序所需要的python包,最最最重要的是还要考虑版本兼容问题,特别麻烦。此时如果我们能给别人一个exe软件直接双击运行就好多了,那么就需要用到今天介绍的python程序打包工具pyinstaller了。1、安装pyinstaller首先安装pyinstaller,使用安装命令:pipins
RDD 算子全面解析:从基础到进阶与面试要点
天冬忘忧
Sparkspark大数据
Spark的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客Spark的Standalone集群环境安装与测试-CSDN博客PySpark本地开发环境搭建与实践-CSDN博客Spark程序开发与提交:本地与集群模式全解析-CSDN博客SparkonYARN:Spark集群模式之Yarn模式的原理、搭建与实践-CSDN博客Spark中RDD的诞生:原理、操作与分区规则-CSDN博客Spar
解决Docker国内网络问题
小Hier
docker容器运维
6月后以来,大量Docker镜像网站停服,Docker无法下载安装本仓库致力于解决国内网络原因无法使用Docker的问题。特点:使用GithubAction将官网的安装脚本/安装包定时下载到本项目Release,供国内使用官方安装包,安全可靠每天自动定时同步,保证最新github链接还有一个是转存docker镜像DockerTarBuilder一个视频解决Docker安装,Pull,找镜像等难题D
深入理解 `mmap`:高效的文件访问机制
蜗牛沐雨
c++python
在现代编程中,文件操作是不可或缺的一部分。随着数据量的增加,如何高效地读取和写入文件变得尤为重要。mmap(Memory-MappedFile)是一种高效的文件访问机制,它允许将文件或设备映射到进程的地址空间中,使得文件操作就像操作内存一样简单和高效。本文将详细介绍mmap的工作原理、使用方法及其在Python和C语言中的实现。1.mmap的用途mmap的主要用途包括:高效文件访问:通过将文件映射
linux-centos安装Mysql5.7
就一个码农
linuxcentosadb
文章目录一、下载包和前期配置1.下载外部商店wget2.下载mysql的yum仓库文件包3.用来检查依赖关系;并不是真正的安装4.测试是否有MySQL包5.配置MySQLGPG密钥6.安装MySql二、MySql服务相关1.开机自启动mysql2.开启mysql服务3.关闭mysql服务4.查看mysql服务状态5.重启mysql服务三.密码配置1.默认密码2.进行登录3.密码修改注意1.开启33
node-exporter安装
fanqiliang630
kubernetesdockeryamlcentoszabbix
node-exporter可以提供相当丰富的系统资源指标,在指标收集中有举足轻重的地位。编写文章之时所参考的文档和相关操作都是有效的,但是软件版本更新很快,不应完全照抄。1.node-exporter部署:参考博客:https://www.wqblogs.com/2020/04/17/k8s%E9%83%A8%E7%BD%B2node-exporter/#%E4%BA%A4%E4%BB%98nod
【ComfyUI专栏】ComfyUI部署质谱CogVideo自定义节点生成视频效果
雾岛心情
ComfyUIAIGC
智谱是一家北京的科技公司,通过提供了各类对话助手和文生图、文生视频等等各类的AI功能,大家可以通过访问网站来了解到质谱的产品,目前有非常多的不同的智谱产品。智普提供了多个不同的AI解决方案,目前能够在ComfyUI中运行的是文生是视频方案CogVideo。ChatGLMhttps://github.com/THUDM/ChatGLM3CogVLMhttps://github.com/THUDM/C
将Python程序打包为Windows安装包
bicart
服务器linuxpython开发语言windows前端
本文使用创作助手。如果你想将Python程序打包为Windows安装包,你可以使用NSIS(NullsoftScriptableInstallSystem)工具。NSIS是一个免费的Windows安装包创建工具。以下是使用NSIS将Python程序打包为Windows安装包的步骤:首先,确保你已经安装了NSIS。你可以从官方网站(https://nsis.sourceforge.io/Downlo
探索GigaChat与LangChain的完美结合:深度解析与实战指南
asdfujhgy
langchaineasyui前端python
探索GigaChat与LangChain的完美结合:深度解析与实战指南引言在人工智能的领域中,语言模型和嵌入技术正逐步改变我们与数据交互的方式。GigaChat作为一种创新的AI嵌入服务,结合LangChain可以提供强大的文本嵌入功能,促进自然语言处理任务的完成。本篇文章将带你深入了解如何结合GigaChat与LangChain进行文本嵌入,并提供实用的代码示例与解决方案。主要内容GigaCha
由于直接提供完整的游戏商城代码超出了简单回答的范围,并且游戏商城的实现可以相当复杂,涉及前端展示、后端逻辑、数据库设计等多个方面,我会分别用几种流行的编程语言和技术栈概述如何开始搭建一个基本的游戏商城
编程小飞侠a
游戏前端数据库
前端(HTML/CSS/JavaScript+React)React示例:fengbaoshun.com首先,你需要安装Node.js和npm(Node包管理器),然后使用CreateReactApp来快速启动你的前端项目。bashnpxcreate-react-appgame-store-frontendcdgame-store-frontendnpmstart接下来,你可以使用React组件来
使用R语言绘制日历热图
CyberXZ
r语言开发语言R语言
使用R语言绘制日历热图日历热图是一种可视化工具,用于显示时间序列数据的模式和趋势。这种图表通常使用颜色编码来表示数据值的大小,从而使我们能够快速识别出高值和低值。在R语言中,我们可以使用ggplot2包来创建漂亮且可定制化的日历热图。首先,确保已经安装了ggplot2包。如果没有安装,可以使用以下命令进行安装:install.packages("ggplot2")接下来,我们将使用一个示例数据集来
WAF相关知识及安全狗的部署和绕过_安全狗waf拦截规则
2401_86951318
安全网络
2)工具检测二:安全狗使用指南(一)安全狗的下载(二)安全狗的安装(三)安全狗绕过一:WAF基础知识(一)WAF简介WAF即Web应用程序防火墙通过过滤和监视Web应用程序与Internet之间的HTTP通信来帮助保护Web应用程序,WebApplicationFirewall(WEB应用防护系统)。WAF与传统的Firewall(防火墙)不同,WAF针对的是应用层。WAF可以用来屏蔽常见的网站漏
ios内付费
374016526
ios内付费
近年来写了很多IOS的程序,内付费也用到不少,使用IOS的内付费实现起来比较麻烦,这里我写了一个简单的内付费包,希望对大家有帮助。
具体使用如下:
这里的sender其实就是调用者,这里主要是为了回调使用。
[KuroStoreApi kuroStoreProductId:@"产品ID" storeSender:self storeFinishCallBa
20 款优秀的 Linux 终端仿真器
brotherlamp
linuxlinux视频linux资料linux自学linux教程
终端仿真器是一款用其它显示架构重现可视终端的计算机程序。换句话说就是终端仿真器能使哑终端看似像一台连接上了服务器的客户机。终端仿真器允许最终用户用文本用户界面和命令行来访问控制台和应用程序。(LCTT 译注:终端仿真器原意指对大型机-哑终端方式的模拟,不过在当今的 Linux 环境中,常指通过远程或本地方式连接的伪终端,俗称“终端”。)
你能从开源世界中找到大量的终端仿真器,它们
Solr Deep Paging(solr 深分页)
eksliang
solr深分页solr分页性能问题
转载请出自出处:http://eksliang.iteye.com/blog/2148370
作者:eksliang(ickes) blg:http://eksliang.iteye.com/ 概述
长期以来,我们一直有一个深分页问题。如果直接跳到很靠后的页数,查询速度会比较慢。这是因为Solr的需要为查询从开始遍历所有数据。直到Solr的4.7这个问题一直没有一个很好的解决方案。直到solr
数据库面试题
18289753290
面试题 数据库
1.union ,union all
网络搜索出的最佳答案:
union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。
Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
2.索引有哪些分类?作用是
Android TV屏幕适配
酷的飞上天空
android
先说下现在市面上TV分辨率的大概情况
两种分辨率为主
1.720标清,分辨率为1280x720.
屏幕尺寸以32寸为主,部分电视为42寸
2.1080p全高清,分辨率为1920x1080
屏幕尺寸以42寸为主,此分辨率电视屏幕从32寸到50寸都有
适配遇到问题,已1080p尺寸为例:
分辨率固定不变,屏幕尺寸变化较大。
如:效果图尺寸为1920x1080,如果使用d
Timer定时器与ActionListener联合应用
永夜-极光
java
功能:在控制台每秒输出一次
代码:
package Main;
import javax.swing.Timer;
import java.awt.event.*;
public class T {
private static int count = 0;
public static void main(String[] args){
Ubuntu14.04系统Tab键不能自动补全问题解决
随便小屋
Ubuntu 14.04
Unbuntu 14.4安装之后就在终端中使用Tab键不能自动补全,解决办法如下:
1、利用vi编辑器打开/etc/bash.bashrc文件(需要root权限)
sudo vi /etc/bash.bashrc
接下来会提示输入密码
2、找到文件中的下列代码
#enable bash completion in interactive shells
#if
学会人际关系三招 轻松走职场
aijuans
职场
要想成功,仅有专业能力是不够的,处理好与老板、同事及下属的人际关系也是门大学问。如何才能在职场如鱼得水、游刃有余呢?在此,教您简单实用的三个窍门。
第一,多汇报
最近,管理学又提出了一个新名词“追随力”。它告诉我们,做下属最关键的就是要多请示汇报,让上司随时了解你的工作进度,有了新想法也要及时建议。不知不觉,你就有了“追随力”,上司会越来越了解和信任你。
第二,勤沟通
团队的力
《O2O:移动互联网时代的商业革命》读书笔记
aoyouzi
读书笔记
移动互联网的未来:碎片化内容+碎片化渠道=各式精准、互动的新型社会化营销。
O2O:Online to OffLine 线上线下活动
O2O就是在移动互联网时代,生活消费领域通过线上和线下互动的一种新型商业模式。
手机二维码本质:O2O商务行为从线下现实世界到线上虚拟世界的入口。
线上虚拟世界创造的本意是打破信息鸿沟,让不同地域、不同需求的人
js实现图片随鼠标滚动的效果
百合不是茶
JavaScript滚动属性的获取图片滚动属性获取页面加载
1,获取样式属性值
top 与顶部的距离
left 与左边的距离
right 与右边的距离
bottom 与下边的距离
zIndex 层叠层次
例子:获取左边的宽度,当css写在body标签中时
<div id="adver" style="position:absolute;top:50px;left:1000p
ajax同步异步参数async
bijian1013
jqueryAjaxasync
开发项目开发过程中,需要将ajax的返回值赋到全局变量中,然后在该页面其他地方引用,因为ajax异步的原因一直无法成功,需将async:false,使其变成同步的。
格式:
$.ajax({ type: 'POST', ur
Webx3框架(1)
Bill_chen
eclipsespringmaven框架ibatis
Webx是淘宝开发的一套Web开发框架,Webx3是其第三个升级版本;采用Eclipse的开发环境,现在支持java开发;
采用turbine原型的MVC框架,扩展了Spring容器,利用Maven进行项目的构建管理,灵活的ibatis持久层支持,总的来说,还是一套很不错的Web框架。
Webx3遵循turbine风格,velocity的模板被分为layout/screen/control三部
【MongoDB学习笔记五】MongoDB概述
bit1129
mongodb
MongoDB是面向文档的NoSQL数据库,尽量业界还对MongoDB存在一些质疑的声音,比如性能尤其是查询性能、数据一致性的支持没有想象的那么好,但是MongoDB用户群确实已经够多。MongoDB的亮点不在于它的性能,而是它处理非结构化数据的能力以及内置对分布式的支持(复制、分片达到的高可用、高可伸缩),同时它提供的近似于SQL的查询能力,也是在做NoSQL技术选型时,考虑的一个重要因素。Mo
spring/hibernate/struts2常见异常总结
白糖_
Hibernate
Spring
①ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException
缺少aspectjweaver.jar,该jar包常用于spring aop中
②java.lang.ClassNotFoundException: org.sprin
jquery easyui表单重置(reset)扩展思路
bozch
formjquery easyuireset
在jquery easyui表单中 尚未提供表单重置的功能,这就需要自己对其进行扩展。
扩展的时候要考虑的控件有:
combo,combobox,combogrid,combotree,datebox,datetimebox
需要对其添加reset方法,reset方法就是把初始化的值赋值给当前的组件,这就需要在组件的初始化时将值保存下来。
在所有的reset方法添加完毕之后,就需要对fo
编程之美-烙饼排序
bylijinnan
编程之美
package beautyOfCoding;
import java.util.Arrays;
/*
*《编程之美》的思路是:搜索+剪枝。有点像是写下棋程序:当前情况下,把所有可能的下一步都做一遍;在这每一遍操作里面,计算出如果按这一步走的话,能不能赢(得出最优结果)。
*《编程之美》上代码有很多错误,且每个变量的含义令人费解。因此我按我的理解写了以下代码:
*/
Struts1.X 源码分析之ActionForm赋值原理
chenbowen00
struts
struts1在处理请求参数之前,首先会根据配置文件action节点的name属性创建对应的ActionForm。如果配置了name属性,却找不到对应的ActionForm类也不会报错,只是不会处理本次请求的请求参数。
如果找到了对应的ActionForm类,则先判断是否已经存在ActionForm的实例,如果不存在则创建实例,并将其存放在对应的作用域中。作用域由配置文件action节点的s
[空天防御与经济]在获得充足的外部资源之前,太空投资需有限度
comsci
资源
这里有一个常识性的问题:
地球的资源,人类的资金是有限的,而太空是无限的.....
就算全人类联合起来,要在太空中修建大型空间站,也不一定能够成功,因为资源和资金,技术有客观的限制....
&
ORACLE临时表—ON COMMIT PRESERVE ROWS
daizj
oracle临时表
ORACLE临时表 转
临时表:像普通表一样,有结构,但是对数据的管理上不一样,临时表存储事务或会话的中间结果集,临时表中保存的数据只对当前
会话可见,所有会话都看不到其他会话的数据,即使其他会话提交了,也看不到。临时表不存在并发行为,因为他们对于当前会话都是独立的。
创建临时表时,ORACLE只创建了表的结构(在数据字典中定义),并没有初始化内存空间,当某一会话使用临时表时,ORALCE会
基于Nginx XSendfile+SpringMVC进行文件下载
denger
应用服务器Webnginx网络应用lighttpd
在平常我们实现文件下载通常是通过普通 read-write方式,如下代码所示。
@RequestMapping("/courseware/{id}")
public void download(@PathVariable("id") String courseID, HttpServletResp
scanf接受char类型的字符
dcj3sjt126com
c
/*
2013年3月11日22:35:54
目的:学习char只接受一个字符
*/
# include <stdio.h>
int main(void)
{
int i;
char ch;
scanf("%d", &i);
printf("i = %d\n", i);
scanf("%
学编程的价值
dcj3sjt126com
编程
发一个人会编程, 想想以后可以教儿女, 是多么美好的事啊, 不管儿女将来从事什么样的职业, 教一教, 对他思维的开拓大有帮助
像这位朋友学习:
http://blog.sina.com.cn/s/articlelist_2584320772_0_1.html
VirtualGS教程 (By @林泰前): 几十年的老程序员,资深的
二维数组(矩阵)对角线输出
飞天奔月
二维数组
今天在BBS里面看到这样的面试题目,
1,二维数组(N*N),沿对角线方向,从右上角打印到左下角如N=4: 4*4二维数组
{ 1 2 3 4 }
{ 5 6 7 8 }
{ 9 10 11 12 }
{13 14 15 16 }
打印顺序
4
3 8
2 7 12
1 6 11 16
5 10 15
9 14
13
要
Ehcache(08)——可阻塞的Cache——BlockingCache
234390216
并发ehcacheBlockingCache阻塞
可阻塞的Cache—BlockingCache
在上一节我们提到了显示使用Ehcache锁的问题,其实我们还可以隐式的来使用Ehcache的锁,那就是通过BlockingCache。BlockingCache是Ehcache的一个封装类,可以让我们对Ehcache进行并发操作。其内部的锁机制是使用的net.
mysqldiff对数据库间进行差异比较
jackyrong
mysqld
mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以用来对比不同数据库之间的表结构,或者同个数据库间的表结构
如果在windows下,直接下载mysql-utilities安装就可以了,然后运行后,会跑到命令行下:
1) 基本用法
mysqldiff --server1=admin:12345
spring data jpa 方法中可用的关键字
lawrence.li
javaspring
spring data jpa 支持以方法名进行查询/删除/统计。
查询的关键字为find
删除的关键字为delete/remove (>=1.7.x)
统计的关键字为count (>=1.7.x)
修改需要使用@Modifying注解
@Modifying
@Query("update User u set u.firstna
Spring的ModelAndView类
nicegege
spring
项目中controller的方法跳转的到ModelAndView类,一直很好奇spring怎么实现的?
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* yo
搭建 CentOS 6 服务器(13) - rsync、Amanda
rensanning
centos
(一)rsync
Server端
# yum install rsync
# vi /etc/xinetd.d/rsync
service rsync
{
disable = no
flags = IPv6
socket_type = stream
wait
Learn Nodejs 02
toknowme
nodejs
(1)npm是什么
npm is the package manager for node
官方网站:https://www.npmjs.com/
npm上有很多优秀的nodejs包,来解决常见的一些问题,比如用node-mysql,就可以方便通过nodejs链接到mysql,进行数据库的操作
在开发过程往往会需要用到其他的包,使用npm就可以下载这些包来供程序调用
&nb
Spring MVC 拦截器
xp9802
spring mvc
Controller层的拦截器继承于HandlerInterceptorAdapter
HandlerInterceptorAdapter.java 1 public abstract class HandlerInterceptorAdapter implements HandlerIntercep