5 不才黄某

尚未进行身份认证

暂无相关描述

等级
博文 15
排名 112w+

如何优雅地过滤敏感词

敏感词过滤功能在很多地方都会用到,理论上在Web应用中,只要涉及用户输入的地方,都需要进行文本校验,如:XSS校验、SQL注入检验、敏感词过滤等。今天着重讲讲如何优雅高效地实现敏感词过滤。敏感词过滤方案一先讲讲笔者在上家公司是如何实现敏感词过滤的。当时毕竟还年轻,所以使用的是最简单的过滤方案。简单来说就是对于要进行检测的文本,遍历所有敏感词,逐个检测输入的文本中是否含有指定的敏感词。这种方...

2018-08-05 22:40:41

聊聊Java动态代理(上)

前言在之前的文章《聊聊设计模式之代理模式》中,笔者为大家介绍了代理模式,在这里简单回顾一下。代理模式的作用是提供一个代理来控制对一个对象的访问,因此我们可以很方便地实现对一个对象的延迟加载,或者在调用一个对象的方法时加入一些业务逻辑。然而之前介绍的代理模式属于静态代理,其缺点是如果目标接口改变了,则目标类跟代理类都会受影响,不太灵活。不过在Java中还有一种代理模式叫动态代理,可以弥补静态代理...

2018-08-05 19:17:49

聊聊设计模式之策略模式

前言这几天大部分同学应该都过完年陆陆续续回到工作岗位了,说到过年,最开心的莫过于与家人团聚了,当然除了与家人团聚,最令人振奋的事情就是发年终奖了。说到发年终奖,那可真是几家欢喜几家愁啊。今天我们要谈的不是年终奖的多少,说多了都是泪啊,我们来聊聊年终奖怎么算。年终奖怎么算,相信每个人心里都比较清楚,因为入职的时候一般都会跟HR谈好年终奖的细节。但是对于财务部的人来说就比较头疼了,毕竟他们要算的可...

2018-08-05 19:05:11

深入浅出HTTPS

前言在之前的文章《深入浅出密码学(上)》、《深入浅出密码学(中)》与《深入浅出密码学(下)》中,沉思君为大家介绍了密码学中一些重要的概念,例如:加密、单向散列函数、消息认证码与数字签名等,如果不太清楚的朋友可以点击文章链接进行阅读。今天我们要讲的是密码学的一个非常广泛且重要的应用——HTTPS。在讲解HTTPS前,我们先来讲下HTTP。HTTP的名称是超文本传输协议,其特点是无状态性、不安...

2018-08-05 17:52:29

深入浅出Unix IO模型

前言在介绍UnixIO模型之前,我们先来说说什么是IO。根据维基百科的定义,IO 指的是输入输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出。简而言之,从硬盘中读写数据或者从网络上收发数据,都属于IO行为。以数据输入为例,一个输入操作,通常可以分为2个阶段: 等待操作系统内核把数据准备好 将数据从操作系统内核复制到用户进程空间 这里有一个问题就是...

2018-07-29 00:33:20

聊聊设计模式之代理模式

前言代理模式的目的是提供一个代理来控制对一个对象的访问。那么,我们为什么需要控制对一个对象的访问呢?或者说控制对一个对象的访问有什么好处呢?在日常工作中,大家应该会遇到过以下这些问题:一个对象的加载时间太长或者太耗费资源,因此我们需要在必要的时候再加载它;一个对象运行在其他计算机上,而我们需要调用该对象的某些方法;我们可能还需要拦截一个对象的某些方法,并在该方法前后加入一些业务逻辑……以上问题...

2018-07-27 23:46:35

聊聊设计模式之模板方法模式

导语模板方法模式是指在父类中定义好算法的骨架,而把具体的算法步骤交给子类去实现的一种设计模式。模板方式模式可以在不改变算法整体骨架的情况下,对算法的某些步骤进行定制或者对算法的某些步骤进行复用。背景在详细介绍模板方法模式之前,我们先引入一个背景进行说明。相信大家都使用过JDBC操作过关系型数据库,我们先回忆一下使用JDBC的大致步骤是什么。 首先,我们需要先创建connectio...

2018-07-27 23:37:57

深入浅出密码学(下)

