
随手笔记
文章平均质量分 66
Joker_Coding
只有那些疯狂到认为自己可以改变世界的人,才可以真的改变世界!
展开
-
IDEA搭建Mybatis Generator逆向工程
一、pom.xml增加插件 org.mybatis.generator mybatis-generator-maven-plugin 1.3.2 true true 二、配置generator.propertitesjdbc.driverLocation=D:\\maven_repository\\mysql\\原创 2017-03-08 18:01:35 · 403 阅读 · 1 评论 -
提高MySQL千万级大数据SQL查询优化30条经验
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id fro转载 2017-03-17 13:53:53 · 367 阅读 · 0 评论 -
getInputStream/getReader() has already been called for this request
getInputStream/getReader() has already been called for this request一、背景定义了一个安全校验过滤器,现在要获取请求参数。通过request.getParameter获取请求参数,然而这种方式只能获取POST方式中的Content-Type: application/x-www-form-urlencoded。通过request.原创 2017-11-07 18:35:52 · 18268 阅读 · 1 评论 -
BloomFilter(大数据去重)+Redis(持久化)策略
BloomFilter(大数据去重)+Redis(持久化)策略背景之前在重构一套文章爬虫系统时,其中有块逻辑是根据文章标题去重,原先去重的方式是,插入文章之前检查待插入文章的标题是否在ElasticSearch中存在,这无疑加重了ElasticSearch的负担也势必会影响程序的性能!BloomFilter算法简介:布隆过滤器实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索原创 2017-11-10 15:43:06 · 28032 阅读 · 7 评论 -
Mybatis批量插入更新数据
注解(@Mapper中)@Insert("" + "INSERT INTO lhy_user_rank(user_id, account_id, total_rank, count_date)" + "VALUES" + "" + "(#{userRank.userId}, #{userRank.accountId}, #{userRank.totalRank}, #{userRa原创 2017-02-07 10:20:30 · 517 阅读 · 0 评论 -
开放API接口签名验证,让你的接口从此不再裸奔
接口安全问题请求身份是否合法? 请求参数是否被篡改? 请求是否唯一?AccessKey&SecretKey (开放平台)请求身份为开发者分配AccessKey(开发者标识,确保唯一)和SecretKey(用于接口加密,确保不易被穷举,生成算法不易被猜测)。 防止篡改参数签名按照请求参数名的字母升序排列非空请求参数(包含AccessKey),使原创 2018-02-03 18:16:01 · 44748 阅读 · 12 评论 -
突破微信小程序模板消息限制,实现无限制主动推送
需求背景基于微信的通知渠道,微信小程序为开发者提供了可以高效触达用户的模板消息能力,在用户本人与小程序页面有交互行为后触发,通过微信聊天列表中的服务通知可快捷进入查看消息,点击查看详情还能跳转到下发消息的小程序的指定页面。 微信小程序允许下发模板消息的条件分为两类:支付或者提交表单。通过提交表单来下发模板消息的限制为“允许开发者向用户在7天内推送有限条数的模板消息(1次提交表单可下发1条原创 2018-02-07 16:44:33 · 5294 阅读 · 4 评论