自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(142)
  • 收藏
  • 关注

转载 参考微信公众平台的加解密接口实现方式

一、应用场景我们在工作开发中可能经常要和其它部门或者第三方进行API对接,那么如何保证我们提供的API和对接方能够安全的数据传输呢。这就需要用到接口加密的方式来保障安全。本文主要介绍的内容就是一种比较靠谱的公众平台API加密实现方式。供大家参考。二、技术介绍开放平台的消息加密解密技术方案基于AES加解密算法来实现,具体如下:1. EncodingAESKey即消息加解密K...

2019-09-18 16:07:00 821

转载 springboot+lucene实现公众号关键词回复智能问答

一、场景简介  最近在做公众号关键词回复方面的智能问答相关功能,发现用户输入提问内容和我们运营配置的关键词匹配回复率极低,原因是我们采用的是数据库的Like匹配。这种模糊匹配首先不是很智能,而且也没有具体的排序功能。为了解决这一问题,我引入了分词器+Lucene来实现智能问答。二、功能实现本功能采用springboot项目中引入Lucene相关包,然后实现相关功能。前提大...

2019-09-06 15:39:00 464

转载 开放平台API接口安全策略汇总

在设计开放平台接口过程中,往往会涉及接口传输安全性相关的问题,本文对接口加密及签名的相关知识做了一个总结,在方便自己查阅的同时也分享给大家做一些参考。接口安全性问题思考接口安全性问题主要来源于几方面考虑:1.防伪装攻击即请求来源是否合法?(案例:在公共网络环境中,第三方 有意或恶意 的调用我们的接口)2.防篡改攻击(案例:在公共网络环境中,请求头/查询字符串/内容 在传输...

2019-08-30 17:19:00 758

转载 云服务AppId或AppKey和AppSecret生成策略

App key和App SecretApp key简称API接口验证序号,是用于验证API接入合法性的。接入哪个网站的API接口,就需要这个网站允许才能够接入,如果简单比喻的话:可以理解成是登陆网站的用户名。App Secret简称API接口密钥,是跟App Key配套使用的,可以简单理解成是密码。App Key 和 App Secret 配合在一起,通过其他网站的协议要求,...

2019-08-27 16:53:00 3651

转载 springboot+mybatisplus+sharding-jdbc分库分表实例

项目实践现在Java项目使用mybatis多一些,所以我也做了一个springboot+mybatisplus+sharding-jdbc分库分表项目例子分享给大家。要是用的springboot+jpa可以看这篇文章:https://www.cnblogs.com/owenma/p/11364624.html其它的框架内容不做赘述,直接上代码。数据准备装备两个数据库。...

2019-08-22 16:17:00 528

转载 springboot+jpa分库分表项目实例

分库分表场景关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。分库分表用于应对当前互联网常见的两个场景——大数据量和高并发。通常分为垂直拆分和水平拆分两种。垂直拆...

2019-08-16 16:15:00 1276

转载 JWT的优点和实现Token认证的安全问题

JWT的优点和实现Token认证的安全问题一、什么是JWTJWT——Json web token是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准,可实现无状态、分布式的Web应用授权。二、我们为什么需要JWT?首先,当前后端分离时我们会因为同源策略而无法设置cookie和sessionid。当然了我们有很多方式去解决这个问题,比如反向代理和jsonp...

2019-07-27 14:23:00 1787

转载 Python之Flask框架项目Demo入门

Python+Flask框架项目Demo入门  本例子用到了Flask+蓝图+Flask-Login+SQLAlchemy+WTForms+PyMySQL相关架构Flask Web框架介绍  Flask是微型web框架,框架本身十分精简,微型并不代表其功能弱,核心代码基于Werkzeug, Jinja 2 这两个库,它以插件形式的进行功能扩展,且插件易于安装与使用,并且...

2019-07-24 16:37:00 725

转载 Redis的Sorted-Sets排行榜功能实现

Redis的ZSet排行榜功能实现1. 功能需求  类似给用户n张图片, 用户左滑不喜欢右滑喜欢。所以每个用户就会有一些喜欢的图片集合和不喜欢的图片集合。现在我们要做一个将按照一个算法将喜欢的排到前面。算法 ctr = (喜欢数+20)/ (喜欢数+不喜欢数+20),所有的内容按照这个算法的结果进行排行榜排序。2. Redis sorts sets简介  Sorted-...

2019-07-19 10:40:00 235

转载 MongoDB查询修改操作语句命令大全

MongoDB查询更新操作语句命令大全查询操作1、条件操作符<, <=, >, >= 这个操作符就不用多解释了,最常用也是最简单的db.collection.find({ "field" : { $gt: value } } ); // 大于: field > valuedb.collection.find({ "field" : { $lt: ...

2019-04-28 15:18:00 160

转载 SpringBoot读取war包jar包Resource资源文件解决办法

SpringBoot读取war包jar包Resource资源文件解决办法场景描述在开发过程中我们经常会碰到要在代码中获取资源文件的情况,而我在最近在SpringBoot项目中时碰到一个问题,就是在本地运行时,获取本地的xml资源文件是能够获取到的,但是项目打成war包jar包启动运行时,就会发生问题,报找不到资源文件的错误。然后经过寻找排查确定了是下面代码通过ClassLoa...

2019-03-05 16:51:00 511

转载 云服务器ECS挖矿木马病毒处理和解决方案

云服务器ECS挖矿木马病毒处理和解决方案最近由于网络环境安全意识低的原因,导致一些云服务器ECS中了挖矿病毒的坑。总结了一些解决挖矿病毒的一些思路。由于病毒更新速度快仅供参考。1、查看cpu爆满的进程cpu占用率100%, 用top 查看cpu1002、杀死进程kill -9 pid 杀死进程后,过一分钟该进程又起来了或者删掉此进程 cpu还...

2019-02-25 14:07:00 369

转载 Java下载https文件上传到阿里云oss服务器

Java下载https文件上传到阿里云oss服务器今天做了一个从Https链接中下载音频并且上传到OSS服务器,记录一下希望大家也少走弯路。一共两个类:1 、实现自己的证书信任管理器类/** * @author mazhq * @Title: X509TrustUtiil * @ProjectName: zeus * @Description: 证书信...

2019-02-22 20:59:00 554

转载 Spring boot实现监听Redis key失效事件实现和其它方式

需求:处理订单过期自动取消,比如下单30分钟未支付自动更改订单状态用户绑定隐私号码当订单结束取消绑定等解决方案1:可以利用redis自带的key自动过期机制,下单时将订单id写入redis,过期时间30分钟,30分钟后检查订单状态,如果未支付,则进行处理但是key过期了redis有通知吗?答案是肯定的。开启redis key过期提醒修改redis相关事件配置。...

2019-02-22 18:03:00 265

转载 Win10安装Mysql5.7数据库

Win10安装Mysql5.7数据库最近做个demo在自己本地装了一个mysql5.7,有些小麻烦记录一下。安装环境:系统是 windows 101、官网下载    下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-winx64.zip    下载版本:我这里选择的mysql-5.7.25,...

2019-01-30 16:03:00 116

转载 2018年的个人总结

2018年迟来的总结时光荏苒 岁月如梭  2018年是我职业生涯改变的重要一年, 也是互联网寒冬年还有贸易战。这一年注定不平凡。工作上  在B2B安逸的工作环境中我作出了不安逸的决定–跳槽。2018年后回来开始准备面试, 全北京城到处跑面了很多家,优先选择互联网企业。拿了不少offer,互联网公司通病就是加班了。不过还能接受,毕竟不强制,工作效率优先。...

2019-01-22 15:13:00 141

转载 Redis分布式锁实现简单秒杀功能

这版秒杀只是解决瞬间访问过高服务器压力过大,请求速度变慢,大大消耗服务器性能的问题。主要就是在高并发秒杀的场景下,很多人访问时并没有拿到锁,所以直接跳过了。这样就处理了多线程并发问题的同时也保证了服务器的性能的稳定。接下来我们使用redis的分布式锁来进行枷锁处理:我们可以在进入下单的方法后将核心的方法加锁,然后离开后进行解锁主要三步:加锁核心方法解锁首页...

2018-12-24 14:22:00 131

转载 SpringBoot导入excle文件数据

本文主要描述,Springboot框架下上传excel,处理里面相关数据做逻辑分析,由于用到的是前后端分离技术,这里记录的主要是后端java部分,通过与前端接口进行对接实现功能1.在pom.xml文件中导入注解,主要利用POI<dependency> <groupId>org.apache.poi</groupId> ...

2018-12-10 20:57:00 118

转载 Linux后台日志定时清理脚本

一、 简介  linux是一个很能自动产生文件的系统,日志、邮件、备份等。虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情。不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧。二、 分析日志查看日志路径和日志命名规则:要清理这个目录下面如此...

2018-09-11 16:20:00 386

转载 IntelliJ IDEA自定义类和方法注解模板

现在Java开发主流工具应该是Intelij Idea 方便快捷.本文将主要介绍如何用Intelij Idea配置类及方法的注释模板提高代码注释效率1. 配置类注解模板找到配置页面File -> Settings -> Editor -> File and Code Templates -> Includes -> File Header...

2018-08-28 16:27:00 148

转载 MySQL分页查询大数据量优化方法

方法1: 直接使用数据库提供的SQL语句语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N适应场景: 适用于数据量较少的情况(元组百/千级)原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limit限制的是从结果集的M位置处取出N条输出,其余抛弃.方法2: 建立主...

2018-08-07 09:59:00 141

转载 ElasticSearch安装和head插件安装

本文主要介绍elasticsearch5.0安装及head插件安装。确保系统已经安装好jdk1.8以上,操作系统CentOS6以上。一、elasticsearch安装配置1.官网下载源码包下载不同版本技巧:复制下载链接修改版本号!https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch...

2018-07-11 19:16:00 114

转载 SpringBoot全局异常处理方式

每个项目全局异常处理非常重要,今天在处理项目架构的时候添加了一个全局异常处理。大概三种异常情况:一:在进入Controller之前,譬如请求一个不存在的地址,404错误。二:在执行@RequestMapping时,进入逻辑处理阶段前。譬如传的参数类型错误。三:以上都正常时,在controller里执行逻辑代码时出的异常。譬如NullPointerException。一...

2018-07-10 16:01:00 108

转载 Redis高级命令操作大全--推荐

redis安装和使用redis安装wget http://download.redis.io/redis-stable.tar.gztar zxvf redis-stable.tar.gzcd redis-stable.tar.gzmakemake install  redis启动redis-serverredis关闭...

2018-07-05 16:12:00 107

转载 Mysql中FIND_IN_SET和REPLACE函数简介

一 FIND_IN_SET()SELECT * from u_user where FIND_IN_SET('32',tags)上面的sql是精确查找,查找表中tags中含有32的记录(注意这里的含有不是说13268这样也是含有,而是23,32,35,36这样才是含有),只有当tags这一列中记录是用逗号分开中的tags含有32.不能够说查找("32,33",t...

2018-07-03 16:17:00 479

转载 微信分享签名Java代码实现

最近写了一个小微信签名功能,记录一下希望用到的朋友可以参考下。RestController@RequestMapping("/api/wx")public class WeixinAction { private static final Logger logger = LoggerFactory.getLogger(WeixinAction.class)...

2018-06-28 19:16:00 317

转载 MySQL查询in操作排序

in操作排序先说解决方案:select * from test where id in(3,1,5) order by field(id,3,1,5); 或许有人会注意过,但我以前真不知道 SQL: select * from table where id IN (3,6,9,1,2,5,8,7); 这样的情况取出来后,其实,id还是按1,2,3,4,5,6,7,...

2018-06-12 14:45:00 100

转载 MongoDB排序异常

com.mongodb.MongoQueryException: Query failed with error code 96 and error message 'Executor error during find command: OperationFailed: Sort operation used more than the maximum 33554432 bytes o...

2018-05-29 09:18:00 589

转载 使用svn无法cleanup和lock问题

step1: 到 sqlite官网 (http://www.sqlite.org/download.html) 下载 sqlite3.exe 找到 Precompiled Binaries for Windows,点击sqlite-shell-win32-x86-3080500.zip下载,300KB左右 step2: 将下...

2018-04-26 13:06:00 104

转载 IntelliJ IDEA安装配置

1.从官网安装最新版IntelliJIdea软件。2.激活使用http://www.3322.cc/soft/37661.html3.配置eclipse快捷键File-->Settings-->keymap 即可以设置4.设置字体File-->Settings-->Editor-->Font转载于:http...

2018-04-20 11:57:00 88

转载 CAP原理和BASE思想和ACID模型

问题的解读对于上面三个例子,相信大家一定看出来了,我们的终端用户在使用不同的计算机产品时对于数据一致性的需求是不一样的:1、有些系统,既要快速地响应用户,同时还要保证系统的数据对于任意客户端都是真实可靠的,就像火车站售票系统2、有些系统,需要为用户保证绝对可靠的数据安全,虽然在数据一致性上存在延时,但最终务必保证严格的一致性,就像银行的转账系统3、有些系统,虽然向用户展示...

2018-04-05 17:45:00 102

转载 Mysql B-Tree, B+Tree, B*树介绍

【摘要】最近在看Mysql的存储引擎中索引的优化,神马是索引,支持啥索引.全是浮云,目前Mysql的MyISAM和InnoDB都支持B-Tree索引,InnoDB还支持B+Tree索引,Memory还支持Hash.今天从最基础的学起,学习了解BTree,B-Tree和B+Tree。【主题】B-Tree 介绍B-Tree 特性搜索插入等B+Tree 介绍...

2018-04-05 17:27:00 118

转载 java海量大文件数据处理方式

1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。s 遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中。这样每个小文件的大约为...

2018-04-05 17:03:00 143

转载 RandomAccessFile读取文本简介

RandomAccessFile类的常用的操作方法1、public RandomAccessFile(File file, String mode)throws FileNotFoundException构造方法 接收File类的对象,指定操作路径,但是在设置时需要设置模式:"r": 只读、"w": 只写、"rw": 读写。2、public RandomAccessFil...

2018-04-05 16:53:00 180

转载 ConcurrentHashMap1.7和1.8的不同实现

ConcurrentHashMap在多线程环境下,使用HashMap进行put操作时存在丢失数据的情况,为了避免这种bug的隐患,强烈建议使用ConcurrentHashMap代替HashMap,为了对ConcurrentHashMap有更深入的了解,本文将对ConcurrentHashMap1.7和1.8的不同实现进行分析。1.7实现数据结构jdk1.7中采用Segme...

2018-04-05 16:20:00 82

转载 Java并发中的CopyOnWrite容器

  Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteAr...

2018-04-05 14:55:00 83

转载 Java阻塞队列的实现

阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得空闲起来,如从队列中移除一个或者多个元素,或者完全清空队列,下图展示了如何通过阻塞队列来...

2018-04-05 13:24:00 59

转载 JVM之Java虚拟机详解

这篇文章解释了Java 虚拟机(JVM)的内部架构。下图显示了遵守Java SE 7 规范的典型的 JVM 核心内部组件。上图显示的组件分两个章节解释。第一章讨论针对每个线程创建的组件,第二章节讨论了线程无关组件。线程JVM 系统线程每个线程相关的程序计数器栈本地栈栈限制栈帧局部变量数组操作数栈动态链接线程共...

2018-04-03 09:34:00 70

转载 Spring AOP的实现原理

AOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等等。AOP实现的关键在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态代理,静态代理的代表为AspectJ;而动态代理则以Spring AOP为代表。本文会分别对AspectJ和Spr...

2018-04-02 11:22:00 70

转载 SpringMVC工作原理

SpringMVC的工作原理图:SpringMVC流程1、 用户发送请求至前端控制器DispatcherServlet。2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherSe...

2018-04-02 11:09:00 72

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除