MySQL恶心的周跨年问题

刚过完元旦就遇到了让人恶心的bug,都还没有从朋友圈狗粮阴影里出来,😒。先记录一下吧,防止以后会遇到相似的bug。之前负责公司的一个运营平台,里面有一个周统计任务,每周统计一下服务的使用量。我采用的思路就是将使用记录的创建时间用weekofyear以及year分别获取记录的周以及年,然后用group by分组统计。

weekofyear获取的是一年中的第几周,year获取的是时间的年分

这样处理的问题大多数情况下都是没有问题的,但是在特殊情况下就会出现问题,比如说周跨年,就是说一年中的最后一个周的七天可能包含两年,类似19年最后一周就是,19年12月30日~20年的1月5日。那么在遇到这种情况怎么样才能在尽量不改动业务的情况下修复这个问题呢,其实也很简单,使用YEARWEEK函数,这个函数有两个参数,具体的解释可以看这篇博客,这个函数的效果就是不管是20191230还是20200105这中间哪个时间段都可以达到输出一样的结果,拿到这个结果之后对其进行切割,用left以及right函数就可以分别获取周和年,在最小改动业务的情况下完美的解决了这个bug,😌

阅读全文 »

说一下NexT主题

NexT主题是copy自hexo-theme-next,目前gridea主题市场上的主题数量不是很多,当时决定使用gridea作为以后的写作工具时就想着写一款主题,如果从设计开始着手,肯定不太现实,自己也不是那块料。所以就从hexo市场了找了一款主题,NexT主题的简单风格是我最喜欢的点,我觉得博客就是一个技术交流的平台没有必要弄的太炫,当然萝卜青菜各有所爱,自己喜欢就好😜,所以最终决定copy一下NexT。本来以为只要将主题开发出来就行了,可是当真正有用户在使用自己的产品时候又是另一种情景,经常是一旦出现了bug就加班加点的修复,虽然累一点,但是反而快乐了许多。最后我会尽我最大的努力来维护以及开发,希望大家也能用的开心✊

阅读全文 »

Redis常考面试题

前段时间学习了一下redis,并且也做了些学习笔记,刚过一周的时候,就已经忘得一干二净,实在是惭愧啊。不过唯一的安慰就是当时的笔记灵感都记录下来了,尤其是难点都做了详细的笔记。本来准备过段时间再回顾一下,今天同事丢了本redis面试题给我,大概看了下,基本上前段时间看的内容都有提到,所以就准备将这些面试题和我之前做的笔记结合起来做一个回忆索引。

阅读全文 »

Kafka初识

第一次听到kafka还是在17年实习的时候,当时在一家外包公司,没错就是外包,不过后来呆了半个月就离职了。当时接触的是一个电信外包项目,主要是基于大数据做一个端到端的监控平台,还是实习的我第一次听到了kafka这个名字,不过由于那时还只是一个打酱油的实习生再加上并没有待多长时间,就没有深入了解它,来到第二家公司后再一次听见kafka,当时是一家做数字货币交易所的,就是类似比特币的虚拟货币,当时有一个OCR的实名认证接口需要用到kafka做异步,不过很可惜的是18年暴雷,公司资金链断裂开始裁员,转正还没一个月的我就又失业了。之后第三次入职,是一家做风控的创业公司,当时让我负责计费系统的设计,后来经过一系列插曲,又再次接触到了kafka,至此开始真正接触它了解它。现在准备把kafka系统性的学习一遍。

记得在第二家公司还发生过一个小插曲,当时一个开发人员在往kafka发送完消息之后,消费者无法消费到消息,最后找到CTO来解决,还被训了一顿,问题是因为当时那个开发人员在本地开了一个消费端,当消息发送到kafka后,被本地的消费了,开发环境没有消费到。这是个很常见的小问题,相信很多开发者都遇见过,不过不知道你们有没有被CTO给训一顿😂

阅读全文 »