数据库查询的时区问题
需求
BI系统需要查询北京时间的某一天内公司所有设备激活记录,而数据库中记录的激活时间都是0时区的,系统需要不管在本地(GMT+8)还是服务器(GMT+0)上,都能准确查询导数据。
思路
首先我们需要得到北京时间某一天的起始时间和结束时间的时间戳:
|
|
然后使用该时间戳区间编写mysql语句,值得注意的是,因为程序会自动把时间戳转化成字符串格式的时期去数据库进行比较,而这个转换是根据系统时区进行的,也就是说在本地和在服务器,转换出来的时间会差8个小时。所以需要根据当前系统的时区,对时间戳作调整:
|
|
Java8 stream 中利用 groupingBy 进行多字段分组求和
从简单入手
Stream 作为 Java 8 的一大亮点,好比一个高级的迭代器(Iterator),单向,不可往复,数据只能遍历一次,遍历过一次后即用尽了,就好比流水从面前流过,一去不复返。
我们可以利用stream对数据进行分组并求和。示例如下:
|
|
输出如下:
|
|
Beautiful Soup 文档搜索方法(find_all find)中 text 参数的局限与解决方法
find_all方法介绍
find_all( name , attrs , recursive , text , **kwargs )
find_all() 方法搜索当前tag的所有tag子节点,并判断是否符合过滤器的条件。具体请看官方文档
其中,对于text参数的介绍如下:
通过 text 参数可以搜搜文档中的字符串内容和tag。与 name 参数的可选值一样, text 参数接受 字符串 、 正则表达式 、 列表、 True 。 看例子:
|
|
Beautiful Soup 采坑之旅
像我这样的人 不配有人心疼
反正就是在一个不太想学习的下午,觉得手机可用容量越来越小,遂想删掉点手机里的照片,于是花了一下午时间翻看了四年来手机里存的所有截图,看到最多的就是我截的无数张聊天记录。一开始就只是觉得这些聊天记录都挺搞笑的,直到我发现那些聊天的对象,几乎都被我弄丢了。
我突然意识到给聊天记录截图这个习惯的意义了,如果把好友删了,聊天记录就没有了,但截图是不会丢的。也许我早就清楚自己是个丢三落四的人,甚至会把朋友弄丢,所以才有了这个截图的习惯吧。
正则表达式的贪婪匹配与非贪婪匹配
情景
之前写过一个简单的爬虫,每天获取公司insgtagram主页的粉丝数用来进行粉丝趋势的展示。代码很简单就是通过获取主页源代码后用正则表达式匹配其中的一串json数据,再用python的json解析库进行解析,从中获取粉丝数。
然而昨天这个爬虫报错了,我重新看了一下ins主页的网页源代码,发现其中增加了一段内容,这段内容正好被我匹配进去了。经过思考显而易见,这是贪婪匹配的问题。
【转载】时间就是一段路的小偷 by Allen Yin
当穆里奇以梅开二度宣告自己四年后的回归,当博尔特用一个深情的吻告别征战多年的第四跑道,当鲁尼用一脚世界波攻入自己第二段埃弗顿生涯的进球,时间仿佛静止。四年,十年,十四年,我们总说时光走的太快,回过头来还是年少时的样子。