前言在之前的文章《深入浅出密码学(上)》与《深入浅出密码学(中)》,笔者为大家介绍了密码学中的加密、单向散列函数与消息认证码的概念与应用。这里带大家简单回顾一下,在网络通信中,消息存在被窃听的风险,因此我们需要对消息进行加密来防止消息被窃听。而如果我们需要保证消息的完整性或一致性,则可以使用单向散列函数。而单向散列函数的局限性是无法对通信双方进行认证,即无法证明某条消息是某个人发出的,因此我们...

2018-07-21 16:37:01

深入浅出密码学(中)

前言 在之前的文章《深入浅出密码学(上)》中,笔者为大家简要介绍了密码学中的加密跟单向散列函数的概念与应用。在这里先简单回顾下,由于网络通信过程中存在信息被窃听的风险,因此需要通过加密来防止窃听以保护信息安全。此外,在网络通信中数据还存在被篡改的风险,因此我们还需要有一种机制能够识别数据是否被篡改,而单向散列函数正是能够识别数据一致性或完整性的一种机制。然而单向散列函数不能解决的一个问题是...

2018-07-21 16:17:37

谈谈Mysql索引优化不得不提防的坑

前言 在之前的文章《聊聊Mysql优化之索引优化》中,笔者简单介绍了Mysql索引优化的原理和一些使用场景,然而Mysql索引优化的内容还远远不止这些。在实际工作中,我们有时候会碰到明明已经建了索引,但是查询速度还是上不去的问题,这时候就要当心了,有可能你的查询语句根本就没使用到索引,因为Mysql索引在某些情况下会失效,今天我将为大家介绍下Mysql索引优化中不得不提防的坑。 为...

2018-07-21 13:55:09

深入浅出密码学(上)

前言无论你有没有意识到,日常生活中我们几乎每天都在跟密码学打交道。只要你接触过互联网,那么基本上离不开密码学。举个最简单的例子,现在的很多网站都是通过HTTPS协议进行通信的,而支撑着HTTPS协议正常运行的正是密码学这一理论基础。作为程序员,我们更是有必要了解下密码学的一些基本理论及其背后的原理。本文将通过通俗易懂的语言为大家介绍下密码学的概念,希望大家看完能够对密码学有初步的认识。 ...

2018-07-21 13:50:06

谈谈HTTP状态保持

HTTP协议本身是无状态的,无状态的意思是浏览器发起的每个HTTP请求,对于服务端而言都是彼此独立的,即服务端无法直接通过HTTP协议将用户的多次HTTP请求联系在一起。这就好比顾客跟自动售货机的关系一样,无论你在一台自动售货机上购买了多少次商品,自动售货机都没法“记住”你,也就是说你每一次在该售货机上购买商品的时候,自动售货机都会把你当成一个陌生的顾客来对待。然而在Web应用的很多场景下需要...

2018-07-21 13:45:36

聊聊Mysql优化之索引优化

索引是存储引擎用于快速找到记录的一种数据结构。尤其是当表的数据量越来越大的时候,正确的索引对查询性能的提升尤为明显。但在日常工作中,索引却常常被忽略,甚至被误解。本文将为大家简单介绍下Mysql索引优化的原理与注意事项。一、索引的类型1)B-Tree索引B-Tree索引是用的最多的索引类型了,而且大多数存储引擎都支持B-Tree索引。B-Tree本身是一种数据结构,其是为磁盘或其他...

2018-07-21 13:42:43

警惕知识微商

不知大家最近有没有发现一个现象,随着知识付费产品的流行,针对知识付费的营销也开始大行其道了。就拿前阵子某互联网大V的知识星球来说,很多人可能之前连他是谁都不知道,但是冲着邀请成功有佣金可拿,一大批公众号号主不遗余力地帮着宣传,我的朋友圈跟聊天框都相继沦陷了。当然,如果是好东西,安利一下我觉得无可厚非,甚至是值得提倡的。可是你安利归安利,发个朋友圈也就罢了,有必要群发给微信好友吗?一个人发也就罢了,...

2018-06-27 22:19:44

Spring IOC的一些高级特性

介绍SpringIOC的一些高级特性,以及使用建议。

2017-01-15 22:14:08
奖章
    暂无奖章