6 叶止水

尚未进行身份认证

我要认证

Github: https://github.com/houbb 邮箱:1060732496@qq.com

等级
TA的排名 136

如何从零开始设计权限管理系统

背景说明近期写代码又开始重新接触了一点控台应用,接触到的项目年代久远,所有的权限管理用起来感觉不是很得心应手。于是想着自己能否从零设计一个,梳理一下思路,当然实际用不用也无所谓。权限管理主要是为了安全,项目中的权限管理是全部放在前端控制的,感觉这一点非常不安全。前端防君子,不防小人。当然本次造轮子主要也是为了打造一款自己满意的权限控制框架,所以设计采用 MVP 模式,采用渐进式的方式开发。可以一起学习一下权限控制的设计和实现思路。如果生产想直接使用,也推荐目前比较成熟的框架:spring-

2020-09-17 23:24:15

税后收入

税后收入我们每个在生活的跌打滚爬的人,都渴望着财富自由。因为我们知道,有钱不是万能的,没有钱是万万不能的。没有钱,连远方的车票都买不到。很多人都渴望暴富,在当前高房价的压力之下难以喘息。对投资一窍不通的,也天天跑去投资理财,怕手中的钱跑不过通胀。随处可见的自主创业心灵鸡汤,幸存者效应让我们看不到那些创业路上的失败者。我们抬起头看着天上的浮云,却少有人看清脚下的路。不论是在公司上班也好,自主创业也罢,我们每个挣钱的人都要面临一个问题,那就是纳税。这件事情基本每一个月都会发生,只是有时候我们习以为常

2020-09-16 21:37:20

面试官:谈一谈你对 redis 分布式锁的理解

​为什么需要分布式锁在 jdk 中为我们提供了多种加锁的方式:(1)synchronized 关键字(2)volatile + CAS 实现的乐观锁(3)ReadWriteLock 读写锁(4)ReenTrantLock 可重入锁等等,这些锁为我们变成提供极大的便利性,保证在多线程的情况下,保证线程安全。但是在分布式系统中,上面的锁就统统没用了。我们想要解决分布式系统中的并发问题,就需要引入分布式锁的概念。锁的准则首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:.

2020-09-10 22:38:45

java 注解结合 spring aop 实现日志traceId唯一标识

MDC 的必要性日志框架日志框架成熟的也比较多:slf4jlog4jlogbacklog4j2我们没有必要重复造轮子,一般是建议和 slf4j 进行整合,便于后期替换为其他框架。日志的使用基本上所有的应用都需要打印日志,但并不是每一个开发都会输出日志。主要有下面的问题:(1)日志太少,出问题时无法定位问题(2)日志太多,查找问题很麻烦,对服务器磁盘也是很大的压力(3)日志级别控制不合理(4)没有一个唯一标识贯穿整个调用链路我们本次主要谈一谈第四个问题。为什么需要唯一标识对于

2020-09-06 22:48:15

ACP 学习-08-DDoS 防护

DDos分布式拒绝服务(Distributed Denial of Service,简称DDoS)将多台计算机联合起来作为攻击平台,通过远程连接利用恶意程序,对一个或多个目标发起DDoS攻击,消耗目标服务器性能或网络带宽,从而造成服务器无法正常地提供服务。攻击原理通常,攻击者使用一个非法账号将DDoS主控程序安装在一台计算机上,并在网络上的多台计算机上安装代理程序。在所设定的时间内,主控程序与大量代理程序进行通讯,代理程序收到指令时对目标发动攻击,主控程序甚至能在几秒钟内激活成百上千次代理程序的运行

2020-09-03 23:27:04

ACP 学习-07-CDN

CDN阿里云内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。阿里云CDN分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度。阿里云CDN将源站资源缓存至阿里云遍布全球的加速节点上,当终端用户请求访问和获取该资源时,无需回源,系统自动调用离终端用户最近的CDN节点上已缓存的资源。目前,CDN部分节点已支持IPv6进行访问。为什么选择阿里云 CDN产品竞争

2020-09-03 23:26:35

ACP 学习-06-对象存储 OSS

对象存储服务对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。定义阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高可靠的云存储服务。其数据设计持久性不低于99.9999999999%(12个9),服务可用性(或业务连续性)不低于99.995%。OSS具有与平台无关的RESTful API接口,您

2020-09-03 23:24:46

ACP 学习-04-负载均衡(Server Load Balancer)

负载均衡负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。概述负载均衡通过设置虚拟服务地址,将添加的同一地域的多台ECS实例虚拟成一个高性能、高可用的后端服务池,并根据转发规则,将来自客户端的请求分发给后端服务器池中的ECS实例。负载均衡默认检查云服务器池中的ECS实例的健康状态,自动隔离异常状态的ECS实例,消除了单台ECS实例的单点故障,提高了应用的整体服务能

2020-09-03 23:23:34

ACP 学习-03-弹性伸缩(Auto Scaling)

弹性伸缩使用弹性伸缩(Auto Scaling),您可以根据业务需求和策略设置伸缩规则,在业务需求增长时自动为您增加ECS实例以保证计算能力,在业务需求下降时自动减少ECS实例以节约成本。弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序。弹性伸缩效果示例您需要提前设置触发弹性伸缩的条件。下图中,监控项为伸缩组内ECS实例的vCPU使用率平均值,并假设触发弹性扩张的阈值为80%,触发弹性收缩的阈值为30%。弹性扩张当您的业务升级时,弹性伸缩为您自动完成底层资源升级,避免

