- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 braum源码分析(五)-braum核心BraumProcessor
开始本篇分析braum的核心process处理流程。这里实现在BraumShieldProcessor里面。缓存的3种key正常key,通过调用formatKey生成。限制key,在正常key的基础上,增加braum_前缀。黑名单key,在正常key的基础上,增加braum_blacklist_前缀。限制访问的条件判断(三个条件)是否要长期禁止,长期禁止的条件是拉黑次数大于定义的f...
2019-08-10 23:32:25 441
原创 braum源码分析(四)-Braum的属性配置及其他
开始本篇主要分析braum的属性配置BraumProperties。BraumPropertiesBraumProperties的属性配置都在braum.limit.access下面。主要有 /** * 连续访问最高阀值,超过该值则认定为恶意操作的IP * 单位:次 默认为20 */ private int threshold = 20; ...
2019-08-10 22:52:30 356
原创 braum源码分析(三)-cache的两种实现
开始本篇开始分析package cache。cacheObjcacheObj用来记录访问数据,有2个属性,其中value用来存储单位时间(某个时间窗口,可以自定义时长)内ip访问次数,expire表示从第一次请求开始到时间窗口结束的时间戳。例如,第一次访问,value=1,expire=当前时间戳+时间窗口长度,也就是期满时间。存储的数据结构为:private static fina...
2019-08-10 22:09:51 154
原创 braum源码分析(二)-EnableBraumConfiguration的实现
开始本篇开始分析EnableBraumConfiguration@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface EnableBraumConfiguration {}对应的autoconfiguration是BraumAutoConfigurati...
2019-08-10 18:03:02 415
原创 braum源码分析(一)-环境配置
##开始本次需要阅读的源码是braum-spring-boot-starter,官方介绍如下:Braum可以很方便的帮助开发人员过滤、识别恶意请求。源码不多,先说说源码环境设置。##导入代码可以用git从https://gitee.com/yadong.zhang/braum-spring-boot-starter下载源码。下载之后导入Idea里面。##源码包结构package ...
2019-08-10 17:39:57 351
原创 was7安装ear失败
问题:was7安装ear失败处理方式:安装was7补丁70035处理步骤:1.下载安装was升级安装程序UpdateInstaller2.下载补丁70035,并使用UpdateInstaller安装补丁详细步骤:1.根据服务器架构,选择不同版本的升级安装程序UpdateInstaller,可以下载最新本,下载地址为:ftp://ftp.software.ibm.com/softwa...
2019-05-28 11:28:05 384
原创 MyEclipse配置svn和maven
MyEclipse配置svn和maven安装svn及meaven的svn插件安装svn及meaven的svn插件下载安装svn插件依次点击help -> install form site 输入以下网址 下载SVN插件 http://subclipse.tigris.org/update_1.8.x下载安装maven插件输入以下网址,下载maven插件 http://sub...
2019-02-27 10:58:04 220
原创 MyEclipse配置svn和maven
安装svn及meaven的svn插件help -> install form site 输入以下网址 下载SVN插件 http://subclipse.tigris.org/update_1.8.x 输入以下网址 下载maven插件 http://subclipse.tigris.org/m2eclipse/1.0
2016-07-27 14:33:27 297
转载 Backbone的使用方法
前言终于到周末了,几经转折老夫工作终于落实,干起了移动前端,于是真正进入了HTML5的开发时代。这周一开始入职,进来后发现真的像农村的来到了城市,很多东西不懂的,又要落实租房的问题,生活工作拧到了一坨。由于上次去河南折腾了一番,经济也在亮红灯,于是第一周有点浑浑噩噩的感觉,还没做什么就结束了。新的团队的人感觉都有点生猛,老同事完全没压力,另一个新同事适应的很快,居然都能进入框架开发
2016-03-19 13:59:05 6885
转载 Backbone源码分析-Backbone架构+流程图
参考资料http://documentcloud.github.com/backbone/ http://www.csser.com/tools/backbone/backbone.js.html 官网介绍Backbone通过提供模型Models、集合Collection、视图Veiew赋予了Web应用程序分层结构。通过以下方式实现分层结构: 模
2016-03-12 13:38:44 352
转载 Backbone和Angular的比较
将不同的思想和工具进行对比,是一种更好地理解它们的方式。在本文中,我首先将列举在创建web应用程序时需要重复进行的各项任务,随后为你展现Backbone和Angular将如何帮助你完成这些工作。我们所尝试解决的问题作为web开发者来说,我们的大部分工作都可以归结于以下的某个类别中:实现业务逻辑构建DOM实现视图逻辑(声明式与命令式)在模型与视图间进行同步
2016-02-27 09:18:01 500
转载 路由与多视图在AnjualrJS中的应用
多视图,路由和布局模板我们的应用正慢慢发展起来并且变得逐渐复杂。在步骤7之前,应用只给我们的用户提供了一个简单的界面(一张所有手机的列表),并且所有的模板代码位于index.html文件中。下一步是增加一个能够显示我们列表中每一部手机详细信息的页面。为了增加详细信息视图,我们可以拓展index.html来同时包含两个视图的模板代码,但是这样会很快给我们带来巨大的麻烦。相反,我们要把
2016-01-23 10:20:01 641
转载 AnjularJs的应用
AngularJS 重新定义了前端应用的开发方式。面对HTML和JavaScript之间的界线,它非但不畏缩不前,反而正面出击,提出了有效的解决方案。很多前端应用的开发框架,比如Backbone、EmberJS等,都要求开发者继承此框架特有的一些JavaScript对象。这种方式有其长处,但它不必要地污染了开发者自己代码的对象空间,还要求开发者去了解内存里那些抽象对象。尽管如此我们还是接受了这
2016-01-16 12:35:40 832
转载 js截屏在neegle web的实现
最近我在研究开发一个火狐插件,具体的功能是将网页内容截屏并分享到微博上。目前基本功能已经实现,大家可以在 @程序师视野 里看到用这个截图插件分享的微博的效果。之前我曾写过如何将canvas图形转换成图片和下载canvas图像的方法,这些都是在为这个插件做技术准备。技术路线很清晰,将网页的某个区域的内容生成图像,保持到canvas里,然后将canvas内容转换成图片,保存到本地,最后上传
2016-01-09 10:47:47 590
转载 socket的应用
TCP/IP要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,定义了主机如何连入因特网及数据如何再它们之间传输的标准,从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议是指因特网整个TCP/IP协议族。不同于ISO模
2015-12-26 08:30:19 329
转载 Websocket服务端实现的方法
Websocket服务端实现的方法WebSocketConfig.java?123456789101112131415161718@Configuration@EnableWebMvc@EnableWebSocketpublicclass
2015-12-12 09:41:47 4742 2
转载 WebSocket在web上的应用
众所周知,socket是编写网络通信应用的基本技术,网络数据交换大多直接或间接通过socket进行。对于直接使用socket的客户端与服务端,一旦连接被建立则均可主动向对方传送数据,而对于使用更上层的HTTP/HTTPS协议的应用,由于它们是非连接协议,所以通常只能由客户端主动向服务端发送请求才能获得服务端的响应并取得相关的数据。而当前越来越多的应用希望能够及时获取服务端提供的数据,甚至希望能够达
2015-12-05 10:15:49 559
转载 xmpp单点登录方法实现
如果JID的resource缺省,则登陆后XMPP服务器会自动分配一个resource,如tigase-10.由于XMPP是支持多点登陆的,所以不同客户端用同一个JID登陆后,服务器会为每一个客户端分配一个不同的resource以区分他们。比如A客户端的resource是tigase-10,B客户端是tigase-11,这时A的客户端的完整jid是borissun@iteye.com/tigase
2015-11-28 10:50:56 1413
转载 xmpp单点登录方法实现
如果JID的resource缺省,则登陆后XMPP服务器会自动分配一个resource,如tigase-10.由于XMPP是支持多点登陆的,所以不同客户端用同一个JID登陆后,服务器会为每一个客户端分配一个不同的resource以区分他们。比如A客户端的resource是tigase-10,B客户端是tigase-11,这时A的客户端的完整jid是borissun@iteye.com/tigase
2015-11-28 10:48:23 807
转载 WebSocket技术在html5中的应用
在HTML5规范中,我最喜欢的Web技术就是正迅速变得流行的WebSocket API。WebSocket提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看HTML5的WebSocket API:它可用于客户端、服务器端。而且有一个优秀的第三方API,名为Socket.IO。一、什么
2015-11-21 12:39:27 608
转载 websocket在web消息推送中的应用
利用websocket和java完成的消息推送功能,服务器用的是tomcat7.0,一些东西是自己琢磨的,也不知道恰不恰当,不恰当处,还请各位见谅,并指出。程序简单来说,就是客户A可以发送消息给客户B,但有很多可以扩展的地方,比如1.如果加入数据库后,A发消息时客户B未上线,服务端将会把消息存在数据库中,等客户B上线后,在将消息取出发送给客户B2.服务端也可发送消息到任意客户端上。
2015-11-13 23:11:31 6555 1
转载 一种基于 HTTP 长连接的“服务器推”技术在web端的应用
“服务器推”技术的应用很多应用譬如监控、即时通信、即时报价系统都需要将后台发生的变化实时传送到客户端而无须客户端不停地刷新、发送请求。本文首先介绍、比较了常用的“服务器推”方案,着重介绍了 Comet - 使用 HTTP 长连接、无须浏览器安装插件的两种“服务器推”方案:基于 AJAX 的长轮询方式;基于 iframe 及 htmlfile 的流方式。最后分析了开发 Comet 应用需
2015-11-07 00:42:36 700
转载 Android Tips
文章转载自github,详细信息参考github更新学习 Android 至今,大大小小的坑没少踩过,庆幸的是,在强大的搜索引擎与无私奉献的人们的帮助下,那些坑都顺利地被填平了。为了日后在遇到同样的问题时,能免于再次搜索带来的麻烦,我养成了收藏书签的习惯,随着书签(Tips)的日积月累,我想,是时候该有这个项目了。如果你是个 Android 新人,又不善于搜
2015-09-25 16:59:23 727
原创 Android之WebView使用简介
WebView1) 两种加载方法 使用布局和不适用布局使用布局的具体的步骤如下package com.xiu.im.demo.ui;import com.xiu.demo.R;import android.app.Activity;import android.app.ProgressDialog;import android.os.Bundle;import an
2014-12-09 16:10:56 303
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人