应用都会打印日志以便于调试和排查问题。一般都会每天新增一个文件打印当天的日志,虽然可能每个文件都不大,但是日积月累,随着日志文件的增多,历史日志文件也会占用大量的磁盘空间。
所以每天定时清除历史日志文件是必须要去做的事。
本文就是介绍在 Linux 下,如何使用 bash脚本 和 crontab定时任务 来清理日志文件
应用都会打印日志以便于调试和排查问题。一般都会每天新增一个文件打印当天的日志,虽然可能每个文件都不大,但是日积月累,随着日志文件的增多,历史日志文件也会占用大量的磁盘空间。
所以每天定时清除历史日志文件是必须要去做的事。
本文就是介绍在 Linux 下,如何使用 bash脚本 和 crontab定时任务 来清理日志文件
本文讲述的是在 springboot 中如何利用外部文件配置数据源。
将数据源的配置信息直接配置在项目中是不安全的,所以将数据源的配置放在外部文件中会安全很多,并且不同环境的数据源也必然不同,
所以放在外部文件中配置也是非常实用的。
Excel的读取相比每个项目中都有用到,本篇有点标题党了,虽然解决了很多坑,但还是有很多不足和无法实现的地方。
本文讲述如何解决excel文件读取时会遇到的问题,使用的是apache的poi组件。
具体的代码示例请参考:https://github.com/kengdingxiaoman/hydralisk-common-toolkit 中的excel读取部分的代码。
每当快到年底的时候都会总结一下今年,展望一下明年。这事儿从2013年开始,至今已经是第5个年头了。
时光飞逝,2017年一眨眼就过去了(每一年好像都是这么说的)。
2016年年底给2017年定的主题是:自律。因为自律是成功的催化剂,是后续一切的基石。
当时给自己定了一些17年要养成的习惯,是时候来检查下了:
总体来说达到了去年此时给17年定的目标。
电视剧和综艺节目看的很少了,只看了《楚乔传》,《鬼吹灯》和《奇葩说》,另外温故了下《武林外传》。《楚乔传》很坑,应该中途果断弃,人性就是这样子,看到一半不看了就感觉之前付出的时间浪费了,结果后面越来越烂,剪的也乱七八糟。
《武林外传》是部好片子,现在再看还是那么经典,大概1,2个月断断续续重新看了一遍。
电影看的比较多,但在烂片上花了太长的时间,再烂片上花再多的时间也没有任何意义。
娱乐新闻和社会新闻基本不关注了,即使是社会热点也没一点兴趣去关注,国家经济政策方面会看几个公众号的文章来了解,已经够了。
上半年一本书没看,很不满意;下半年的情况有所改善,从7月底开始,每天利用通勤的时间看书,现在已经在看第9本了,
17年开始听音频了,而且听的很多,有些质量也很高,但也要学会去取舍,郭德纲的相声陪伴了我很长时间,常常带给那时不开心的我很多快乐,虽然很污但是真的很逗。
9月份孩子上了幼儿园,明显需要投入的精力变多了。
11月份外婆去世了,可能对外婆是种解脱吧,她走的很安详,也让我有一次去思考人活着的意义是什么?。
11月底养了一只小泰迪,起名:小毛球,为家里增添了很多乐趣,晚上可以撸狗了。
上半年去了很多地方,基本每个月都到处玩1,而且都是自驾游。
冬天去松江泡了温泉,3月份和好友去了莫干山;4月份去了海南看了老姐;5月份去了常州,带孩子去了心心念念的恐龙园。
下半年就没怎么出去了,只在10月份公司旅游组织去了一次苏州。
完成换工作的目标,但新的工作并不理想,有一段时期非常的难熬,遇到很多波折,那段时间人的状态非常不好。
不过好在后来心态调整的很好,慢慢的适应着去做。幸好也找到了自己的方向,有了很好的目标,目前在路上,相信会变得很好。
17最重要的就是让自己从不知道自己不知道转变为知道自己不知道,知道自己技术深度很不够,需要多去钻研。
下半年身体开始出现各种毛病,可能涉及多方面因素吧。
咳嗽咳了好久,后来胃又很不舒服了一段时间,还做了胃镜。
10月底的时候发烧挂了好几天点滴。
现在的问题就是心脏有时会隐隐作痛,这是需要去解决的,可能和冠心病有关。
办了健身卡以后还是经常跑步,但后来健身房装修,就中断了,平时的锻炼比较少,还好上下班走路挺多,有时候午饭也会跑到很远的地方,所以还好。
孩子9月份开始上幼儿园,事情明显比上托班时多很多。
下半年的时候生了几次病,发烧了一次。
到了3岁,果然是 trouble three,调皮了很多,特别不听话,目前还有很多不好的习惯和不足的地方。
我的育儿观和育儿方法也要进行升级,针对他的情况多分析分析。
身高问题还是我很担心的问题。
不断精进,延迟享受
2018年给自己定的主题是:蜕变。蜕变的过程注定是痛苦的,因为这是从一种生命形态转换成为另一种生命形态。但我相信在这过程中也一定会伴随着成长带来的巨大喜悦。
理财:原先在自己的5年规划中给2018年定的主题是财富,有些不切实际了,至少还要等个两三年。不过18年确实需要继续理财之路。准备购买几个在线付费的课程,已经有几个候选了,等现在的PPT学完就可以开始学习理财了,估计2月份可以开始了。
英语:英语是自己一直想提高的能力,计划先从购买英语流利说的课程开始,上半年主要去学习这件事情。
练字:16年练过一段时间,但方法不对,没有效果。还是要去掌握原理,去研究方法论。先练字,如果效果理想,之后可以抄写心经,一方面练字,一方面静心,下半年开始吧。
继续保持不看综艺节目,《奇葩说》也是挑人看看就行,不用每个人都看。
一年最多只看两部电视剧,尽量短些,太长的就不用看了。
多看些高质量的电影,减少在烂片上浪费的时间,一般的同类型题材的片子挑选质量高些的来看。
2018年看的书至少要达到15本。已经在另外一篇文章中列出了计划。
减少手机的使用,最初统计是一天3-4个小时的使用,甚至有达到了5,6个小时的情况。通过刻意控制,目前已经减少到2-3个小时了,而且还算上了通勤路上听音频的时间。18年的整体目标是使用时间要控制在2个半小时内。更重要的是要减少使用的频率次数,减少碎片化的时间,这方面还是有很多可以优化的空间。
保持旅行的次数,时不时要出去旅游旅游,至少4次。
春天去一次镇江吧,想去很久了,顺道可以去去扬州,烟花三月下扬州嘛。
夏天看看能不能去一次北京或者横店。
看看能不能有新的机会,新的挑战。还是想去小公司,自己比较适应小公司,简单高效,没有复杂的流程。
新的机会肯定是要去参与管理,而不仅仅是技术,当然技术和管理要两手抓,哪边都不能放。
继续在公众号上写文章,保证每周1~2篇。
研究SpringBoot, SpringCloud 并把心得写到博客上。
开发微信小程序,已经完成设计,进入编码阶段,预计在1月底前可以完成。
开发一个IOS的App,有了设想,还没开始具体设计。
深耕技术,多去了解一些底层的基础知识,已经列了几个目标,在上半年做完。
照顾好身体,减少生病的次数,吃的方面要注意,好好根据自己整理的个人健康准则对照着做。
多锻炼身体,体重控制在 62 ~ 63kg 之间。
需要多放一些精力在育儿上,身高上还是要去解决。
2018年就4岁了,可以学习跆拳道等等了,也可以开始学习编程了,可以适当的加一点计划。
在春节前把育儿手册编写完成,制定好孩子未来5年的一个计划。
就根据希望他成为一个什么样的人为立足点展开。
人生不是代码,没法建立分支,更别说回退,你可以看到过去的所有,但能运行中的始终是当下的实现。所以请珍惜时光,不顾风雨,日夜兼程。
2018,我们继续~~
使用gradle构建项目,项目源码在gitHub上。生成的底层jar包要上传到远程maven仓库。
花了几个小时终于搞定了,经历了好多坑,网上没有很详细的说明,那我来把过程分享一下。
HttpClient使用场景很多,基本都会用到。这次好好整理了一下,也更新了一些被废弃的方法。
贴出一些实例和说明,具体的代码可以参看:https://github.com/kengdingxiaoman/orca-common-utils/blob/master/src/main/java/com/orca/common/utils/server/
为了通用性,所以写的可扩展了些。
日志是我们每个工程都会用到的,现在用的都是sfl4j,本篇文章总结下为什么使用slf4j?
具体的原因请参考这篇文章:http://www.importnew.com/7450.html
总结下来,有以下几个原因:
使用slf4j相当于只是说明这里会打印日志,但具体使用什么日志框架和什么日志规范,完全不用操心,由具体使用的人来决定。
例如如果你引用了spring, mybatis等,如果他们都使用的是slf4j,那么具体是什么日志框架,打印出的日志格式是怎样的,完全由你自己来决定。
但如果spring用了log4j, mybatis用了logback,那样你就麻烦了,你需要定义两个日志框架和配置。
这是最重要的一点,相当于是解耦。可以把slf4j看作是一个接口,定义了规范,至于具体是使用log4j还是logback等,要看具体的使用者使用了什么日志框架
这对开发开源框架是很有用的,开源的框架就使用slf4j就可以了,具体使用什么日志框架,由用到框架的人来决定,这对双方来说都是好的。
slf4j去除了检查isDebugEnabled()等,提高了代码的可读性,也简化了代码
原先代码是这样的:
1 | if (logger.isDebugEnabled()) { |
使用slf4j,那不用关心目前日志是什么级别的,因为slf4j内部已经进行了这方面的判断,大大简化了代码
slf4j提供了占位符的方法,这个大大简化了写日志的复杂性
原先如果日志中要增加参数,那都需要拼接,例如:
1 | logger.info("The info is: fileName is " + fileName + ", fileType is : " + fileType); |
使用slf4j,可以这样做:
1 | logger.info("The info is: fileName is {}, fileType is {}", fileName, fileType); |
slf4j是延迟构建日志信息的,所以如果不符合当时日志的级别,那么日志信息是不会进行拼接的
因为第2点和第3点,slf4j在内部判断了日志级别,又是提供占位符的方法,而不是直接拼接字符串,所以如果不符合当时的日志级别,
那么参数都不会在内部生成最终的字符串,显然这样降低一些性能。
模拟卫士通加密机—SJL05,具体工程:https://github.com/kengdingxiaoman/hmsmock
用于POS交易时本地调试使用,线上环境使用的是加密机,但一般都对IP会有限制,所以本地调试时无法使用加密机
hmsmock编译成jar包后,可以本地启动,启动后会模拟加密机,只需把加密机的地址和端口改为hmsmock
关于 Spring Boot 多数据源的配置网上已经很多了,就不赘述了,讲下遇到的坑以及结合 HikariCP 时的设置。
17年一共看了8本书,有些少,惭愧惭愧,虽说比16年有所进步,但显然还远远不够。
8本书中有关于成长的,散文的,历史的,但唯独没有专业相关的,这点在18年要好好改正。
17年一个显著的变化是开始买电子书来看了。一来有些书看了一遍,很难再有机缘看第二遍了,放着也占空间;二来 kindle 的效果也很不错,而且电子书也便宜些。