haohao123nana
码龄14年
关注
提问 私信
  • 博客:88,910
    社区:462
    89,372
    总访问量
  • 15
    原创
  • 1,270,466
    排名
  • 1,589
    粉丝
  • 4
    铁粉

个人简介:6年java web开发经验,2年android开发经验

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河南省
  • 加入CSDN时间: 2010-12-26
博客简介:

haohao123nana的专栏

查看详细资料
个人成就
  • 获得50次点赞
  • 内容获得71次评论
  • 获得173次收藏
创作历程
  • 9篇
    2020年
  • 1篇
    2019年
  • 3篇
    2018年
  • 7篇
    2017年
  • 5篇
    2016年
  • 2篇
    2015年
  • 1篇
    2014年
成就勋章
TA的专栏
  • 数据库
    2篇
  • c语言
    1篇
  • android
    3篇
  • java web
    13篇
  • 其他
    3篇
  • 阿里云
    1篇
兴趣领域 设置
  • 大数据
    hadoophivestormsparketl
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Springcloud zuul和shiro结合

一.目标1.外部请求统一从网关zuul进入,并且服务内部互相调用接口要校验权限2.cloud和shiro结合,达到单点登录,和集中一个服务完成权限管理,其他业务服务不需要关注权限如何实现3.其他服务依然可以控制权限细粒度到接口,如在接口上使用@RequirePermisson等注解,方便开发二.思路SpirngCloud zuul网关有两个作用,一个是分配路由,一个是过滤。zuul的过滤器作用有限,只能简单的做一些某个url是否能够访问之类的,无法像shiro一样细粒度到某个用户是否有某种权限;
转载
发布博客 2020.12.10 ·
579 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

用户认证:基于jwt和session的区别和优缺点

背景知识:Authentication和Authorization的区别:Authentication:用户认证,指的是验证用户的身份,例如你希望以小A的身份登录,那么应用程序需要通过用户名和密码确认你真的是小A。Authorization:授权,指的是确认你的身份之后提供给你权限,例如用户小A可以修改数据,而用户小B只能阅读数据。由于http协议是无状态的,每一次请求都无状态。当一个用户通过用户名和密码登录了之后,他的下一个请求不会携带任何状态,应用程序无法知道他的身份,那就必须重新认证。因此我们
转载
发布博客 2020.12.10 ·
284 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

springboot大文件分片上传

发布资源 2020.11.12 ·
rar

redis分布式锁终极代码

博主还有个用于大学生学习英语的项目。其中有个场景是老师和学生不能并发操作的。此时就要使用互斥锁去解决这个问题。因为我们的项目是一个nginx反代5个springboot jar包,所以不能使用synchronized或者Lock。博主选用了redis分布式锁来解决这个问题。但是网上关于redis分布式锁的设计多种多样,纷繁复杂,令人眼花缭乱。最后在参考网站各个大神的资料还有自己压测后,得出了下面的代码。部署上线后,未发现有问题。下面是代码请大家参考指正。redis锁工具代码 :package c
原创
发布博客 2020.11.11 ·
259 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

shiro redis获取在线人数超过1W时,造成redis慢查询问题

博主有个springboot项目有个获取在线人数的需求,session使用的是shiro、redis分布式存储。一开始直接用了 Collection sessions = redisSessionDAO.getActiveSessions();这个方法内部是使用了redis命令中的keys *。keys *命令的原理是扫描整个redis里面所有的key,然后根据通配符模糊查找出来,所以他的时间复杂度是O(N)。在匹配key少的话是没问题的。超过1w的情况下,查询时间能达到10S。因为redis是单线程的,
原创
发布博客 2020.11.11 ·
883 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

记一次项目cpu100%情况解决过程

下午14:29分,运维突然告知,某项目CPU100%,赶紧找到运维开始排查问题一、通过top命令排查出占用线程,发现占用cpu的线程是GC程序见:https://www.cnblogs.com/maohuidong/p/9313729.html二、通过jstat命令查看内存状态,发现full gc达到150多次。此时仍然无法定位问题。三、通过查看异常时间段nginx日志,发现有个接口传的参数异常,日志如下"49.4.43.25"|"www.wqyunpan.c...
原创
发布博客 2020.06.11 ·
916 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