2020-09-03 23:23:06

java 注解结合 spring aop 实现自动输出日志

auto-logauto-log 是一款为 java 设计的自动日志监控框架。创作目的经常会写一些工具,有时候手动加一些日志很麻烦,引入 spring 又过于大材小用。所以希望从从简到繁实现一个工具,便于平时使用。特性基于注解+字节码,配置灵活自动适配常见的日志框架支持编程式的调用支持注解式,完美整合 spring支持整合 spring-boot支持慢日志阈值指定,耗时,入参,出参,异常信息等常见属性指定变更日志核心原理注解定义import ja

2020-09-02 22:20:11

JSP 实战学习笔记-19-expression 表达式语言

JSP 表达式语言JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP EL表达式内可以使用整型数,浮点数,字符串,常量true、false,还有null。一个简单的语法典型的,当您需要在JSP标签中指定一个属性值时,只需要简单地使用字符串即可:<jsp:setProperty name="box" property="perimeter" value="100"/>JSP EL允许您指

2020-08-31 23:15:21

JSP 实战学习笔记-18-JSP 自定义标签

JSP 自定义标签自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作。JSP标签扩展可以让你创建新的标签并且可以直接插入到一个JSP页面。SP 2.0规范中引入Simple Tag Handlers来编写这些自定义标记。你可以继承SimpleTagSupport类并重写的doTag()方法来开发一个最简单的自定义标签。创建"Hello"

2020-08-31 23:14:37

JSP 实战学习笔记-17-JSP 标准标签库(JSTL)

JSP 标准标签库(JSTL)JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。根据JSTL标签所提供的功能,可以将其分为5个类别。核心标签格式化标签SQL 标签XML 标签JSTL 函数JSTL 库安装下载 jarApache Tomcat安装JSTL 库步骤如下:从Ap

2020-08-31 23:13:54

JSP 实战学习笔记-16-jsp session 入门学习

JSP SessionHTTP是无状态协议,这意味着每次客户端检索网页时,都要单独打开一个服务器连接,因此服务器不会记录下先前客户端请求的任何信息。有三种方法来维持客户端与服务器的会话:Cookies网络服务器可以指定一个唯一的session ID作为cookie来代表每个客户端,用来识别这个客户端接下来的请求。这可能不是一种有效的方式,因为很多时候浏览器并不一定支持cookie,所以我们不建议使用这种方法来维持会话。ps: 现在出于安全的考虑,cookies 的读取应该越来越严格。隐藏表单域

2020-08-31 23:12:01

JSP 实战学习笔记-15-jsp cookie 讲解

JSP Cookie 处理Cookie 是存储在客户机的文本文件,它们保存了大量轨迹信息。在 Servlet 技术基础上,JSP 显然能够提供对 HTTP cookie 的支持。识别步骤通常有三个步骤来识别回头客:服务器脚本发送一系列 cookie 至浏览器。比如名字,年龄,ID 号码等等。浏览器在本地机中存储这些信息,以备不时之需。当下一次浏览器发送任何请求至服务器时,它会同时将这些 cookie 信息发送给服务器,然后服务器使用这些信息来识别用户或者干些其它事情。本章节将会

2020-08-31 23:11:12

JSP 实战学习笔记-14-jsp filter 过滤器

JSP 过滤器JSP 和 Servlet 中的过滤器都是 Java 类。过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。可以将一个或多个过滤器附加到一个 Servlet 或一组 Servlet。过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 页面。作用过滤器是可用于 Servlet 编程的 Java 类,可以实现以下目的:在客户端的请求访问后端资源之前,拦截这些请求。在服务器的响应发送回客户端之前,处理这些响应。常见过滤

2020-08-31 23:10:02

JSP 实战学习笔记-13-jsp response 响应

JSP 服务器响应Response响应对象主要将JSP容器处理后的结果传回到客户端。可以通过response变量设置HTTP的状态和向客户端发送数据,如Cookie、HTTP文件头信息等。一个典型的响应看起来就像下面这样:HTTP/1.1 200 OKContent-Type: text/htmlHeader2: ......HeaderN: ... (空行)<!doctype ...><html><head>...</head>&

2020-08-31 23:09:11

JSP 实战学习笔记-12-request 请求

JSP 客户端请求当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信息头的一部分来传送的。您可以查阅HTTP协议来获得更多的信息。下表列出了浏览器端信息头的一些重要内容,在以后的网络编程中将会经常见到这些信息:信息描述Accept指定浏览器或其他客户端可以处理的MIME类型。它的值通常为 image/png 或 image/jpegAccept-Charset指定浏览器要使用的字符集。比如 ISO-8859-1Ac

2020-08-31 23:08:16

JSP 实战学习笔记-11-隐式对象

JSP 隐式对象JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。隐式对象JSP所支持的九大隐式对象:对象描述requestHttpServletRequest 接口的实例responseHttpServletResponse 接口的实例outJspWriter类的实例,用于把结果输出至网页上sessionHttpSession类的实例applicationServl

2020-08-31 23:06:06

JSP 实战学习笔记-10-jsp 动作 actions

JSP 动作元素与JSP指令元素不同的是,JSP动作元素在请求处理阶段起作用。JSP动作元素是用XML语法写成的。利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码。动作元素只有一种语法,它符合XML标准:<jsp:action_name attribute="value" />标注动作元素动作元素基本上都是预定义的函数,JSP规范定义了一系列的标准动作,它用JSP作为前缀,可用的标准动作元素如下:语法

2020-08-30 18:19:55

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。