要想用好springboot,不仅仅是知道怎么样用,而且要知道为啥这么用,他是怎么实现这么用的。。
计划写一些列阅读springboot源码的文章,写不写的完再说,反正有时间的话就多看看。
今天就以启动springboot开始来这一系列吧。
more >>给自己定个小目标,例如先写个十年代码,然后考虑再写二十年!
要想用好springboot,不仅仅是知道怎么样用,而且要知道为啥这么用,他是怎么实现这么用的。。
计划写一些列阅读springboot源码的文章,写不写的完再说,反正有时间的话就多看看。
今天就以启动springboot开始来这一系列吧。
more >>阿里巴巴开发手册中的异常处理部分有这么一条:
不要在finally块中使用return
说明:finally块中的return返回后方法结束执行,不会再执行try块中的return语句。
很多同学不知道这一条的具体意义,今天来通过实际代码来说明:
more >>今天在学习《阿里巴巴java代码开发手册》时见到如下一条规则:
【强制】应用中不可直接使用日志系统(Log4j、Logback)中的 API,而应依赖使用日志框架
SLF4J 中的 API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。 import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger logger = LoggerFactory.getLogger(Abc.class);
其中说到了门面模式,正好利用此机会来聊一聊门面模式
more >>这两天睿睿又发热了,每次他生病的时候,老婆总是不知所措,事情如果放到别人身上可能都会理智的对待小孩生病这件事,偏偏到了自己家的时候就会有种病急乱投医的感觉,所以夜里三番五次的起床看看他的温度。
谁说不是这种状况呢!
more >>今天被一篇文章刷了屏,公众号”紫竹张先生“发表了一篇《离职能直接影响中国登月的人才,只配待在国企底层?》的文章引起轰动,尤其是国企内的员工纷纷转发,我也作为国企的一枚员工似乎也能感受到文章中的一点共鸣。
作者不知道出于什么原因已经删除了原文章。
是不是出于保护自己的目的不得为知了,我想作者本人在提笔这篇文章的时候可能没想到会产生这么大的影响。虽然这个事件的本身背景我们不知道,不好评论,但是文章中的一些事实是不可否认的。
以下为找到的原文:
离职能直接影响中国登月的人才,只配待在国企底层?
more >>
事情是这样的,上周人事公布了公司的待办事项排名,我竟然榜上有名,紧接着人事竟然发布新政要求以后必须要及时清理oa的待办事项,如果在整个公司的排名是后100位不能参加绩效评a/s.
虽然我觉得这事本身没必要,我也是不愿意平时工作的时候被各种通知分心的,而如果不得不为这种事情分神的话也太不值得了。
所以我做了如下工作:
more >>在传统的架构中直接使用shiro还是比较方便的,虽然shiro是使用各种接口来调用,但是都默认提供了实现:
例如1
DefaultWebSecurityManager=>DefaultSecurityManager=>SecurityManager=>SessionManager
所以我们甚至都不需要太了解shiro的内部结构,直接简单复制网上的几个配置就可以拿来使用了。正所谓开箱即用。
但是在遇到复杂的应用场景的时候就黔驴技穷了,需要自己深入的研究下shiro的实现方式。
能够百度到的文章千篇一律,最有价值的还是要数 老前辈2014的《跟我学shiro系列》文章了:http://jinnianshilongnian.iteye.com/blog/2018398。
建议如果需要深入学习shiro的话可以学习下作者的文章。
但毕竟是2014年的博客了,对于最近几年的更新换代,尤其是SpringCloud等微服务系列的出现,文章中并没有给出实践,这里就来写写我在SpringCloud中使用shiro的思考。
more >>tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true