对象池模式

一个对象池包含一组已经初始化过且可以使用的对象,而可以在有需求时创建和销毁对象。池的用户可以从池子中取得对象,对其进行操作处理,并在不需要时归还给池子而非直接销毁它。这是一种特殊的工厂对象。优点复用池中对象,消除创建对象、回收对象 所产生的内存开销、cpu开销以及(若跨网络)产生的网络开销。常见的使用对象池有:在使用socket时(包括各种连接池)、线程、数据库连接池等。缺点现在Java的对象分配操作不比c语言的malloc调用慢, 对于轻中量级的对象, 分配/释放对象的开销可以忽略.
转载
发布博客 2020.05.27 ·
401 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

win10下面c语言环境搭建

发现学校使用的还是上古教材,用的是VC++ 6.0。 但是VC++6.0 并不是很适合新手开发(至于为什么这样说后面会给出原因。 所以还是写一下用传统的方法在win下写程序。毕竟重剑无锋大巧不工,打好基础才是最重要的。 而且学会一门语言并不是学习的目标,理解其编程思想才是重点,当你上手另一门同样范式的语言时,也会毫无压力。 开始吧。 首先,打开浏览器,随便打开一个搜索引擎,比如不用百度。 然后就是这个...
转载
发布博客 2020.05.16 ·
4057 阅读 ·
7 点赞 ·
1 评论 ·
27 收藏

Mysql 之 IOPS、QPS、TPS相关问题总结

IOPS:(Input/Output operations Per Second,既每秒处理I/O的请求次数)IOPS是指存储每秒可接受多少次主机发出的访问,主机的一次IO需要多次访问存储才可以完成,这里提到磁盘读写能力,比如它每秒读100M,写50M.这个说明的是数据吞吐量,而IOPS指的则是每秒处理I/O的请求次数.详细展开来说请求次数就是读80M的文件是一次I/O请求,写1K的的数据也是一次I/O请求,那么IOPS的数值越高自然在一定时间内能接受的相应请求就越多,如果你在深入想一下也会发现这只是理论
转载
发布博客 2020.05.14 ·
534 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Mysql 瓶颈优化

Mysql 瓶颈优化假设一个网站从最开始访问量很小做到日pv千万,我们来推测一下它的mysql服务器架构演变过程。1. 第一阶段网站访问量日pv量级在1w以下。单台机器跑web和db,不需要做架构层调优(比如,不需要增加memcached缓存)。此时,数据往往都是每日冷备份的,但有时候如果考虑数据安全性,会搭建一个mysql主从。2. 第二阶段网站访问量日pv达到几万。此时单台机器已经有...
转载
发布博客 2020.04.16 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

禁用cookie情况下,前端传递当前登录人信息给shiro

有个springboot项目,登录和权限采用shiro管理。某天前端开发人员突然说小程序页面里面无法把cookie 传递给后端, 导致服务器获取登录人信息空指针。百度了一圈不知道怎么搞,最后请教了老大,算是解决了。下面把解决方案记下来前端用问号传参方式传递sessionid后端重写shiro获取sessionid方法原来的 shiro配置DefaultWebSessionManager...
原创
发布博客 2019.05.15 ·
1403 阅读 ·
3 点赞 ·
1 评论 ·
7 收藏

优秀博客收藏(不定期更新)

一、java集合,彻头彻尾理解源码 书呆子Rico https://blog.csdn.net/justloveyou_/article/details/62893086二、设计模式 左潇龙 http://www.cnblogs.com/zuoxiaolong/p/pattern1.html三、spring cloud 纯洁的微笑 http://www.ityouknow.com/...
原创
发布博客 2018.08.24 ·
390 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

HTTP 1.1学习笔记

前言 由于HTTP 1自身的局限性,它不能很好的为用户提供性能良好的WEB服务。于1999年6月正式发布了HTTP1.1标准REC2616,它厘清了之前版本中很多有歧义的地方,而且还新增了很多重要的优化,如持久连接、分块编码传输、状态码扩充、增强的缓存机制、传输编码及请求管道等。本文是个人在学习《WEB性能权威指南》后,又查阅了一些文档资料写的一篇随笔,仅供参考和个人以后查阅。下面将对比http...
转载
发布博客 2018.07.18 ·
421 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

阿里云直播、直播录制和点播

近来公司有个直播类的项目,让我调研下阿里云直播,花了3、4天调研结束后,做下笔记,一方面自己日后便于查看,另一方面与大家做个交流,有说的不正确的。欢迎指正。需求说明:本项目有三个媒体端,分别是app、微信和pc。下面分别讲述下三个媒体端的场景。 - app端是给讲师直播用的 - 微信端是给学员看直播用的 - pc端是给管理员用的下面介绍下阿里云的直播使用: 1.在app端需要推流到...
原创
发布博客 2018.03.08 ·
7660 阅读 ·
1 点赞 ·
7 评论 ·
16 收藏

关于git中Pageant开机启动且自动关联秘钥

Pageant在git中主要负责和服务器端进行身份验证,但是我们每次在启动Pageant后都需要手动的加载秘钥文件,这其实是一个比较烦的过程,我们怎么能够使其自动的完成呢?一、Pageant开机启动(这部分是请教了东立才搞定的)首先打开win7的自启动文件夹,方式 win键->所有程序->启动->右键->打开 ,然后找到pageant.exe的位置,右键->创建快捷方式,目录中就多了一个pagean
原创
发布博客 2017.10.31 ·
5956 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

Linux命令操作

创建文件夹mkdir复制文件夹到另一个文件夹cp -r /home/application/apache-tomcat-8.0.33-2weima-8087/webapps/ /usr/backup/
原创
发布博客 2017.10.27 ·
225 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

公司遗留技术问题

公司遗留技术问题,有兴趣的可以共同探讨下1.即时通信功能(即时聊天), 例如K12项目中学生可以在观看同一视频时可发聊天消息,目前是前端找的插件实现的功能,信息不能保留。 2.网页缓存(前端调一次后端接口,产生一条sql语句,下次再请求相同的sql语句,直接从缓存中拿,不用请求数据库) 例如 对于网站经常被访问首页如何缓存,提高用户体验度。3.大文件上传,分块、断点续传使用什么技术实现4.网站站
原创
发布博客 2017.09.27 ·
325 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

大文件分块上传第三弹(分块并发上传)

继上次大文件分块上传原理第二弹见:http://blog.csdn.net/haohao123nana/article/details/54692669,有童靴说前端分片递归上传效率不高,我试了试前端并发上传。本地上传测试,700M的视频,用递归上传用了4分钟,并发上传用了3分钟,效果还不错后端文件跟第二弹的一样,前端html更改成并发上传分块了html<!DOCTYPE HTML><html>
原创
发布博客 2017.08.17 ·
5257 阅读 ·
2 点赞 ·
3 评论 ·
5 收藏

七牛云云端压缩测试

按照文档提示,直接上最终的代码import com.qiniu.common.QiniuException;import com.qiniu.common.Zone;import com.qiniu.processing.OperationManager;import com.qiniu.storage.Configuration;import com.qiniu.util.Auth;im
原创
发布博客 2017.04.20 ·
1547 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

维护前辈代码,痛并快乐着...

如何修改前辈代码中的bug大家新到一家公司时,很有可能要维护前辈写的代码,如果这个前辈比较吊,代码不会出现任何bug,那我们就皆大欢喜了。但是,如果比较坑,像1000行代码中只有1行注释…这个,你就准备过苦日子吧。喜大普奔的是,博主正好碰到这样的场景,心中一万个草泥马奔腾而过…。为了记住我踩过的坑,也为了避免大家踩坑,我记录一下心得,会不断完善的。尽量不要修改公共代码所谓公共代码,就是被其他代码
原创
发布博客 2017.04.03 ·
914 阅读 ·
0 点赞 ·
2 评论 ·
1 收藏
加载更多